【发布时间】:2019-02-22 16:20:39
【问题描述】:
我无法在 R 中计算具有多部分多边形(一个特征包含两个单独的多边形)的导入 shapefile 的面积。我注意到 ArcMap 给我的 shapefile 区域的值与raster::area 不同。为了弄清楚哪个程序给了我正确的面积,我将 shapefile 分解为单个部分并重新计算了两个单独多边形的面积:
library(raster)
> single_part <- shapefile("../Desktop/test/test_sp.shp")
> area(single_part)
[1] 575924.0 433409.8
> sum(area(single_part))
[1] 1009334
>
> multi_part <- shapefile("../Desktop/test/test_mp.shp")
> area(multi_part)
[1] 1018390
我现在意识到我知道这个问题,我应该总是将多边形要素类分解成单个部分,但是有人知道raster::area 如何计算多部分多边形的面积吗?我也尝试使用rgeos::gArea,但得到了相同的结果。有没有办法计算 R 中多部分多边形的面积?
我很想知道,因为它们很常见,我正在尝试从 ArcMap 中的所有分析切换到 R。
如果有帮助,这里是 shapefile 的图像: multipart poly shapefile
编辑于 2018 年 9 月 21 日添加 ------------------------- ---------------
这是link to the shapefile test_mp.shp
据我所知,问题似乎源于 R(相对于 ArcMap)如何解释这些漏洞。查看ArcMap display 和R display 之间的区别。出于某种原因,R 作为 shapefile 的一部分填充了这些孔,这一定是我对该区域进行不同计算的原因。 shapefile 是否有问题,或者我如何导入它?
【问题讨论】:
-
看看这个答案是否有用,可以使用
byid=TRUE标志或拆分方法。 gis.stackexchange.com/questions/200420/… -
@Anonymouscoward 不,我已经读过那个答案了,它涵盖了不同的主题。