Ali*_*eva 2 gps google-maps r openstreetmap
我有几个GPS坐标,我想知道它们是在高速公路,主干道路还是小路上,如果我能确定一个道路名称,它会更大.我正在使用R小册子绘制地图,我可以看到OpenStreetMap不同类型的道路颜色不同,我想知道如何提取这些信息.如果它能解决我的问题,那么使用谷歌地图不是问题.
我将不胜感激任何帮助.
您可以使用revgeocode()从ggmap:
library(ggmap)
gc <- c(-73.596706, 45.485501)
revgeocode(gc)
Run Code Online (Sandbox Code Playgroud)
这使:
#[1] "4333 Rue Sherbrooke O, Westmount, QC H3Z 1E2, Canada"
Run Code Online (Sandbox Code Playgroud)
注意:根据评论中提到的,此方法使用Google Maps API,而不是OpenStreetMap.您每天最多可以查询2500个查询.您始终可以查看剩余的查询数量geocodeQueryCheck()
从包文档:
使用Google地图反向对经度/纬度位置进行地理编码.请注意,在大多数情况下,使用此功能即表示您同意https://developers.google.com/maps/terms上的Google Maps API服务条款 .
更新
如果您需要更详细的信息,请使用output = "all"并提取您需要的组件:
lst <- list(
g1 = c(-73.681069, 41.433155),
g2 = c(-73.643196, 41.416240),
g3 = c(-73.653324, 41.464168)
)
res <- lapply(lst, function(x) revgeocode(x, output = "all")[[1]][[1]][[1]][[2]])
Run Code Online (Sandbox Code Playgroud)
这使:
#$g1
#$g1$long_name
#[1] "Highway 52"
#
#$g1$short_name
#[1] "NY-52"
#
#$g1$types
#[1] "route"
#
#
#$g2
#$g2$long_name
#[1] "Carmel Avenue"
#
#$g2$short_name
#[1] "US-6"
#
#$g2$types
#[1] "route"
#
#
#$g3
#$g3$long_name
#[1] "Wakefield Road"
#
#$g3$short_name
#[1] "Wakefield Rd"
#
#$g3$types
#[1] "route"
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1799 次 |
| 最近记录: |