Google Maps APIを利用して2点間の距離を取得するパッケージの紹介です。パッケージを利用中に日本語でエラーが出るときは「stringi」パッケージのstri_encodeコマンドがお勧めです。なお、利用にはGoogle Maps PlatformでAPIの利用登録が必要です。1 日の割り当て、1 か月あたり 28,500 回まで無料です。
Google Maps Platform:https://mapsplatform.google.com/intl/ja_ALL/
パッケージのバージョンは3.4。実行コマンドはwindows 11のR version 4.1.2で確認しています。
パッケージのインストール
下記コマンドを実行してください。
#パッケージのインストール
install.packages("gmapsdistance")
コマンドの紹介
詳細はコマンド、パッケージのヘルプを確認してください。
#パッケージの読み込み
library("gmapsdistance")
#検索に日本語を使用するため
#「stringi」パッケージのstri_encodeコマンドを利用
#tidyverseパッケージがなければインストール
if(!require("tidyverse", quietly = TRUE)){
install.packages("tidyverse");require("tidyverse")
}
#指定した場所間の距離を取得:gmapsdistanceコマンド
#出発地点:orignオプション
#到着地点:destinationオプション
#交通手段を指定:modeオプション;"bicycling","walking","transit","driving"
#利用しない交通手段を指定:avoidオプション;"tolls","highways","ferries","indoor"
GetDistance <- gmapsdistance(origin = c(stri_encode("日本+京都", "", "utf-8"),
stri_encode("日本+名古屋", "", "utf-8")),
destination = c(stri_encode("日本+東京", "", "utf-8"),
stri_encode("日本+大阪", "", "utf-8")),
mode = "driving",
avoid = "highways")
#確認
GetDistance
$Time
or Time.日本+東京 Time.日本+大阪
1 日本+京都 41586 6649
2 日本+名古屋 31014 15317
$Distance
or Distance.日本+東京 Distance.日本+大阪
1 日本+京都 508470 51202
2 日本+名古屋 376122 188842
$Status
or status.日本+東京 status.日本+大阪
1 日本+京都 OK OK
2 日本+名古屋 OK OK
少しでも、あなたの解析が楽になりますように!!