亲爱的 stackoverflow 的人们。
我正在尝试计算 SPDF 的每个单独多边形的面积。我正在尝试实现它的功能,使我可以将数据放入并获取区域列表。我坚持创建一个返回多边形所有区域的 for 循环。对于一个多边形的表面计算,以下代码有效:
surfacefirstpolygon <- gArea(inputSPDF[1,1])
当我运行以下代码时,此代码会一一打印 i。
polys <- slot(inputSPDF,"polygons")
for(i in 1:length(polys)){
print(i)
}
然后我尝试通过执行以下操作将这些代码块放在一个 for 循环中:
polys <- slot(inputSPDF,"polygons")
areasofpolygons <- for(i in 1:length(polys)){
gArea(inputSPDF[i,i])
}
这不起作用,并给我以下错误。
is.projected(spgeom)中的错误:在为函数“is.projected”选择方法时评估参数“obj”时出错:[.data.frame
(x@data,i,j,...,drop = FALSE)中的错误:未定义选定的列。
有人知道出了什么问题吗?
结果 =
dd = dim(inputSPDF)
for(i in 1:dd[1]){
areasofpolygons[i] <- gArea(inputSPDF[i,1])
}