Learn R Programming

tmap (version 1.6)

geocode_OSM: 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 (http://wiki.openstreetmap.org/wiki/Nominatim_usage_policy).

Usage

geocode_OSM(q, projection = "longlat", return.first.only = TRUE, details = FALSE, as.data.frame = NA, as.SPDF = FALSE, server = "http://nominatim.openstreetmap.org")

Arguments

q
a character (vector) that specifies a search query. For instance "India" or "CBS Weg 11, Heerlen, Netherlands".
projection
projection in which the coordinates and bounding box are returned. Either a PROJ.4 character string or a shortcut. See get_proj4 for a list of shortcut values.
return.first.only
Only return the first result
details
provide output details, other than the point coordinates and bounding box
as.data.frame
Return the output as a data.frame. If FALSE, a list is returned with at least two items: "coords", a vector containing the coordinates, and "bbox", the corresponding bounding box. By default false, unless q contains multiple queries
as.SPDF
Return the output as SpatialPointsDataFrame. If TRUE, return.first.only will be set to TRUE.
server
OpenStreetMap Nominatim server name. Could also be a local OSM Nominatim server.

Value

If as.SPDF then a SpatialPointsDataFrame is returned. Else, if as.data.frame, then a data.frame is returned, else a list.

See Also

rev_geocode_OSM, bb

Examples

Run this code
geocode_OSM("India")
geocode_OSM("CBS Weg 1, Heerlen")
geocode_OSM("CBS Weg 1, Heerlen", projection = "rd")

## Not run: 
# data(metro)
# 
# five_cities <- metro[sample(length(metro), 5), ]
# 
# locations <- geocode_OSM(five_cities$name_long)
# 
# five_cities <- append_data(five_cities, locations, fixed.order = TRUE)
# 
# five_cities2 <- five_cities@data
# sp::coordinates(five_cities2) <- ~lon+lat
# 
# tmap_mode("view")
# tm_shape(five_cities) +
# 	tm_dots(col = "blue") +
# tm_shape(five_cities2) +
# 	tm_dots(col = "red")
# ## End(Not run)

Run the code above in your browser using DataLab