[R]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になる。