【发布时间】:2018-12-13 19:02:22
【问题描述】:
我目前正在尝试从多边形列表(生物多样性研究的研究领域)创建一个多边形 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 的 this 教程来创建空间多边形,并认为我应该首先创建一个数据框并这样做:
forestm<-do.call(rbind,forest)
但这并没有像你想象的那样返回任何有用的东西,而且它丢失了地块的名称。
由于我还是 R 的新手,我也尝试了许多不同的方法,我无法完全判断这些方法的意义,但没有一个能返回我希望的结果,所以我用这些随机的方法来饶恕你.....
我期待您的建议。
非常感谢
附:我还按照 spatialpolygons{sp} package 中的描述尝试了以下操作:
> Polygons(forest, ID)
Error in Polygons(forest, ID) : srl not a list of Polygon objects
【问题讨论】:
标签: r list polygons spatial-data-frame