Rで解析:地図などのエリアプロットを簡単にメッシュで分割できます「geoaxe」パッケージ

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

地図などの空間を管理する「SpatialPolygons」classのプロットにメッシュ分割を追加するパッケージの紹介です。

なお、紹介では本パッケージの他に空間描写に便利な「rgeos」と「sp」パッケージを利用しています。使用環境によるかもしれませんが、これらパッケージは「geoaxe」パッケージのインストール時に自動でインストールされます。

パッケージバージョンは0.1.2.91。実行コマンドはwindows 11のR version 4.1.3で確認しています。

スポンサーリンク

パッケージのインストール

下記、コマンドを実行してください。

#パッケージのインストール
install.packages("devtools")
devtools::install_github("ropenscilabs/geoaxe")

実行コマンド

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

#パッケージの読み込み
library("geoaxe")
#install.packages("rgeos")
library("rgeos")
#install.packages("sp")
library("sp")

#描写データの作成:「rgeos」パッケージ;readWKTコマンド
#参考:描写内容の指定:textオプション;内容はテキストで指定します
#なお,描写内容は"POINT","LINESTRING","POLYGON","MULTIPOINT","MULTILINESTRING","MULTIPOLYGON"の設定が可能です
#「geoaxe」パッケージのchopコマンド利用のために"POLYGON"を指定
PolyData <- readWKT(text = "POLYGON((-180 -20, -140 155, 10 0, -140 -60, -180 -20))")
#&#12503;&#12525;&#12483;&#12488;
plot(PolyData)

#&#12509;&#12522;&#12468;&#12531;&#12487;&#12540;&#12479;&#12434;&#20998;&#21106;:chop&#12467;&#12510;&#12531;&#12489;
#&#20998;&#21106;&#12469;&#12452;&#12474;&#12398;&#25351;&#23450;:size&#12458;&#12503;&#12471;&#12519;&#12531;;&#21021;&#26399;&#20516;10
#&#20998;&#21106;&#25968;&#12398;&#25351;&#23450;:n&#12458;&#12503;&#12471;&#12519;&#12531;;&#21021;&#26399;&#20516;20
polys <- chop(x = PolyData, size = 15, n = 15)
#&#12503;&#12525;&#12483;&#12488;
plot(polys, col = "#e1e6ea")

#size,n&#12458;&#12503;&#12471;&#12519;&#12531;&#20516;&#12395;&#21512;&#12431;&#12379;&#12390;&#12509;&#12522;&#12468;&#12531;&#12487;&#12540;&#12479;&#12398;&#12503;&#12525;&#12483;&#12488;&#12399;&#22793;&#21270;&#12375;&#12414;&#12377;
#size&#12458;&#12503;&#12471;&#12519;&#12531;&#12398;&#22793;&#21270;&#20363;
layout(matrix(c(1, 2, 3, 4), 2, 2, byrow = TRUE))
par(mar = c(1, 0, 1, 0))
plot(chop(polys, size = 5, n = 15), col = "#e1e6ea")
plot(chop(polys, size = 10, n = 15), col = "#505457")
plot(chop(polys, size = 15, n = 15), col = "#4b61ba")
plot(chop(polys, size = 50, n = 15), col = "#a87963")

#n&#12458;&#12503;&#12471;&#12519;&#12531;&#12398;&#22793;&#21270;&#20363;
layout(matrix(c(1, 2, 3, 4), 2, 2, byrow = TRUE))
par(mar = c(1, 0, 1, 0))
plot(chop(polys, n = 5, size = 15), col = "#e1e6ea")
plot(chop(polys, n = 10, size = 15), col = "#505457")
plot(chop(polys, n = 15, size = 15), col = "#4b61ba")
plot(chop(polys, n = 50, size = 15), col = "#a87963")

出力例

・chopコマンド

chop

・sizeオプションの変化例

geoaxesize

・nオプションの変化例

geoaxen

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

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