我在R中的区域函数遇到麻烦。有时它似乎会产生正确的结果,有时结果似乎关闭了数量级。
例如。我有一个多边形:
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 m^2。
我期望在1000 m^2范围内有更多的东西。
很奇怪的是,这对于我计算的大约一半的单元格似乎很好,但不是另一半。
一个类似的堆叠问题问题指出了奇怪的值,因为这些点的顺序不正确。但是,当我绘制时,例如
plot(data, type="l")
多边形似乎正在正确绘制。
有人知道这里可能出了什么问题吗?谢谢!
在您的示例数据中,结果如注释所述。
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
圆形发挥作用的想法似乎很牵强。