我在R中的areaPolygon函数遇到了问题,有时它似乎产生了正确的结果,有时结果似乎偏离了几个数量级。
例如,我有一个包含这些点的多边形:
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米^2的范围内有更多的东西。
奇怪的是,这似乎对我正在计算的大约一半的单元格起到了相当好的作用,但对另一半则不然。
similar StackOverflow question注意到奇怪的小值,这是由于点的顺序不正确。然而,当我绘制时,例如
plot(data, type="l")多边形似乎绘制正确。
有人知道这里可能出了什么问题吗?谢谢!
发布于 2019-05-27 00:29:24
使用您的示例数据,结果如注释中所示。
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四舍五入发挥作用的想法似乎很牵强。
https://stackoverflow.com/questions/41386662
复制相似问题