約間の距離を計算したい。 100,000の異なる郵便番号。 mapdist
パッケージのggmap
関数について知っています
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
はGoogleGeocoding APIに依存しており、1日あたりクエリ制限は2,500ジオロケーションリクエスト 1の対象となります。
リクエスト制限が高い別のサービス(Nokia MapsやBingなど)を使用して2点間の距離を計算するための代替rコードを知っていますか?
taRifx.geo::georoute
(のみ利用可能 ここ 別の更新をプッシュするまで、その時点でinstall.packages
経由で利用可能になります)Bing Mapsを使用できます(1日あたり25kをサポートします)距離を返すことができます。
georoute( c("3817 Spruce St, Philadelphia, PA 19104",
"9000 Rockville Pike, Bethesda, Maryland 20892"),
verbose=TRUE, returntype="time",
service="bing" )
Bing Maps APIキーを取得し、Rグローバルオプションで設定する必要があります(理想的な配置は.Rprofile
にあります)が、キーは無料です。
options(BingMapsKey="whateverBingGivesYouForYourKey")
これは些細なことかもしれませんが、完全に無料のオプションの1つは、 国勢調査ZCTA地理データ を使用して各郵便番号の座標を取得し、 Haversine distances (または同様のもの)を計算することです。座標間の距離メトリック)。
新しいRセッションを開始し、新しいセッションでlibrary(ggmap)
を実行すると、さらに2500のクエリを実行できます。
関数distQueryCheck()
は、残りのクエリの数を示します。