グーグルマップのデータをローカルに取得し、矢印やポイント、文字を追記できる「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コマンド
少しでも、あなたのウェブや実験の解析が楽になりますように!!