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]複数のパラメーターと定数を持つ関数の値が最大・最小となるパラメーターを求める(2026.03.30)
- [R]重み付き線形最小二乗法を行う(2026.03.20)
- [R]重み付き非線形最小二乗法を行う(2026.03.06)
- [R]計算機イプシロンを求める(2025.10.29)
- [R]複数の引数を持つ関数の値の最小値(最大値)を求める(2024.12.07)
「R(maptools)」カテゴリの記事
- [R]SpatialLinesDataFrameオブジェクトから座標データを簡単に抜き出す(2014.01.25)
- SpatialLinesDataFrameオブジェクトから座標データを抜き出す。(2014.01.24)
- エラーメッセージ「Not polygon shapes」(2014.01.24)
« エラーメッセージ「Not polygon shapes」 | トップページ | [R]SpatialLinesDataFrameオブジェクトから座標データを簡単に抜き出す »

コメント