1
ポリゴンリストの面積と重心を計算する関数を作成します(georgia.polysの形式)。ポリゴンの面積の式はポリゴンの面積と重心を計算するためのR
Aは多角形領域であり、Xiはポリゴン境界(RにおけるX [i])とのx座標I THであり、Yiはiはありますポリゴン境界のy座標(Rのy [i]) - nはポリゴン境界を指定するために使用される点の数です。ポリゴンは、xiとyiがxnとynと同じ値をとるように閉じた形であると仮定されます。ここ
が既に作成されたコードであるが、これはいくつかの結果である重心座標がlibrary(GISTools)
data("georgia")
polyn<-function(x){
poly.df<-data.frame()
for(d in 1:159){
poly.d<-x[[d]]
n<-length(poly.d[,1])
i<-1
A.sum<-0
C.xsum<-0
C.ysum<-0
while(i<n){
A.area<-0.5*(poly.d[i,2]*poly.d[i+1,1]-poly.d[i+1,2]*poly.d[i,1])
A.sum<-A.sum+A.area
C.x<-(1/(6*A.sum))*(poly.d[i,2]+poly.d[i+1,2])*(poly.d[i,2]*poly.d[i+1,1]-poly.d[i+1,2]*poly.d[i,1])
C.xsum<-C.xsum+C.x
C.y<-(1/(6*A.sum))*(poly.d[i,1]+poly.d[i+1,1])*(poly.d[i,2]*poly.d[i+1,1]-poly.d[i+1,2]*poly.d[i,1])
C.ysum<-C.ysum+C.y
i<-i+1
}
poly.df<-rbind(poly.df, c(A.sum,C.xsum,C.ysum))
colnames(poly.df) <- c("Area", "Cx", "Cy")
}
poly.df
}
polyn(georgia.polys)
正しいないでくださいイム: 重心座標(Cxとは、Cy)を有していますその機能は、
Area Cx Cy
1 1326077000 4044403.4 4855396.03
2 891511462 -2237689.5 -2962558.41
3 740601936 10709355.7 12996988.27
誰かが私のコードを助けることができますか?