Rで解析:「leaflet」パッケージで使える日本のシェープファイルの作成例


「leaflet」パッケージで使える日本のシェープファイルの作成例の紹介です。シェープファイルはフリーで利用可能なNatural Earthを利用しています。

・Natural Earth
 http://www.naturalearthdata.com/

・使用したシェープファイル
 http://www.naturalearthdata.com/downloads/10m-cultural-vectors/

上記リンクのAdmin 1 – States, Provincesから「Download states and provinces」をクリックしne_10m_admin_1_states_provinces.zipファイルを保存します。保存後、解凍してできるフォルダ内の「ne_10m_admin_1_states_provinces.shp」が目的のファイルです。

windows 10のR version 3.3.3で動作を確認しています。


日本のシェープファイル作成例

詳細はコマンド、各パッケージのヘルプを確認してください。

#必要パッケージのインストール
install.packages("rgdal")
install.packages("tcltk")
install.packages("stringi")

#パッケージの読み込み
library("rgdal")
library("tcltk")
library("stringi")

#shpデータを読み込み
JPNPref <- readOGR(paste0(as.character(tkgetOpenFile(title = "shpファイルを選択",
                                                     filetypes = '{"shpファイル" {".shp"}}',
                                                     initialfile = c("*.shp")))),
                   GDAL1_integer64_policy = TRUE, encoding = "utf-8")
#日本のデータを抽出
JPNPref <- subset(JPNPref, JPNPref$geonunit == "Japan")
#都道府県名を日本語に変更、念のため文字コードをUTF-8にする
JPNPref@data$gns_name <- stri_encode(c("", "広島県", "岡山県", "島根県", "鳥取県", "山口県", "佐賀県", "福岡県",
                                       "熊本県", "宮崎県", "愛媛県", "香川県", "高知県", "大分県", "徳島県", "愛知県",
                                       "岐阜県", "石川県", "三重県", "長野県", "静岡県", "富山県", "北海道", "福井県",
                                       "兵庫県", "京都府", "奈良県", "大阪府", "滋賀県", "和歌山県", "千葉県", "茨城県",
                                       "神奈川県", "埼玉県", "栃木県", "東京都", "山梨県", "秋田県", "青森県", "福島県",
                                       "岩手県", "宮崎県", "新潟県", "山形県", "長崎県", "鹿児島県", "沖縄県", "群馬県"),
                                     "", "utf-8")
#長崎県、鹿児島県、沖縄県のポップアップ出現位置を修正
JPNPref@data$longitude[c(45, 46, 47)] <- c(129.873, 130.558, 127.681)
JPNPref@data$latitude[c(45, 46, 47)] <- c(32.7447, 31.5602, 26.2125)
#NAを除去
JPNPref@data <- JPNPref@data[-1, ]
JPNPref@polygons <- JPNPref@polygons[-1]
#必要なデータだけ残す
JPNPref@data <- JPNPref@data[, c(39, 40, 50)]
#変換
proj4string(JPNPref) <- CRS("+proj=longlat +ellps=WGS84 +datum=WGS84 +no_defs +towgs84=0,0,0")
#ファイルを作業ディレクトリに保存
save(JPNPref, file = "JPNPref.shp")



プロット例

詳細はコマンド、各パッケージのヘルプを確認してください。

#必要パッケージのインストール
install.packages("leaflet")
install.packages("htmltools")

#パッケージの読み込み
library("leaflet")
library("htmltools")

#色の設定
pal <- colorFactor("viridis",
                    domain = JPNPref@data$gns_name)

#プロット
leaflet(JPNPref) %>%
  addTiles() %>%
  addPolygons(color = "red", weight = 1, smoothFactor = 1,
              fillColor = ~pal(JPNPref@data$gns_name), fillOpacity = .5,
              highlightOptions = highlightOptions(color = "white",
                                                  weight = .5,
                                                  bringToFront = TRUE),
              popup = htmlEscape(JPNPref@data$gns_name))

出力例

クリックすると都道府県名が表示されます。


少しでも、あなたの解析が楽になりますように!!

スポンサードリンク

おすすめコンテンツ


スポンサードリンク