この質問からareaPolygon()
、座標のポリゴン内の面積を与える素晴らしい関数を取得しました。ただし、関数を試してみると、計算が奇妙に見えます。
2 つのポイントのセットを作成することから始めます
require(fields)
coords <- c(11.3697193956209, 47.233380520521, 11.3723606043791,
47.235179479479)
coords <- matrix(coords, nrow=2, ncol=2, byrow=TRUE)
次に、これら 2 つの間の距離を確認します。
rdist.earth(coords,coords,miles=FALSE)[1,2]
取得: 0.2827821 キロメートル (長方形の対角線になります)
長方形の作成を続けます
polygon <- matrix(coords, nrow=2, ncol=2)
polygon <- rbind(polygon, polygon)
polygon[4,2] <- polygon[1,2]
polygon[4,1] <- polygon[2,1]
polygon[3,2] <- polygon[2,2]
polygon[3,1] <- polygon[1,1]
polygon <- rbind(polygon, polygon[1,])
これがうまくいくかどうかを確認してください:plot(polygon)
ステップ 4: ポリゴン内の面積を計算します。
geosphere::areaPolygon(polygon)
[1] 31.99288 #from the help file I know this ought to be square metres.
200*200=40000 m²
ただし、長方形の辺は 200 x 200 メートルなので、予想していたでしょう。これは次の方法で確認できます
rdist.earth(polygon,coords,miles=FALSE)
[,1] [,2]
[1,] 0.0000000 2.827821e-01
[2,] 0.2827821 9.504539e-05
[3,] 0.2002671 1.996434e-01
[4,] 0.1996501 2.002671e-01
だから私の質問に来て(最後に)私は何が間違っているのですか?ご助力ありがとうございます!