2

spパッケージを使用してオブジェクトを作成し、SpatialLinesオブジェクトのリストに保存していますallLines。後で SpatialLines を互いに比較する必要がありますが、これは現在の質問を超えています。

これまでのところ、オブジェクトを構築するだけで済みSpatialLinesます。これは、次の回答に基づく最後のコードですhrbrmstr

library(sp)
allLines <- NULL
x <- c(1,5,4,8)
y <- c(1,3,4,7)
xy <- cbind(x,y)
xy.sp = sp::SpatialPoints(xy)
spl <- SpatialLines(list(Lines(Line(xy.sp), ID="a")))
allLines <- rbind(allLines,spl)

エラーメッセージ:

(function (classes, fdef, mtable) のエラー: シグネチャ '"NULL"' の関数 'proj4string' の継承されたメソッドが見つかりません</p>

この問題を解決するには?

4

3 に答える 3

10

は:

library(sp)

x <- c(1,5,4,8)
y <- c(1,3,4,7)
SpatialLines(list(Lines(Line(cbind(x,y)), ID="a")))

## An object of class "SpatialLines"
## Slot "lines":
## [[1]]
## An object of class "Lines"
## Slot "Lines":
## [[1]]
## An object of class "Line"
## Slot "coords":
##      x y
## [1,] 1 1
## [2,] 5 3
## [3,] 4 4
## [4,] 8 7
## 
## 
## 
## Slot "ID":
## [1] "a"
## 
## 
## 
## Slot "bbox":
##   min max
## x   1   8
## y   1   7
## 
## Slot "proj4string":
## CRS arguments: NA

あなたが探しているものは何ですか?

于 2015-01-17T16:58:36.013 に答える
1

最後の質問に戻って、試してみてください

library(sp)
as(xy.spdf, "SpatialLines")

または、Linesオブジェクトを作成するには(これはあなたが望むものではないかもしれません)、

as(xy.spdf, "SpatialLines")@lines[[1]]
于 2015-01-18T21:29:46.297 に答える