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を使用して作成したオブジェクトでも扱いは全く同じ。