geocode_OSM {tmaptools} | R Documentation |
Geocodes a location using OpenStreetMap Nominatim
Description
Geocodes a location (based on a search query) to coordinates and a bounding box. Similar to geocode from the ggmap package. It uses OpenStreetMap Nominatim. For processing large amount of queries, please read the usage policy (https://operations.osmfoundation.org/policies/nominatim/).
Usage
geocode_OSM(
q,
projection = NULL,
return.first.only = TRUE,
keep.unfound = FALSE,
details = FALSE,
as.data.frame = NA,
as.sf = FALSE,
geometry = c("point", "bbox"),
server = "https://nominatim.openstreetmap.org"
)
Arguments
q |
a character (vector) that specifies a search query. For instance |
projection |
projection in which the coordinates and bounding box are returned. See |
return.first.only |
Only return the first result |
keep.unfound |
Keep list items / data.frame rows with |
details |
provide output details, other than the point coordinates and bounding box |
as.data.frame |
Return the output as a |
as.sf |
Return the output as |
geometry |
When |
server |
OpenStreetMap Nominatim server name. Could also be a local OSM Nominatim server. |
Value
If as.sf
then a sf
object is returned. Else, if as.data.frame
, then a data.frame
is returned, else a list.
See Also
Examples
## Not run:
if (require(tmap)) {
geocode_OSM("India")
geocode_OSM("CBS Weg 1, Heerlen")
geocode_OSM("CBS Weg 1, Heerlen", projection = 28992)
data(metro)
# sample 5 cities from the metro dataset
five_cities <- metro[sample(length(metro), 5), ]
# obtain geocode locations from their long names
five_cities_geocode <- geocode_OSM(five_cities$name_long, as.sf = TRUE)
# change to interactive mode
current.mode <- tmap_mode("view")
# plot metro coordinates in red and geocode coordinates in blue
# zoom in to see the differences
tm_shape(five_cities) +
tm_dots(col = "blue") +
tm_shape(five_cities_geocode) +
tm_dots(col = "red")
# restore current mode
tmap_mode(current.mode)
}
## End(Not run)