mapeditパッケージで、地図上のメッシュを選択する
前回は地域メッシュのシェープファイルを入手し可視化するところまでやりました。 今回はその続きです。
前回↓
今日の環境はMacです。
前回、新宿近辺のメッシュのみを抽出しましたが、では新宿近辺のメッシュをどうやって調べればよいのでしょうか。
おそらく最も手軽なのはWebサービスを使って、ブラウザ上で確認することだと思います。 「Geocode Viewer」 や 「地図上で標準地域メッシュを確認するページ」 が便利です。
しかし、本シリーズはRでチャレンジすることが裏テーマなので、メッシュの選択もRでやってみましょう。
mapedit
パッケージ を使うことで、地図上でフィーチャーを選択できます。
mapedit
パッケージは、フィーチャーを選択するだけでなく、線や図形を書いてsfクラスとして取得することができるので、
メッシュ以外でも便利です。
くわしくは公式のページをご覧ください。
mapedit - interactively edit spatial data in R
それでは mapedit
パッケージをインストールしましょう。
mapedit
のREADME に従い、インストールします。
mapview
パッケージは develop 版であることに注意してください。
devtools::install_github("bhaskarvk/leaflet") devtools::install_github("bhaskarvk/leaflet.extras") devtools::install_github("r-spatial/mapview@develop") devtools::install_github("r-spatial/mapedit")
次に、 sf
クラスのオブジェクトを用意します。
詳しくは、前回の記事を参照してください。
library(tidyverse) library(sf) d1 <- sf::read_sf("./Downloads/L03-a-14_5339-tky_GML/L03-a-14_5339-tky.shp", options=c("ENCODING=CP932”))
それでは、mapedit
パッケージを使っていきましょう。
今回は地図上のフィーチャーを選択したいので、selectFeatures()
関数を使います。
selectFeatures()
関数は v0.2.0 から追加された、比較的新しい機能のようです。
使い方は簡単で、単純に sf
クラスのオブジェクトを selectFeatures()
関数の第一引数に入れるだけです。
めっちゃラクだ…。
library(mapview) library(mapedit) mesh_shinjuku <- d1 %>% mapedit::selectFeatures()
これを実行すると、mapview
と同様に地図が開きます。
欲しいフィーチャーをクリックして選択し、右下のDoneボタンを押せば完了です。
返り値として sf
クラスが返ってくるので、その後も普通に分析可能です。
すんごいラクだ…。
> mesh_shinjuku Simple feature collection with 4 features and 13 fields geometry type: POLYGON dimension: XY bbox: xmin: 139.6875 ymin: 35.68333 xmax: 139.7125 ymax: 35.7 epsg (SRID): 4326 proj4string: +proj=longlat +datum=WGS84 +no_defs メッシュ 田 他農用地 森林 荒地 建物用地 道路 鉄道 他用地 河川湖沼 海浜 海水域 ゴルフ場 3626 53394525 0 0 73182 0 710914 219547 0 31364 10455 0 0 0 3627 53394526 0 0 94091 0 606364 146364 188181 10455 0 0 0 0 3637 53394536 0 0 0 0 919905 62721 62721 0 0 0 0 0 3636 53394535 0 0 0 0 951272 41814 0 10454 41814 0 0 0 geometry 3626 POLYGON((139.6875 35.683333... 3627 POLYGON((139.7 35.683333333... 3637 POLYGON((139.7 35.691666666... 3636 POLYGON((139.6875 35.691666... > class(mesh_shinjuku) [1] "sf" "data.frame"
新宿の4メッシュだけが入っています。
当然、このオブジェクトを mapview
すれば、該当メッシュだけが可視化されています。
mesh_shinjuku %>%
mapview
完璧ですね。 だいぶスムーズにデータ分析できそうです。
GIFアニメを作ってみました。 地図を開いてメッシュを選択し、新宿メッシュのみを可視化する様子です。 容量ギリギリだったので少し見にくいのはご容赦ください…
EDIT [解説・ボーナストラック付き国内盤] (BRC-192)
- アーティスト: マーク・スチュワート
- 出版社/メーカー: BEAT RECORDS
- 発売日: 2008/04/26
- メディア: CD
- 購入: 1人 クリック: 27回
- この商品を含むブログ (10件) を見る