【发布时间】:2013-06-26 01:29:04
【问题描述】:
我想计算大约之间的距离。 100,000 个不同的邮政编码。我知道ggmap 包中的mapdist 函数
mapdist 完美运行:
library(ggmap)
mapdist('Washington', 'New York', mode = 'driving')
# from to m km miles seconds minutes hours
# 1 Washington New York 366284 366.284 227.6089 13997 233.2833 3.888056
mapdist('20001', '10001', mode = 'driving')
# from to m km miles seconds minutes hours
# 1 20001 10001 363119 363.119 225.6421 13713 228.55 3.809167
但是,mapdist 依赖于 Google Geocoding API,该 API 受到每天 2,500 个地理位置请求的查询限制的限制。
您是否知道任何替代 r 代码可以使用具有更高请求限制的其他服务(例如诺基亚地图或 Bing)来计算两点之间的距离?
【问题讨论】:
-
作为替代方案,您可以使用
Imap包中的gdist来计算Great-circle distance,但我认为您需要获取纬度/经度坐标... -
@agstudy 好点。我相信
rdist包中还有一个Haversine 公式。这样做的好处是您只需要每个点进行一次地理编码查找,而不是每对点进行一次地理编码查找。这无关紧要(如果您只想从不同的点对进行观察)或可能很重要(如果您的所有路线都从同一点开始)
标签: r google-maps-api-3 geospatial spatial ggmap