我目前正在尝试从多边形列表(生物多样性研究的研究领域)创建一个多边形 shapefile。
目前,这些多边形以这种格式存储在列表中:
$SEW22
[,1] [,2]
[1,] 427260.4 5879458
[2,] 427161.4 5879472
[3,] 427175.0 5879571
[4,] 427273.9 5879557
[5,] 427260.4 5879458
$SEW23
[,1] [,2]
[1,] 418011.0 5867216
[2,] 417912.0 5867230
[3,] 417925.5 5867329
[4,] 418024.5 5867315
[5,] 418011.0 5867216
我尝试使用 writeOGR 将它们简单地写为 shpfile,但出现以下错误:
> #write polygons to shp
> filenameshp <- paste('Forestplots')
> layername <- paste('Forestplots')
> writeOGR(obj=forest, dsn = filenameshp,
+ layer=layername, driver="ESRI Shapefile", overwrite_layer = TRUE)
Error in writeOGR(obj = forest, dsn = filenameshp, layer = layername, :
inherits(obj, "Spatial") is not TRUE
我阅读了 Barry Rowlingson 的本教程来创建空间多边形,并认为我应该首先创建一个数据框并这样做:
forestm<-do.call(rbind,forest)
但这并没有像您想象的那样返回任何有用的信息,而且它丢失了地块的名称。
因为我还是 RI 的新手,所以我也尝试了许多不同的方法,我无法完全判断这些方法的意义,但没有一个能返回我所希望的,所以我用这些随机的方法来饶恕你.....
我期待着你的提议。
非常感谢
PS我还按照spatialpolygons{sp}包中的描述尝试了以下内容:
> Polygons(forest, ID)
Error in Polygons(forest, ID) : srl not a list of Polygon objects