Rで解析:グーグルマップへいろいろ追記「RgoogleMaps」パッケージの紹介

Rの解析に役に立つ記事
スポンサーリンク

グーグルマップのデータをローカルに取得し、矢印やポイント、文字を追記できる「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("&amp;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コマンド

GetMap

・PlotArrowsOnStaticMapコマンド

PlotArrowsOnStaticMap

・PlotOnStaticMapコマンド

PlotOnStaticMap

・TextOnStaticMapコマンド

TextOnStaticMap

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

タイトルとURLをコピーしました