【发布时间】:2014-10-28 17:10:04
【问题描述】:
我正在尝试学习如何使用 R 包中的一些函数来计算面积。 areapl() 是我在 splancs 包中找到的第一个。帮助文件末尾有一个示例:
x <- c(1,0,0,1,1,1,1,3,3,1)
y <- c(0,0,1,1,0,0,-1,-1,0,0)
m <- cbind(x, y)
plot(m, type="b")
areapl(m)
areapl(m[1:5,])
areapl(m[6:10,])
显然areapl(m[1:5,]) 和areapl(m[6:10,]) 的答案是我们所期望的,但是当我尝试这个areapl(m) 时,它给了我1 作为答案。我的预期是areapl(m[1:5,]) 和areapl(m[6:10,]) 的总和应该是3,而不是两个区域的差。
谁能帮我理解这个函数是如何工作的?
非常感谢您的帮助。
【问题讨论】:
-
来自
?areapl- "计算多边形的面积。如果多边形自相交,则面积将不正确。跨度> -
自相交是指重叠吗?我也尝试过其他选项,只要一个图中有两个区域,结果就不会正确。
-
事实上,多边形本身会加倍。例如,您可以定义与提供
3区域相同的形状,例如:x <- c(1,0,0,1,1 ,3, 3, 1,1);y <- c(0,0,1,1,0,0,-1,-1,0); -
我明白了,谢谢您的帮助