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 m^2 の範囲でもっと何かを期待していました。
奇妙なことに、これは私が計算している約半分のセルではかなりうまく機能しているように見えますが、残りの半分では機能していないようです。
同様のStackOverflow の質問では、ポイントの順序が正しくないため、奇妙に小さい値が指摘されました。ただし、プロットすると、たとえば
plot(data, type="l")
ポリゴンは正しく描画されているようです。
ここで何が間違っているのか知っている人はいますか?ありがとう!