グーグルマップのデータをローカルに取得し、矢印やポイント、文字を追記できる「RgoogleMaps」パッケージの紹介です。なお、ローカルに取得した地図データはネットに接続しなくとも、矢印やポイント、文字の追記が可能です。
パッケージでは、矢印、点、線、テキストを地図に追記することができます。また、サーバーへ負担をかけない「優しいパッケージ」です。
パワーポイントなどで情報を追記していた方にオススメです。札幌市内を例に紹介します。
機会があれば、また札幌に散歩へいきたいと思います。今の時期、北海道最高です。
パッケージのバージョンは1.2.0.7。実行コマンドはR version 3.2.2で確認しています。
パッケージのインストール
下記コマンドを実行してください。
#パッケージのインストール
install.packages("RgoogleMaps")
実行コマンド
詳細はコメント、パッケージヘルプを確認してください。
#パッケージの読み込み
library("RgoogleMaps")
###取得する地図内容の設定#####
#緯度を指定,札幌駅,札幌テレビ塔,札幌市資料館,すすきの駅
lat = c(43.068531, 43.061084, 43.058544, 43.055942)
#経度を指定,札幌駅,札幌テレビ塔,札幌市資料館,すすきの駅
lon = c(141.350819, 141.356441, 141.337493, 141.353222)
#マーカー内容を設定
#書式;&markers=color:"色"|label:"ラベル内容"|"緯度","経度"
MarkColors <- c("red", "blue", "green", "yellow")
#ラベル内容は英字一文字
MarkLabels <- c("A", "B", "C", "D")
#中心点を作成
Center = c(mean(lat), mean(lon))
#拡大率を作成
Zoom <- min(MaxZoom(range(lat), range(lon)))
#マーカー内容を作成
Markers <- paste(paste0("&markers=color:", MarkColors, "|label:", MarkLabels, "|", lat, ",", lon), collapse = "")
########
#作業ディレクトリに地図の内容とデータを保存:GetMapコマンド
#ファイル名:destfileオプション
#画像サイズ:sizeオプション;ピクセルで指定
#地図のタイプ:maptypeオプション
#"roadmap","mobile","satellite","terrain","hybrid","mapmaker-roadmap","mapmaker-hybrid"の設定が可能
#ファイルフォーマット:formatオプション
#"gif","jpg","jpg-baseline","png8","png32"の設定が可能
#グレースケール:GRAYSCALEオプション
MyMap <- GetMap(center = Center, zoom = Zoom, markers = Markers,
destfile = "KARADA-GOOD.png", size = c(640, 640),
maptype = "terrain", GRAYSCALE = FALSE)
#地図をプロット
PlotOnStaticMap(MyMap)
#保存したデータを読み込み:ReadMapTileコマンド
#地図のpngデータと対応したrdaデータが必要です
#pngデータで加工する地図データを指定します
library("RgoogleMaps")
library("tcltk")
MyMap <- ReadMapTile(paste(as.character(tkgetOpenFile(title = "読み込むファイルを指定",
filetypes = '{"ファイルを指定" {"*.png"}}',initialfile = "*.png")),
sep = "", collapse =" "))
#取得した地図データに矢印を描写:PlotArrowsOnStaticMapコマンド
#矢印の始点:lat0,lon0オプション;緯度,経度
#矢印の終点:lat1,lon1オプション;緯度,経度
#矢印の上書き:addオプション
PlotArrowsOnStaticMap(MyMap, lat0 = 43.059084, lat1 = 43.061084,
lon0 = 141.358441, lon1 = 141.356441, col = "red", add = FALSE)
PlotArrowsOnStaticMap(MyMap, lat0 = 43.059084, lat1 = 43.055942,
lon0 = 141.358441, lon1 = 141.353222, col = "blue", add = TRUE)
#取得した地図データに点・線を描写:PlotOnStaticMapコマンド
#点・線の選択:FUNオプション;points,lines
PlotOnStaticMap(MyMap, lat = lat, lon = lon, cex = 4, pch = 20, FUN = points,
col = c("red", "blue", "green"), add = FALSE)
PlotOnStaticMap(MyMap, lat = lat, lon = lon, lwd = 2, FUN = lines,
col = "black", add = TRUE)
#取得した地図データにテキストを描写:TextOnStaticMapコマンド
#mac日本語文字化け防止
par(family = "HiraKakuProN-W3")
TextOnStaticMap(MyMap, lat = lat, lon = lon,
labels = c("札幌駅", "テレビ塔", "資料館", "すすきの駅"),
cex = 1.5, col = "red", add = FALSE)
#緯度経度の取得:getGeoCodeコマンド
getGeoCode("東京駅")
lat lon
35.6808 139.7672
出力例
・GetMapコマンド

・PlotArrowsOnStaticMapコマンド

・PlotOnStaticMapコマンド

・TextOnStaticMapコマンド

少しでも、あなたのウェブや実験の解析が楽になりますように!!