2010年11月15日月曜日

Rを用いたポリゴンの重心の求めかた

Rを使ってポリゴンGISデータから重心を求める方法


必要なパッケージ: rgdal及びその依存パッケージ群

例えば読み込みたいポリゴンGISファイルが"glacier_polygon.shp"の場合は、以下のようなスクリプトとなる。




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

## shpファイルをオブジェクトデータとしてRにインポート
work.data <- readOGR("glacier_polygon.shp", layer="glacier_polygon") 

## オブジェクトデータからXY座標値だけを取り出す 
xy.data <- coordinates(work.data) 

## XY座標値のデータの列に便宜上名前をつける
##(名前は自由、例えば"longitude"&"latitude"とか"utm_x"&"utm_y"とか) 
colnames(xy.data) <- c("x", "y")

## CSVファイルにエクスポート(他のソフトウェアで処理する場合など)
write.csv(xy.data, "output.csv", row.names=FALSE, quote=FALSE)




出力されたCSVファイルは例えばこんな感じ
x,y
489176.444420473,3090064.99763659
493424.399256412,3083779.43936747
488170.237572687,3083534.23702388
470790.340086085,3099618.51899252
463659.468505326,3101508.27126506
458614.355215818,3103005.81160067

0 件のコメント:

コメントを投稿