« エラーメッセージ「Not polygon shapes」 | トップページ | [R]SpatialLinesDataFrameオブジェクトから座標データを簡単に抜き出す »

2014年1月24日 (金)

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

S4クラスである。下記は線の数が20含まれるmap.shpというシェープファイルを読み込んだときの例。「・・・」は表示を省略していることを示す。

> library(maptools)
> shp <- readShapeLines("map.shp")
> mode(shp)  # クラスを確認
[1] "S4"
> length(shp)  # シェープファイルに含まれる線の数
[1] 20
> shp@lines[[1]]@Lines[[1]]@coords  # 1番目の線の座標
            [,1]        [,2]
[1,] ・・・
[2,] ・・・
[3,] ・・・
> shp@lines[[2]]@Lines[[1]]@coords  # 2番目の線の座標
             [,1]        [,2]
[1,] ・・・
[2,] ・・・
[3,] ・・・
[4,] ・・・
> shp@lines[[20]]@Lines[[1]]@coords  # 最後(20番目)の線の座標
            [,1]        [,2]
[1,] ・・・
[2,] ・・・
> shp@lines[[21]]@Lines[[1]]@coords  # 最後の次は当然無い
以下にエラー shp@lines[[21]] :  添え字が許される範囲外です
> is.matrix(shp@lines[[20]]@Lines[[1]]@coords)  # 座標データの形式を確認
[1] TRUE

座標データは、1桁目(上の[,1])にx座標(横軸方向)が、2桁目(上の[,2])にy座標(縦軸方向)が格納されている。

なお、spsurveyパッケージの関数read.shapeを使用して作成したオブジェクトでも扱いは全く同じ。

« エラーメッセージ「Not polygon shapes」 | トップページ | [R]SpatialLinesDataFrameオブジェクトから座標データを簡単に抜き出す »

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

R(maptools)」カテゴリの記事

コメント

コメントを書く

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

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

« エラーメッセージ「Not polygon shapes」 | トップページ | [R]SpatialLinesDataFrameオブジェクトから座標データを簡単に抜き出す »

無料ブログはココログ

■■

■■■