我在使用R中的areaPolygon函数时遇到了问题。有时它似乎产生了正确的结果,有时结果看起来有点数量级。
E.g。我有一个带有这些点的多边形:
lng <- c(-51.74768, -51.74768, -51.74735, -51.74735)
lat <- c(-0.1838690, -0.1840993, -0.1840984, -0.1838682)
并将它们组合成数据帧
data <- data.frame(lng, lat)
然后我尝试获得该区域:
area <- geosphere::areaPolygon(x = data)
出来326928.8平方公尺。
我期待1000平方米范围内的更多东西。
奇怪的是,对于我正在计算的大约一半的细胞,这似乎相当不错,但不是另一半。
A similar StackOverflow question注意到奇怪的小值,因为这些点的顺序不正确。但是,当我绘制时,例如
plot(data, type="l")
多边形似乎正在正确绘制。
有人知道这里可能有什么问题吗?谢谢!
答案 0 :(得分:0)
对于您的示例数据,结果如预期的那样,如注释中所述。
library(geosphere)
lng <- c(-51.74768, -51.74768, -51.74735, -51.74735)
lat <- c(-0.1838690, -0.1840993, -0.1840984, -0.1838682)
d <- cbind(lng, lat)
geosphere::areaPolygon(d)
#[1] 935.2693
四舍五入发挥作用的想法似乎牵强。