« SpatialLinesDataFrameオブジェクトから座標データを抜き出す。 | トップページ | 1回の繰り返し計算(ループ)で分散を求める »

2014年1月25日 (土)

SpatialLinesDataFrameオブジェクトから座標データを簡単に抜き出す。

ggplot2パッケージに含まれる関数fortifyを使うと、SpatialLinesDataFrameオブジェクトから座標データを簡単なデータフレーム形式に変換してくれる。以下に、線が20含まれるシェープファイルmap.shpを使用した例を示す。「・・・」は表示を省略している箇所。

> library(maptools)
> library(ggplot2)
> shp <- readShapeLines("map.shp")
> shp
(大量にデータが表示される)
> length(shp)  # 線の数
[1] 20
> df <- fortify(shp)  # データフレーム形式に変換
> is.data.frame(df)
[1] TRUE
> head(df, 3)
         long         lat order piece group id
1 ・・・
2 ・・・
3 ・・・
> tail(df, 3)
             long         lat order piece  group   id
○○ ・・・
○○ ・・・
○○ ・・・

含まれる線の識別は列idを見ればよい。上記の例でいうと、列idは1から始まり線が変わることにidが1ずつ増えて最終行のidは20になる。

« SpatialLinesDataFrameオブジェクトから座標データを抜き出す。 | トップページ | 1回の繰り返し計算(ループ)で分散を求める »

ggplot2」カテゴリの記事

R(数値計算)」カテゴリの記事

maptools」カテゴリの記事

コメント

コメントを書く

コメントは記事投稿者が公開するまで表示されません。

(ウェブ上には掲載しません)

« SpatialLinesDataFrameオブジェクトから座標データを抜き出す。 | トップページ | 1回の繰り返し計算(ループ)で分散を求める »

無料ブログはココログ