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))")
#プロット
plot(PolyData)

#ポリゴンデータを分割:chopコマンド
#分割サイズの指定:sizeオプション;初期値10
#分割数の指定:nオプション;初期値20
polys <- chop(x = PolyData, size = 15, n = 15)
#プロット
plot(polys, col = "#e1e6ea")

#size,nオプション値に合わせてポリゴンデータのプロットは変化します
#sizeオプションの変化例
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オプションの変化例
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をコピーしました