R package for downloading OpenStreetMap data
1---
2title: "osmdata, an R package for OpenStreetMap data"
3keywords: "open street map, openstreetmap, overpass API, OSM"
4output:
5 rmarkdown::html_vignette:
6 self_contained: no
7
8 md_document:
9 variant: gfm
10---
11
12<!-- README.md is generated from README.Rmd. Please edit that file -->
13
14```{r opts, echo = FALSE}
15knitr::opts_chunk$set (
16 collapse = TRUE,
17 warning = TRUE,
18 message = TRUE,
19 width = 120,
20 comment = "#>",
21 fig.retina = 2,
22 fig.path = "README-"
23)
24```
25
26
27# osmdata <a href='https://docs.ropensci.org/osmdata/'><img src='man/figures/logo.png' align="right" height=210 width=182/></a>
28
29
30
31<!-- badges: start -->
32
33[](https://github.com/ropensci/osmdata/actions/workflows/R-CMD-check.yaml)
34[](https://app.codecov.io/gh/ropensci/osmdata)
35[](https://www.repostatus.org/#active)
36[](https://cran.r-project.org/package=osmdata/)
37[](https://cran.r-project.org/package=osmdata)
38
39<!---->
40
41[](https://github.com/ropensci/software-review/issues/103)
42[](https://joss.theoj.org/papers/10.21105/joss.00305)
43
44<!-- badges: end -->
45
46
47`osmdata` is an R package for accessing the data underlying OpenStreetMap
48(OSM), delivered via the [Overpass
49API](https://wiki.openstreetmap.org/wiki/Overpass_API). (Other packages such
50as
51[`OpenStreetMap`](https://cran.r-project.org/package=OpenStreetMap)
52can be used to download raster tiles based on OSM data.)
53[Overpass](https://overpass-turbo.eu) is a read-only API that extracts custom
54selected parts of OSM data. Data can be returned in a variety of formats,
55including as [Simple Features (`sf`)](https://cran.r-project.org/package=sf),
56[Spatial (`sp`)](https://cran.r-project.org/package=sp), or [Silicate
57(`sc`)](https://github.com/hypertidy/silicate) objects. The package is designed
58to allow access to small-to-medium-sized OSM datasets (see
59[`osmextract`](https://github.com/ropensci/osmextract) for an approach for
60reading-in bulk OSM data extracts).
61
62
63## Source code and installation
64
65To install latest CRAN version:
66```{r cran-install, eval=FALSE}
67install.packages ("osmdata")
68```
69Alternatively, install the development version with any one of the following
70options:
71```{r remotes, eval = FALSE}
72# install.packages("remotes")
73remotes::install_github ("ropensci/osmdata")
74remotes::install_git ("https://codeberg.org/ropensci/osmdata")
75remotes::install_gitlab ("ropensci/osmdata")
76remotes::install_git ("https://git.sr.ht/~mpadge/osmdata")
77```
78
79These reflect the four locations at which the source code of this package is
80currently hosted:
81
82- https://github.com/ropensci/osmdata
83- https://codeberg.org/ropensci/osmdata
84- https://gitlab.com/ropensci/osmdata
85- https://git.sr.ht/~mpadge/osmdata
86
87The first of these, [github.com/ropensci/osmdata](https://github.com/ropensci/osmdata), is currently the primary location for the source code, and any questions or suggestions should preferably be directed there, although we will also respond to comments or issues on any of the other platforms.
88
89To load the package and check the version:
90```{r, eval=TRUE}
91library (osmdata)
92packageVersion ("osmdata")
93```
94
95## Usage
96
97[Overpass API](https://wiki.openstreetmap.org/wiki/Overpass_API) queries can be
98built from a base query constructed with `opq` followed by `add_osm_feature`. The
99corresponding OSM objects are then downloaded and converted to [Simple
100Feature (`sf`)](https://cran.r-project.org/package=sf) objects with
101`osmdata_sf()`, [Spatial (`sp`)](https://cran.r-project.org/package=sp)
102objects with `osmdata_sp()` (DEPRECATED) or [Silicate (`sc`)](https://github.com/hypertidy/silicate)
103objects with `osmdata_sc()`. For example,
104
105```{r query-thames, eval=FALSE}
106x <- opq (bbox = c (-0.27, 51.47, -0.20, 51.50)) |> # Chiswick Eyot in London, U.K.
107 add_osm_feature (key = "name", value = "Thames", value_exact = FALSE) |>
108 osmdata_sf ()
109x
110```
111```{r, echo=FALSE}
112msg <- c (
113 "Object of class 'osmdata' with:\n",
114 " $bbox : 51.47,-0.27,51.5,-0.2\n",
115 " $overpass_call : The call submitted to the overpass API\n",
116 " $meta : metadata including timestamp and version numbers\n",
117 " $osm_points : 'sf' Simple Features Collection with 24548 points\n",
118 " $osm_lines : 'sf' Simple Features Collection with 2219 linestrings\n",
119 " $osm_polygons : 'sf' Simple Features Collection with 33 polygons\n",
120 " $osm_multilines : 'sf' Simple Features Collection with 6 multilinestrings\n",
121 " $osm_multipolygons : 'sf' Simple Features Collection with 3 multipolygons"
122)
123message (msg)
124```
125
126OSM data can also be downloaded in OSM XML format with `osmdata_xml()` and saved
127for use with other software.
128
129```r
130osmdata_xml(q1, "data.osm")
131```
132
133### Bounding Boxes
134
135All `osmdata` queries begin with a bounding box defining the area of the query.
136The [`getbb()`
137function](https://docs.ropensci.org/osmdata/reference/getbb.html) can be used
138to extract bounding boxes for specified place names.
139```{r getbb-astana}
140getbb ("astana kazakhstan")
141```
142The next step is to convert that to an overpass query object with the [`opq()`
143function](https://docs.ropensci.org/osmdata/reference/opq.html):
144```{r opq}
145q <- opq (getbb ("astana kazakhstan"))
146q <- opq ("astana kazakhstan") # identical result
147```
148It is also possible to use bounding polygons rather than rectangular boxes:
149```{r getbb-haines}
150b <- getbb ("bangalore", format_out = "polygon")
151class (b)
152str (b)
153```
154
155### Features
156
157The next step is to define features of interest using the [`add_osm_feature()`
158function](https://docs.ropensci.org/osmdata/reference/add_osm_feature.html).
159This function accepts `key` and `value` parameters specifying desired features
160in the [OSM key-vale schema](https://wiki.openstreetmap.org/wiki/Map_Features).
161Multiple `add_osm_feature()` calls may be combined as illustrated below, with
162the result being a logical AND operation, thus returning all amenities that
163are labelled both as restaurants and also as pubs:
164```{r key-val1}
165q <- opq ("portsmouth usa") |>
166 add_osm_feature (key = "amenity", value = "restaurant") |>
167 add_osm_feature (key = "amenity", value = "pub") # There are none of these
168```
169
170Features can also be requested by key only, in which case features with any
171values for the specified key will be returned:
172```{r key-val2}
173q <- opq ("portsmouth usa") |>
174 add_osm_feature (key = "amenity")
175```
176Such key-only queries can, however, translate into requesting very large data
177sets, and should generally be avoided in favour of more precise key-value
178specifications.
179
180Negation can also be specified by pre-pending an exclamation mark so that the
181following requests all amenities that are NOT labelled as restaurants and that
182are not labelled as pubs:
183```{r key-val3}
184q <- opq ("portsmouth usa") |>
185 add_osm_feature (key = "amenity", value = "!restaurant") |>
186 add_osm_feature (key = "amenity", value = "!pub") # There are a lot of these
187```
188
189Additional arguments allow for more refined matching, such as the following
190request for all pubs with "irish" in the name:
191```{r key-val4}
192q <- opq ("washington dc") |>
193 add_osm_feature (key = "amenity", value = "pub") |>
194 add_osm_feature (
195 key = "name", value = "irish",
196 value_exact = FALSE, match_case = FALSE
197 )
198```
199
200Logical OR combinations can be constructed using the separate
201[`add_osm_features()`
202function](https://docs.ropensci.org/osmdata/reference/add_osm_features.html).
203The first of the above examples requests all features that are both restaurants
204AND pubs. The following query will request data on restaurants OR pubs:
205
206```{r features}
207q <- opq ("portsmouth usa") |>
208 add_osm_features (features = c (
209 "\"amenity\"=\"restaurant\"",
210 "\"amenity\"=\"pub\""
211 ))
212```
213
214The vector of `features` contains key-value pairs separated by an [overpass
215"filter"
216symbol](https://wiki.openstreetmap.org/wiki/Overpass_API/Overpass_QL#By_tag_.28has-kv.29)
217such as `=`, `!=`, or `~`. Each key and value must be enclosed in
218escape-delimited quotations as shown above.
219
220Full lists of available features and corresponding tags are available in the functions
221[`?available_features`](https://docs.ropensci.org/osmdata/reference/available_features.html)
222and
223[`?available_tags`](https://docs.ropensci.org/osmdata/reference/available_tags.html).
224
225
226### Data Formats
227
228An overpass query constructed with the `opq()` and `add_osm_feature()`
229functions is then sent to the [overpass server](https://overpass-turbo.eu) to
230request data. These data may be returned in a variety of formats, currently
231including:
232
2331. XML data (downloaded locally) via
234 [`osmdata_xml()`](https://docs.ropensci.org/osmdata/reference/osmdata_xml.html);
2352. [Simple Features (sf)](https://cran.r-project.org/package=sf) format via
236 [`osmdata_sf()`](https://docs.ropensci.org/osmdata/reference/osmdata_sf.html);
2373. [R Spatial (sp)](https://cran.r-project.org/package=sp) format via
238 [`osmdata_sp()`](https://docs.ropensci.org/osmdata/reference/osmdata_sp.html) (DEPRECATED);
2394. [Silicate (SC)](https://github.com/hypertidy/silicate) format via
240 [`osmdata_sc()`](https://docs.ropensci.org/osmdata/reference/osmdata_sc.html);
241 and
2425. `data.frame` format via
243 [`osmdata_data_frame()`](https://docs.ropensci.org/osmdata/reference/osmdata_data_frame.html).
244
245
246### Additional Functionality {#additional}
247
248
249Data may also be trimmed to within a defined polygonal shape with the
250[`trim_osmdata()`](https://docs.ropensci.org/osmdata/reference/trim_osmdata.html)
251function. Full package functionality is described on the
252[website](https://docs.ropensci.org/osmdata/)
253
254
255## Citation
256
257```{r}
258citation ("osmdata")
259```
260
261## Data licensing
262
263All data that you access using `osmdata` is licensed under
264[OpenStreetMap's license, the Open Database Licence](https://osmfoundation.org/wiki/Licence).
265Any derived data and products must also carry the same licence. You should make
266sure you understand that licence before publishing any derived datasets.
267
268## Other approaches
269
270<!-- todo: add links to other packages -->
271- [osmextract](https://docs.ropensci.org/osmextract/) is an R package for downloading and importing compressed 'extracts' of OSM data covering large areas (e.g. all roads in a country).
272The package represents data in [`sf`](https://github.com/r-spatial/sf) format only, and only allows a single "layer" (such as points, lines, or polygons) to be read at one time.
273It is nevertheless recommended over osmdata for large queries of single layers, or where relationships between layers are not important.
274
275- [osmapiR](https://docs.ropensci.org/osmapiR/) is an R interface to the [OpenStreetMap API v0.6](https://wiki.openstreetmap.org/wiki/API_v0.6) for fetching and saving raw geodata from/to the OpenStreetMap database.
276This package allows access to OSM maps data as well as map notes, GPS traces, changelogs, and users data.
277`osmapiR` enables editing or exploring the history of OSM objects, and is not intended to access OSM map data for other purposes (unlike the osmdata or osmextract packages).
278
279
280## Code of Conduct
281
282Please note that this package is released with a [Contributor Code of
283Conduct](https://ropensci.org/code-of-conduct/). By contributing to this
284project, you agree to abide by its terms.
285
286## Contributors
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303<!-- ALL-CONTRIBUTORS-LIST:START - Do not remove or modify this section -->
304<!-- prettier-ignore-start -->
305<!-- markdownlint-disable -->
306
307All contributions to this project are gratefully acknowledged using the [`allcontributors` package](https://github.com/ropensci/allcontributors) following the [allcontributors](https://allcontributors.org) specification. Contributions of any kind are welcome!
308
309### Code
310
311<table>
312
313<tr>
314<td align="center">
315<a href="https://github.com/mpadge">
316<img src="https://avatars.githubusercontent.com/u/6697851?v=4" width="100px;" alt=""/>
317</a><br>
318<a href="https://github.com/ropensci/osmdata/commits?author=mpadge">mpadge</a>
319</td>
320<td align="center">
321<a href="https://github.com/jmaspons">
322<img src="https://avatars.githubusercontent.com/u/102644?v=4" width="100px;" alt=""/>
323</a><br>
324<a href="https://github.com/ropensci/osmdata/commits?author=jmaspons">jmaspons</a>
325</td>
326<td align="center">
327<a href="https://github.com/Robinlovelace">
328<img src="https://avatars.githubusercontent.com/u/1825120?v=4" width="100px;" alt=""/>
329</a><br>
330<a href="https://github.com/ropensci/osmdata/commits?author=Robinlovelace">Robinlovelace</a>
331</td>
332<td align="center">
333<a href="https://github.com/hrbrmstr">
334<img src="https://avatars.githubusercontent.com/u/509878?v=4" width="100px;" alt=""/>
335</a><br>
336<a href="https://github.com/ropensci/osmdata/commits?author=hrbrmstr">hrbrmstr</a>
337</td>
338<td align="center">
339<a href="https://github.com/virgesmith">
340<img src="https://avatars.githubusercontent.com/u/19323577?v=4" width="100px;" alt=""/>
341</a><br>
342<a href="https://github.com/ropensci/osmdata/commits?author=virgesmith">virgesmith</a>
343</td>
344<td align="center">
345<a href="https://github.com/maelle">
346<img src="https://avatars.githubusercontent.com/u/8360597?v=4" width="100px;" alt=""/>
347</a><br>
348<a href="https://github.com/ropensci/osmdata/commits?author=maelle">maelle</a>
349</td>
350<td align="center">
351<a href="https://github.com/elipousson">
352<img src="https://avatars.githubusercontent.com/u/931136?v=4" width="100px;" alt=""/>
353</a><br>
354<a href="https://github.com/ropensci/osmdata/commits?author=elipousson">elipousson</a>
355</td>
356</tr>
357
358
359<tr>
360<td align="center">
361<a href="https://github.com/agila5">
362<img src="https://avatars.githubusercontent.com/u/22221146?v=4" width="100px;" alt=""/>
363</a><br>
364<a href="https://github.com/ropensci/osmdata/commits?author=agila5">agila5</a>
365</td>
366<td align="center">
367<a href="https://github.com/espinielli">
368<img src="https://avatars.githubusercontent.com/u/891692?v=4" width="100px;" alt=""/>
369</a><br>
370<a href="https://github.com/ropensci/osmdata/commits?author=espinielli">espinielli</a>
371</td>
372<td align="center">
373<a href="https://github.com/idshklein">
374<img src="https://avatars.githubusercontent.com/u/12258810?v=4" width="100px;" alt=""/>
375</a><br>
376<a href="https://github.com/ropensci/osmdata/commits?author=idshklein">idshklein</a>
377</td>
378<td align="center">
379<a href="https://github.com/anthonynorth">
380<img src="https://avatars.githubusercontent.com/u/391385?v=4" width="100px;" alt=""/>
381</a><br>
382<a href="https://github.com/ropensci/osmdata/commits?author=anthonynorth">anthonynorth</a>
383</td>
384<td align="center">
385<a href="https://github.com/jeroen">
386<img src="https://avatars.githubusercontent.com/u/216319?v=4" width="100px;" alt=""/>
387</a><br>
388<a href="https://github.com/ropensci/osmdata/commits?author=jeroen">jeroen</a>
389</td>
390<td align="center">
391<a href="https://github.com/neogeomat">
392<img src="https://avatars.githubusercontent.com/u/2562658?v=4" width="100px;" alt=""/>
393</a><br>
394<a href="https://github.com/ropensci/osmdata/commits?author=neogeomat">neogeomat</a>
395</td>
396<td align="center">
397<a href="https://github.com/ec-nebi">
398<img src="https://avatars.githubusercontent.com/u/48711241?v=4" width="100px;" alt=""/>
399</a><br>
400<a href="https://github.com/ropensci/osmdata/commits?author=ec-nebi">ec-nebi</a>
401</td>
402</tr>
403
404
405<tr>
406<td align="center">
407<a href="https://github.com/Tazinho">
408<img src="https://avatars.githubusercontent.com/u/11295192?v=4" width="100px;" alt=""/>
409</a><br>
410<a href="https://github.com/ropensci/osmdata/commits?author=Tazinho">Tazinho</a>
411</td>
412<td align="center">
413<a href="https://github.com/odeleongt">
414<img src="https://avatars.githubusercontent.com/u/1044835?v=4" width="100px;" alt=""/>
415</a><br>
416<a href="https://github.com/ropensci/osmdata/commits?author=odeleongt">odeleongt</a>
417</td>
418<td align="center">
419<a href="https://github.com/Mashin6">
420<img src="https://avatars.githubusercontent.com/u/5265707?v=4" width="100px;" alt=""/>
421</a><br>
422<a href="https://github.com/ropensci/osmdata/commits?author=Mashin6">Mashin6</a>
423</td>
424<td align="center">
425<a href="https://github.com/angela-li">
426<img src="https://avatars.githubusercontent.com/u/15808896?v=4" width="100px;" alt=""/>
427</a><br>
428<a href="https://github.com/ropensci/osmdata/commits?author=angela-li">angela-li</a>
429</td>
430<td align="center">
431<a href="https://github.com/rgzn">
432<img src="https://avatars.githubusercontent.com/u/1675905?v=4" width="100px;" alt=""/>
433</a><br>
434<a href="https://github.com/ropensci/osmdata/commits?author=rgzn">rgzn</a>
435</td>
436<td align="center">
437<a href="https://github.com/fzenoni">
438<img src="https://avatars.githubusercontent.com/u/6040873?v=4" width="100px;" alt=""/>
439</a><br>
440<a href="https://github.com/ropensci/osmdata/commits?author=fzenoni">fzenoni</a>
441</td>
442<td align="center">
443<a href="https://github.com/stragu">
444<img src="https://avatars.githubusercontent.com/u/1747497?v=4" width="100px;" alt=""/>
445</a><br>
446<a href="https://github.com/ropensci/osmdata/commits?author=stragu">stragu</a>
447</td>
448</tr>
449
450
451<tr>
452<td align="center">
453<a href="https://github.com/patperu">
454<img src="https://avatars.githubusercontent.com/u/82020?v=4" width="100px;" alt=""/>
455</a><br>
456<a href="https://github.com/ropensci/osmdata/commits?author=patperu">patperu</a>
457</td>
458<td align="center">
459<a href="https://github.com/MHenderson">
460<img src="https://avatars.githubusercontent.com/u/23988?v=4" width="100px;" alt=""/>
461</a><br>
462<a href="https://github.com/ropensci/osmdata/commits?author=MHenderson">MHenderson</a>
463</td>
464<td align="center">
465<a href="https://github.com/karthik">
466<img src="https://avatars.githubusercontent.com/u/138494?v=4" width="100px;" alt=""/>
467</a><br>
468<a href="https://github.com/ropensci/osmdata/commits?author=karthik">karthik</a>
469</td>
470<td align="center">
471<a href="https://github.com/jlacko">
472<img src="https://avatars.githubusercontent.com/u/29260421?v=4" width="100px;" alt=""/>
473</a><br>
474<a href="https://github.com/ropensci/osmdata/commits?author=jlacko">jlacko</a>
475</td>
476<td align="center">
477<a href="https://github.com/JimShady">
478<img src="https://avatars.githubusercontent.com/u/2901470?v=4" width="100px;" alt=""/>
479</a><br>
480<a href="https://github.com/ropensci/osmdata/commits?author=JimShady">JimShady</a>
481</td>
482<td align="center">
483<a href="https://github.com/dpprdan">
484<img src="https://avatars.githubusercontent.com/u/1423562?v=4" width="100px;" alt=""/>
485</a><br>
486<a href="https://github.com/ropensci/osmdata/commits?author=dpprdan">dpprdan</a>
487</td>
488<td align="center">
489<a href="https://github.com/danstowell">
490<img src="https://avatars.githubusercontent.com/u/202965?v=4" width="100px;" alt=""/>
491</a><br>
492<a href="https://github.com/ropensci/osmdata/commits?author=danstowell">danstowell</a>
493</td>
494</tr>
495
496
497<tr>
498<td align="center">
499<a href="https://github.com/ccamara">
500<img src="https://avatars.githubusercontent.com/u/706549?v=4" width="100px;" alt=""/>
501</a><br>
502<a href="https://github.com/ropensci/osmdata/commits?author=ccamara">ccamara</a>
503</td>
504<td align="center">
505<a href="https://github.com/brry">
506<img src="https://avatars.githubusercontent.com/u/8860095?v=4" width="100px;" alt=""/>
507</a><br>
508<a href="https://github.com/ropensci/osmdata/commits?author=brry">brry</a>
509</td>
510<td align="center">
511<a href="https://github.com/arfon">
512<img src="https://avatars.githubusercontent.com/u/4483?v=4" width="100px;" alt=""/>
513</a><br>
514<a href="https://github.com/ropensci/osmdata/commits?author=arfon">arfon</a>
515</td>
516<td align="center">
517<a href="https://github.com/karpfen">
518<img src="https://avatars.githubusercontent.com/u/11758039?v=4" width="100px;" alt=""/>
519</a><br>
520<a href="https://github.com/ropensci/osmdata/commits?author=karpfen">karpfen</a>
521</td>
522</tr>
523
524</table>
525
526
527### Issue Authors
528
529<table>
530
531<tr>
532<td align="center">
533<a href="https://github.com/sytpp">
534<img src="https://avatars.githubusercontent.com/u/8035937?u=8efe7a4f4c3088bb35974e7488950c25658693ae&v=4" width="100px;" alt=""/>
535</a><br>
536<a href="https://github.com/ropensci/osmdata/issues?q=is%3Aissue+author%3Asytpp">sytpp</a>
537</td>
538<td align="center">
539<a href="https://github.com/niklaas">
540<img src="https://avatars.githubusercontent.com/u/705637?u=9ef0f501320a5b1466a00d542a07ec7384dd41dc&v=4" width="100px;" alt=""/>
541</a><br>
542<a href="https://github.com/ropensci/osmdata/issues?q=is%3Aissue+author%3Aniklaas">niklaas</a>
543</td>
544<td align="center">
545<a href="https://github.com/RoyalTS">
546<img src="https://avatars.githubusercontent.com/u/702580?u=e7d21835a6f7ba3a2f1ea7a573266708d62b1af7&v=4" width="100px;" alt=""/>
547</a><br>
548<a href="https://github.com/ropensci/osmdata/issues?q=is%3Aissue+author%3ARoyalTS">RoyalTS</a>
549</td>
550<td align="center">
551<a href="https://github.com/lrob">
552<img src="https://avatars.githubusercontent.com/u/1830221?v=4" width="100px;" alt=""/>
553</a><br>
554<a href="https://github.com/ropensci/osmdata/issues?q=is%3Aissue+author%3Alrob">lrob</a>
555</td>
556<td align="center">
557<a href="https://github.com/mem48">
558<img src="https://avatars.githubusercontent.com/u/15819577?u=0c128db4e7567656c23e83e4314111fcea424526&v=4" width="100px;" alt=""/>
559</a><br>
560<a href="https://github.com/ropensci/osmdata/issues?q=is%3Aissue+author%3Amem48">mem48</a>
561</td>
562<td align="center">
563<a href="https://github.com/beingalink">
564<img src="https://avatars.githubusercontent.com/u/871741?v=4" width="100px;" alt=""/>
565</a><br>
566<a href="https://github.com/ropensci/osmdata/issues?q=is%3Aissue+author%3Abeingalink">beingalink</a>
567</td>
568<td align="center">
569<a href="https://github.com/yaakovfeldman">
570<img src="https://avatars.githubusercontent.com/u/17687145?v=4" width="100px;" alt=""/>
571</a><br>
572<a href="https://github.com/ropensci/osmdata/issues?q=is%3Aissue+author%3Ayaakovfeldman">yaakovfeldman</a>
573</td>
574</tr>
575
576
577<tr>
578<td align="center">
579<a href="https://github.com/gregor-d">
580<img src="https://avatars.githubusercontent.com/u/33283245?u=3d70f9d18b0be2c20cf08a9c7d51353797d61208&v=4" width="100px;" alt=""/>
581</a><br>
582<a href="https://github.com/ropensci/osmdata/issues?q=is%3Aissue+author%3Agregor-d">gregor-d</a>
583</td>
584<td align="center">
585<a href="https://github.com/gregmacfarlane">
586<img src="https://avatars.githubusercontent.com/u/2234830?u=954f7029df0417634df181e7a27c5e163ebc8c6d&v=4" width="100px;" alt=""/>
587</a><br>
588<a href="https://github.com/ropensci/osmdata/issues?q=is%3Aissue+author%3Agregmacfarlane">gregmacfarlane</a>
589</td>
590<td align="center">
591<a href="https://github.com/legengliu">
592<img src="https://avatars.githubusercontent.com/u/7606454?v=4" width="100px;" alt=""/>
593</a><br>
594<a href="https://github.com/ropensci/osmdata/issues?q=is%3Aissue+author%3Alegengliu">legengliu</a>
595</td>
596<td align="center">
597<a href="https://github.com/mtennekes">
598<img src="https://avatars.githubusercontent.com/u/2444081?u=f23eed4be015f25b0a0111f580c05088b5155225&v=4" width="100px;" alt=""/>
599</a><br>
600<a href="https://github.com/ropensci/osmdata/issues?q=is%3Aissue+author%3Amtennekes">mtennekes</a>
601</td>
602<td align="center">
603<a href="https://github.com/lbuk">
604<img src="https://avatars.githubusercontent.com/u/7860160?u=d118fff4f86b8088c9a442cd3240af93cf2f60ec&v=4" width="100px;" alt=""/>
605</a><br>
606<a href="https://github.com/ropensci/osmdata/issues?q=is%3Aissue+author%3Albuk">lbuk</a>
607</td>
608<td align="center">
609<a href="https://github.com/prokulski">
610<img src="https://avatars.githubusercontent.com/u/19608488?u=6262849a1ad7d194a34483b23e94d8cc5b4d61ca&v=4" width="100px;" alt=""/>
611</a><br>
612<a href="https://github.com/ropensci/osmdata/issues?q=is%3Aissue+author%3Aprokulski">prokulski</a>
613</td>
614<td align="center">
615<a href="https://github.com/waholulu">
616<img src="https://avatars.githubusercontent.com/u/2868000?v=4" width="100px;" alt=""/>
617</a><br>
618<a href="https://github.com/ropensci/osmdata/issues?q=is%3Aissue+author%3Awaholulu">waholulu</a>
619</td>
620</tr>
621
622
623<tr>
624<td align="center">
625<a href="https://github.com/ibarraespinosa">
626<img src="https://avatars.githubusercontent.com/u/27447280?u=b693a01a01dc14ec2a45765fb074490af40d6e4a&v=4" width="100px;" alt=""/>
627</a><br>
628<a href="https://github.com/ropensci/osmdata/issues?q=is%3Aissue+author%3Aibarraespinosa">ibarraespinosa</a>
629</td>
630<td align="center">
631<a href="https://github.com/tbuckl">
632<img src="https://avatars.githubusercontent.com/u/98956?u=9580c2ee3c03cbbe44ac8180b0f6a6725b0415f0&v=4" width="100px;" alt=""/>
633</a><br>
634<a href="https://github.com/ropensci/osmdata/issues?q=is%3Aissue+author%3Atbuckl">tbuckl</a>
635</td>
636<td align="center">
637<a href="https://github.com/morellek">
638<img src="https://avatars.githubusercontent.com/u/38642291?v=4" width="100px;" alt=""/>
639</a><br>
640<a href="https://github.com/ropensci/osmdata/issues?q=is%3Aissue+author%3Amorellek">morellek</a>
641</td>
642<td align="center">
643<a href="https://github.com/mdsumner">
644<img src="https://avatars.githubusercontent.com/u/4107631?u=77e928f4bb904a5c2e8927a02194b86662408329&v=4" width="100px;" alt=""/>
645</a><br>
646<a href="https://github.com/ropensci/osmdata/issues?q=is%3Aissue+author%3Amdsumner">mdsumner</a>
647</td>
648<td align="center">
649<a href="https://github.com/michielvandijk">
650<img src="https://avatars.githubusercontent.com/u/5227806?u=956e61310e9c7ee08749ddb95458c571eafa76e3&v=4" width="100px;" alt=""/>
651</a><br>
652<a href="https://github.com/ropensci/osmdata/issues?q=is%3Aissue+author%3Amichielvandijk">michielvandijk</a>
653</td>
654<td align="center">
655<a href="https://github.com/loreabad6">
656<img src="https://avatars.githubusercontent.com/u/10034237?v=4" width="100px;" alt=""/>
657</a><br>
658<a href="https://github.com/ropensci/osmdata/issues?q=is%3Aissue+author%3Aloreabad6">loreabad6</a>
659</td>
660<td align="center">
661<a href="https://github.com/slow-data">
662<img src="https://avatars.githubusercontent.com/u/20839947?u=cd0522e56560daff7a7ed3bfedaa0ca6c85699f2&v=4" width="100px;" alt=""/>
663</a><br>
664<a href="https://github.com/ropensci/osmdata/issues?q=is%3Aissue+author%3Aslow-data">slow-data</a>
665</td>
666</tr>
667
668
669<tr>
670<td align="center">
671<a href="https://github.com/mroorda">
672<img src="https://avatars.githubusercontent.com/u/41475296?v=4" width="100px;" alt=""/>
673</a><br>
674<a href="https://github.com/ropensci/osmdata/issues?q=is%3Aissue+author%3Amroorda">mroorda</a>
675</td>
676<td align="center">
677<a href="https://github.com/MiKatt">
678<img src="https://avatars.githubusercontent.com/u/19970683?u=1d21f231f6c2b14ce65c740014612d5e1e2ff080&v=4" width="100px;" alt=""/>
679</a><br>
680<a href="https://github.com/ropensci/osmdata/issues?q=is%3Aissue+author%3AMiKatt">MiKatt</a>
681</td>
682<td align="center">
683<a href="https://github.com/alanlzl">
684<img src="https://avatars.githubusercontent.com/u/15748113?v=4" width="100px;" alt=""/>
685</a><br>
686<a href="https://github.com/ropensci/osmdata/issues?q=is%3Aissue+author%3Aalanlzl">alanlzl</a>
687</td>
688<td align="center">
689<a href="https://github.com/PublicHealthDataGeek">
690<img src="https://avatars.githubusercontent.com/u/43342160?v=4" width="100px;" alt=""/>
691</a><br>
692<a href="https://github.com/ropensci/osmdata/issues?q=is%3Aissue+author%3APublicHealthDataGeek">PublicHealthDataGeek</a>
693</td>
694<td align="center">
695<a href="https://github.com/mgageo">
696<img src="https://avatars.githubusercontent.com/u/2681495?u=a98e4f2bcb64aa79f87f9e16029c8a0d3cd69768&v=4" width="100px;" alt=""/>
697</a><br>
698<a href="https://github.com/ropensci/osmdata/issues?q=is%3Aissue+author%3Amgageo">mgageo</a>
699</td>
700<td align="center">
701<a href="https://github.com/polettif">
702<img src="https://avatars.githubusercontent.com/u/17431069?u=757eac2821736acbb02e7c90b456411d256d5780&v=4" width="100px;" alt=""/>
703</a><br>
704<a href="https://github.com/ropensci/osmdata/issues?q=is%3Aissue+author%3Apolettif">polettif</a>
705</td>
706<td align="center">
707<a href="https://github.com/marcusyoung">
708<img src="https://avatars.githubusercontent.com/u/10391966?u=a2adfcee6f8890325987a1ef526578a6191a3605&v=4" width="100px;" alt=""/>
709</a><br>
710<a href="https://github.com/ropensci/osmdata/issues?q=is%3Aissue+author%3Amarcusyoung">marcusyoung</a>
711</td>
712</tr>
713
714
715<tr>
716<td align="center">
717<a href="https://github.com/barryrowlingson">
718<img src="https://avatars.githubusercontent.com/u/888980?v=4" width="100px;" alt=""/>
719</a><br>
720<a href="https://github.com/ropensci/osmdata/issues?q=is%3Aissue+author%3Abarryrowlingson">barryrowlingson</a>
721</td>
722<td align="center">
723<a href="https://github.com/ChrisWoodsSays">
724<img src="https://avatars.githubusercontent.com/u/42043980?u=4a06c6ac41bfacc2897cd84c6a8114ae1b53c717&v=4" width="100px;" alt=""/>
725</a><br>
726<a href="https://github.com/ropensci/osmdata/issues?q=is%3Aissue+author%3AChrisWoodsSays">ChrisWoodsSays</a>
727</td>
728<td align="center">
729<a href="https://github.com/daluna1">
730<img src="https://avatars.githubusercontent.com/u/60740817?v=4" width="100px;" alt=""/>
731</a><br>
732<a href="https://github.com/ropensci/osmdata/issues?q=is%3Aissue+author%3Adaluna1">daluna1</a>
733</td>
734<td align="center">
735<a href="https://github.com/khzannat26">
736<img src="https://avatars.githubusercontent.com/u/63047666?v=4" width="100px;" alt=""/>
737</a><br>
738<a href="https://github.com/ropensci/osmdata/issues?q=is%3Aissue+author%3Akhzannat26">khzannat26</a>
739</td>
740<td align="center">
741<a href="https://github.com/gdkrmr">
742<img src="https://avatars.githubusercontent.com/u/12512930?u=707403b80950281e091cfb9b278034842257e5df&v=4" width="100px;" alt=""/>
743</a><br>
744<a href="https://github.com/ropensci/osmdata/issues?q=is%3Aissue+author%3Agdkrmr">gdkrmr</a>
745</td>
746<td align="center">
747<a href="https://github.com/dipenpatel235">
748<img src="https://avatars.githubusercontent.com/u/8135097?u=57ce3616c4b1eb8928d0eb049d58866f7990e43c&v=4" width="100px;" alt=""/>
749</a><br>
750<a href="https://github.com/ropensci/osmdata/issues?q=is%3Aissue+author%3Adipenpatel235">dipenpatel235</a>
751</td>
752<td align="center">
753<a href="https://github.com/robitalec">
754<img src="https://avatars.githubusercontent.com/u/16324625?u=a7a98d4e17a14bf97383a5059ef4a079e15438d7&v=4" width="100px;" alt=""/>
755</a><br>
756<a href="https://github.com/ropensci/osmdata/issues?q=is%3Aissue+author%3Arobitalec">robitalec</a>
757</td>
758</tr>
759
760
761<tr>
762<td align="center">
763<a href="https://github.com/nfruehADA">
764<img src="https://avatars.githubusercontent.com/u/69671715?v=4" width="100px;" alt=""/>
765</a><br>
766<a href="https://github.com/ropensci/osmdata/issues?q=is%3Aissue+author%3AnfruehADA">nfruehADA</a>
767</td>
768<td align="center">
769<a href="https://github.com/orlandombaa">
770<img src="https://avatars.githubusercontent.com/u/48104481?u=66d48bb0e7efb664a94eace3472aa6a06960a7f4&v=4" width="100px;" alt=""/>
771</a><br>
772<a href="https://github.com/ropensci/osmdata/issues?q=is%3Aissue+author%3Aorlandombaa">orlandombaa</a>
773</td>
774<td align="center">
775<a href="https://github.com/changwoo-lee">
776<img src="https://avatars.githubusercontent.com/u/45101999?v=4" width="100px;" alt=""/>
777</a><br>
778<a href="https://github.com/ropensci/osmdata/issues?q=is%3Aissue+author%3Achangwoo-lee">changwoo-lee</a>
779</td>
780<td align="center">
781<a href="https://github.com/maellecoursonnais">
782<img src="https://avatars.githubusercontent.com/u/64737131?v=4" width="100px;" alt=""/>
783</a><br>
784<a href="https://github.com/ropensci/osmdata/issues?q=is%3Aissue+author%3Amaellecoursonnais">maellecoursonnais</a>
785</td>
786<td align="center">
787<a href="https://github.com/Suspicis">
788<img src="https://avatars.githubusercontent.com/u/78321010?u=0b4fbe51ef6fed8d90b4d4d1dabd5608f64bfc66&v=4" width="100px;" alt=""/>
789</a><br>
790<a href="https://github.com/ropensci/osmdata/issues?q=is%3Aissue+author%3ASuspicis">Suspicis</a>
791</td>
792<td align="center">
793<a href="https://github.com/AlbertRapp">
794<img src="https://avatars.githubusercontent.com/u/65388595?u=997160e784fbf960fb1609ce5e3b367670aeeeac&v=4" width="100px;" alt=""/>
795</a><br>
796<a href="https://github.com/ropensci/osmdata/issues?q=is%3Aissue+author%3AAlbertRapp">AlbertRapp</a>
797</td>
798<td align="center">
799<a href="https://github.com/dmag-ir">
800<img src="https://avatars.githubusercontent.com/u/89243490?u=8f64a3cd937d87a5de9d1484f25b789c960c6947&v=4" width="100px;" alt=""/>
801</a><br>
802<a href="https://github.com/ropensci/osmdata/issues?q=is%3Aissue+author%3Admag-ir">dmag-ir</a>
803</td>
804</tr>
805
806
807<tr>
808<td align="center">
809<a href="https://github.com/FlxPo">
810<img src="https://avatars.githubusercontent.com/u/5145583?u=cbd02ee0a0fa0447429f38bd7e3a1da57c841239&v=4" width="100px;" alt=""/>
811</a><br>
812<a href="https://github.com/ropensci/osmdata/issues?q=is%3Aissue+author%3AFlxPo">FlxPo</a>
813</td>
814<td align="center">
815<a href="https://github.com/vanhry">
816<img src="https://avatars.githubusercontent.com/u/26137289?v=4" width="100px;" alt=""/>
817</a><br>
818<a href="https://github.com/ropensci/osmdata/issues?q=is%3Aissue+author%3Avanhry">vanhry</a>
819</td>
820<td align="center">
821<a href="https://github.com/boiled-data">
822<img src="https://avatars.githubusercontent.com/u/73987518?v=4" width="100px;" alt=""/>
823</a><br>
824<a href="https://github.com/ropensci/osmdata/issues?q=is%3Aissue+author%3Aboiled-data">boiled-data</a>
825</td>
826<td align="center">
827<a href="https://github.com/mlucassc">
828<img src="https://avatars.githubusercontent.com/u/104909905?v=4" width="100px;" alt=""/>
829</a><br>
830<a href="https://github.com/ropensci/osmdata/issues?q=is%3Aissue+author%3Amlucassc">mlucassc</a>
831</td>
832<td align="center">
833<a href="https://github.com/jedalong">
834<img src="https://avatars.githubusercontent.com/u/7062177?u=3dfa8ef1f2045ea6c368fb5e9f706e62e748c5df&v=4" width="100px;" alt=""/>
835</a><br>
836<a href="https://github.com/ropensci/osmdata/issues?q=is%3Aissue+author%3Ajedalong">jedalong</a>
837</td>
838<td align="center">
839<a href="https://github.com/mooibroekd">
840<img src="https://avatars.githubusercontent.com/u/115638962?v=4" width="100px;" alt=""/>
841</a><br>
842<a href="https://github.com/ropensci/osmdata/issues?q=is%3Aissue+author%3Amooibroekd">mooibroekd</a>
843</td>
844<td align="center">
845<a href="https://github.com/xiaofanliang">
846<img src="https://avatars.githubusercontent.com/u/22874361?u=7d6ade584aeaf34e1fde47c400ffae1a82b79a25&v=4" width="100px;" alt=""/>
847</a><br>
848<a href="https://github.com/ropensci/osmdata/issues?q=is%3Aissue+author%3Axiaofanliang">xiaofanliang</a>
849</td>
850</tr>
851
852
853<tr>
854<td align="center">
855<a href="https://github.com/xtimbeau">
856<img src="https://avatars.githubusercontent.com/u/54633745?u=578caa070217a333e22be67990e42e8bdf434512&v=4" width="100px;" alt=""/>
857</a><br>
858<a href="https://github.com/ropensci/osmdata/issues?q=is%3Aissue+author%3Axtimbeau">xtimbeau</a>
859</td>
860<td align="center">
861<a href="https://github.com/joostschouppe">
862<img src="https://avatars.githubusercontent.com/u/10122639?v=4" width="100px;" alt=""/>
863</a><br>
864<a href="https://github.com/ropensci/osmdata/issues?q=is%3Aissue+author%3Ajoostschouppe">joostschouppe</a>
865</td>
866<td align="center">
867<a href="https://github.com/stalkerGH">
868<img src="https://avatars.githubusercontent.com/u/25331715?v=4" width="100px;" alt=""/>
869</a><br>
870<a href="https://github.com/ropensci/osmdata/issues?q=is%3Aissue+author%3AstalkerGH">stalkerGH</a>
871</td>
872<td align="center">
873<a href="https://github.com/RegularnaMatrica">
874<img src="https://avatars.githubusercontent.com/u/65914613?v=4" width="100px;" alt=""/>
875</a><br>
876<a href="https://github.com/ropensci/osmdata/issues?q=is%3Aissue+author%3ARegularnaMatrica">RegularnaMatrica</a>
877</td>
878<td align="center">
879<a href="https://github.com/temospena">
880<img src="https://avatars.githubusercontent.com/u/39107166?u=d7a7e9cadb9e2426317b9ab5056f7abba5481465&v=4" width="100px;" alt=""/>
881</a><br>
882<a href="https://github.com/ropensci/osmdata/issues?q=is%3Aissue+author%3Atemospena">temospena</a>
883</td>
884<td align="center">
885<a href="https://github.com/dicorynia">
886<img src="https://avatars.githubusercontent.com/u/31208891?u=56ed5070ad7c2f137a441b87a997992140984ca9&v=4" width="100px;" alt=""/>
887</a><br>
888<a href="https://github.com/ropensci/osmdata/issues?q=is%3Aissue+author%3Adicorynia">dicorynia</a>
889</td>
890<td align="center">
891<a href="https://github.com/Aloniss">
892<img src="https://avatars.githubusercontent.com/u/142921829?u=d2364a4bb7520b66e87ff665bc09554646bdddbd&v=4" width="100px;" alt=""/>
893</a><br>
894<a href="https://github.com/ropensci/osmdata/issues?q=is%3Aissue+author%3AAloniss">Aloniss</a>
895</td>
896</tr>
897
898</table>
899
900
901### Issue Contributors
902
903<table>
904
905<tr>
906<td align="center">
907<a href="https://github.com/sckott">
908<img src="https://avatars.githubusercontent.com/u/577668?u=c54eb1ce08ff22365e094559a109a12437bdca40&v=4" width="100px;" alt=""/>
909</a><br>
910<a href="https://github.com/ropensci/osmdata/issues?q=is%3Aissue+commenter%3Asckott">sckott</a>
911</td>
912<td align="center">
913<a href="https://github.com/nsfinkelstein">
914<img src="https://avatars.githubusercontent.com/u/2919482?u=eb162d42c4563f2cef29a6eef1d8e9e28862242d&v=4" width="100px;" alt=""/>
915</a><br>
916<a href="https://github.com/ropensci/osmdata/issues?q=is%3Aissue+commenter%3Ansfinkelstein">nsfinkelstein</a>
917</td>
918<td align="center">
919<a href="https://github.com/gawbul">
920<img src="https://avatars.githubusercontent.com/u/321291?u=701bb38c3c5ee3908bfeb367feb71e22a2d85be9&v=4" width="100px;" alt=""/>
921</a><br>
922<a href="https://github.com/ropensci/osmdata/issues?q=is%3Aissue+commenter%3Agawbul">gawbul</a>
923</td>
924<td align="center">
925<a href="https://github.com/edzer">
926<img src="https://avatars.githubusercontent.com/u/520851?u=9bc892c3523be428dc211f2ccbcf04e8e0e564ff&v=4" width="100px;" alt=""/>
927</a><br>
928<a href="https://github.com/ropensci/osmdata/issues?q=is%3Aissue+commenter%3Aedzer">edzer</a>
929</td>
930<td align="center">
931<a href="https://github.com/MAnalytics">
932<img src="https://avatars.githubusercontent.com/u/27354347?u=47f4c742c95c72b88a07ac1cb6406c9e1d186a54&v=4" width="100px;" alt=""/>
933</a><br>
934<a href="https://github.com/ropensci/osmdata/issues?q=is%3Aissue+commenter%3AMAnalytics">MAnalytics</a>
935</td>
936<td align="center">
937<a href="https://github.com/richardellison">
938<img src="https://avatars.githubusercontent.com/u/10625733?u=8d7cd55a61f1a1b3f9973ddff5adbb45e0b193c6&v=4" width="100px;" alt=""/>
939</a><br>
940<a href="https://github.com/ropensci/osmdata/issues?q=is%3Aissue+commenter%3Arichardellison">richardellison</a>
941</td>
942<td align="center">
943<a href="https://github.com/cboettig">
944<img src="https://avatars.githubusercontent.com/u/222586?u=dfbe54d3b4d538dc2a8c276bb5545fdf4684752f&v=4" width="100px;" alt=""/>
945</a><br>
946<a href="https://github.com/ropensci/osmdata/issues?q=is%3Aissue+commenter%3Acboettig">cboettig</a>
947</td>
948</tr>
949
950
951<tr>
952<td align="center">
953<a href="https://github.com/prise6">
954<img src="https://avatars.githubusercontent.com/u/6558161?v=4" width="100px;" alt=""/>
955</a><br>
956<a href="https://github.com/ropensci/osmdata/issues?q=is%3Aissue+commenter%3Aprise6">prise6</a>
957</td>
958<td align="center">
959<a href="https://github.com/PaoloFrac">
960<img src="https://avatars.githubusercontent.com/u/38490683?v=4" width="100px;" alt=""/>
961</a><br>
962<a href="https://github.com/ropensci/osmdata/issues?q=is%3Aissue+commenter%3APaoloFrac">PaoloFrac</a>
963</td>
964<td align="center">
965<a href="https://github.com/Dris101">
966<img src="https://avatars.githubusercontent.com/u/11404162?v=4" width="100px;" alt=""/>
967</a><br>
968<a href="https://github.com/ropensci/osmdata/issues?q=is%3Aissue+commenter%3ADris101">Dris101</a>
969</td>
970<td align="center">
971<a href="https://github.com/TomBor">
972<img src="https://avatars.githubusercontent.com/u/8322713?u=bf72198850753d4eb709b2b17d89b4afa68936a1&v=4" width="100px;" alt=""/>
973</a><br>
974<a href="https://github.com/ropensci/osmdata/issues?q=is%3Aissue+commenter%3ATomBor">TomBor</a>
975</td>
976<td align="center">
977<a href="https://github.com/matkoniecz">
978<img src="https://avatars.githubusercontent.com/u/899988?u=1a682cd39f51bb0224a52c7640a040c849b73ae8&v=4" width="100px;" alt=""/>
979</a><br>
980<a href="https://github.com/ropensci/osmdata/issues?q=is%3Aissue+commenter%3Amatkoniecz">matkoniecz</a>
981</td>
982<td align="center">
983<a href="https://github.com/urswilke">
984<img src="https://avatars.githubusercontent.com/u/13970666?u=0c6b83fb03792d052736768a8832300661c84370&v=4" width="100px;" alt=""/>
985</a><br>
986<a href="https://github.com/ropensci/osmdata/issues?q=is%3Aissue+commenter%3Aurswilke">urswilke</a>
987</td>
988<td align="center">
989<a href="https://github.com/Robsteranium">
990<img src="https://avatars.githubusercontent.com/u/49654?v=4" width="100px;" alt=""/>
991</a><br>
992<a href="https://github.com/ropensci/osmdata/issues?q=is%3Aissue+commenter%3ARobsteranium">Robsteranium</a>
993</td>
994</tr>
995
996
997<tr>
998<td align="center">
999<a href="https://github.com/assignUser">
1000<img src="https://avatars.githubusercontent.com/u/16141871?u=b8095df6a10813031922a72335bd6579d5494c16&v=4" width="100px;" alt=""/>
1001</a><br>
1002<a href="https://github.com/ropensci/osmdata/issues?q=is%3Aissue+commenter%3AassignUser">assignUser</a>
1003</td>
1004<td align="center">
1005<a href="https://github.com/rsbivand">
1006<img src="https://avatars.githubusercontent.com/u/10198404?u=130e1eda9687fabcf3606cbcbcfea79708207f7e&v=4" width="100px;" alt=""/>
1007</a><br>
1008<a href="https://github.com/ropensci/osmdata/issues?q=is%3Aissue+commenter%3Arsbivand">rsbivand</a>
1009</td>
1010</tr>
1011
1012</table>
1013
1014<!-- markdownlint-enable -->
1015<!-- prettier-ignore-end -->
1016<!-- ALL-CONTRIBUTORS-LIST:END -->
1017
1018
1019
1020
1021
1022
1023
1024
1025
1026
1027
1028
1029
1030
1031
1032
1033[](https://ropensci.org)