Rで解析:GoogleMapやStamenMapを利用「ggmap」パッケージ
公開日: Rとアクセス解析に役に立つ記事 R, 地図描写, 解析
地図をプロットするパッケージは多くありますが、シェープファイルを用意したり、使用方法が複雑だったりすることがあります。APIの利用回数の制限がありますが、GoogleMapやStamenMapのデータを利用して地図をプロットする「ggmap」パッケージを紹介します。なお、通常の利用であればAPIの利用回数の制限は問題ないかと思います。
本パッケージでは、Google APIを利用したルートを地図上に表示することもできます。
例に、札幌駅から北海道大学へ行くルートを示します。札幌駅から北海道大学までは以外と近く、1.132kmの距離でした。
Stamen Map
http://maps.stamen.com
パッケージのバージョンは2.5.2。R version 3.2.1でコマンドを確認しています。
パッケージのインストール
下記コマンドを実行してください。
#パッケージのインストール install.packages("ggmap")
実行コマンド
詳細はコマンド、パッケージヘルプを確認してください。
#パッケージの読み込み library("ggmap") #地名で緯度経度をグーグルから取得:geocodeコマンド LonLatData <- geocode("札幌 大通り公園", source = "google") lon lat 1 141.3481 43.05982 #緯度経度データから住所をグーグルから取得:revgeocodeコマンド revgeocode(c(lon = LonLatData[1, 1], lat = LonLatData[1, 2])) [1] "Odori, 6 Chome Ōdōrinishi, Chūō-ku, Sapporo-shi, Hokkaidō 060-0042, Japan" #グーグルマップ画像の取得:get_googlemapコマンド #地図の種類を指定:maptypeオプション;"terrain", "satellite", "roadmap", "hybrid"が指定可能 #拡大の指定:zoomオプション;1-21の整数で指定可能 GMapData <- get_googlemap(center = c(lon = LonLatData[1, 1], lat = LonLatData[1, 2]), zoom = 16, size = c(640, 640), scale = 2, format = "png8", maptype = "hybrid", language = "jpn", sensor = FALSE, messaging = FALSE, urlonly = FALSE, filename = "ggmapTemp", color = "color", force = FALSE) #プロット ggmap(GMapData) #地図のプロットコマンド:qmapコマンド #データ形式はggplo2形式となります #qmap("札幌 大通り公園", zoom = 16) #fromからtoまでのルートを取得:routeコマンド #取得ルートのモード指定:modeオプション;"driving", "walking", "bicycling", "transit" RouteData <- route(from = "札幌駅", to = "北海道大学", mode = "walking", structure = "route", output = "simple") RouteData m km miles seconds minutes hours leg lon lat 1 46 0.046 0.0285844 33 0.5500000 0.009166667 1 141.3508 43.06863 2 74 0.074 0.0459836 57 0.9500000 0.015833333 2 141.3507 43.06898 3 71 0.071 0.0441194 55 0.9166667 0.015277778 3 141.3500 43.06905 4 51 0.051 0.0316914 37 0.6166667 0.010277778 4 141.3497 43.06961 5 113 0.113 0.0702182 81 1.3500000 0.022500000 5 141.3496 43.07006 6 68 0.068 0.0422552 48 0.8000000 0.013333333 6 141.3482 43.06993 7 57 0.057 0.0354198 40 0.6666667 0.011111111 7 141.3480 43.07052 8 134 0.134 0.0832676 95 1.5833333 0.026388889 8 141.3479 43.07103 9 1132 1.132 0.7034248 815 13.5833333 0.226388889 9 141.3464 43.07096 10 NA NA NA NA NA NA NA 141.3401 43.07805 #データをプロット qmap("札幌駅, 北海道大学", zoom = 16) + geom_path(data = RouteData, aes(x = lon, y = lat), colour = "red", size = 1.5, lineend = "round") #Stamen Mapからデータを取得:Stamen Mapコマンド #取得エリアの設定 #大体の札幌 bbox <- c(left = 141.2, bottom = 43.0, right = 141.5, top = 43.15) #取得画像枚数が多くなるzoom設定だとプロットうまくいかない場合があります #maptype = "watercolor" ggmap(get_stamenmap(bbox, maptype = "watercolor", zoom = 13)) #maptype = "toner-lite" ggmap(get_stamenmap(bbox, maptype = "toner-lite", zoom = 11))
出力例
画像はクリックで拡大することができます。
・get_googlemapコマンド:terrain
少しでも、あなたのウェブや実験の解析が楽になりますように!!
関連記事
-
-
Rで解析:ファイル名の設定がらくらく?「filenamer」パッケージ
Rでファイル名を作成するのに役に立つかもしれない「filenamer」パッケージの紹介です。ファイル
-
-
Rでお遊び:疲れたカラダに、愛情一コマンド「praise」パッケージ
昔から続く某CMを思い出しますが、疲れているあなたにオススメの「praise」パッケージです。英語で
-
-
統計・アクセス解析ツールR:エクセルファイルの読み書き
統計解析ツールRは非常に便利だけれども、日常使っているエクセルファイルでデータを管理しアクセス解析等
-
-
Rでお遊び:第2話「絶望の旋律」に登場!水が滴るいい男「熊耳」カラーパレット
アニメ「シャーロット」、第2話「絶望の旋律」で登場した「特殊能力者の居場所と能力の情報を伝える協力者
-
-
Rで解析:欠損値を制するモノは解析も制す?「VIM」パッケージの紹介
データ内に潜む欠損値を把握することは重要な作業です。データが揃うとすぐに解析したくなりますが、まずは
-
-
Rで解析:データのハンドリング作業を効率化!「gdata」パッケージの紹介
解析の重要な作業としてデータのハンドリングがあります。本パッケージではデータの結合、文字列、因子、N
-
-
Rでお遊び:シャーロット第3話オープニング「謎の文字」のまとめとタグクラウド
アニメ「シャーロット」、第3話のオープニングでは「謎の文字」や「シンボル」などが追加されていました。
-
-
Rで解析:時系列の欠損値補間だけじゃないかも?「imputeTS」パッケージの紹介
時系列の欠損値を補間する「imputeTS」パッケージです。工夫次第では時系列以外にも活用できそうな
-
-
Rとウェブ解析:バラツキ(分散)の差を検定するF検定!var.testコマンドの紹介
バラツキ(分散)の差を検定するF検定を実施する「var.test」コマンドを紹介します。
-
-
Rで解析:大規模データのハンドリングを効率化!!「data.table」パッケージ
解析の際にdata.frameクラスを利用されていませんか。data.frameクラスに適応できるコ