Hitung luas untuk setiap poligon di R

9

Saya bekerja dengan shapefile yang memiliki banyak poligon.

Bagaimana cara menambahkan satu bidang lagi bernama "area_sqkm" dan menghitung area untuk setiap poligon di shapefile?

HLe
sumber
1
Perpustakaan apa yang telah Anda instal dan apa yang sudah Anda coba?
GISKid
5
rgeos :: gArea (x, byid = TRUE)
mdsumner
1
Selamat datang di gis.stackexchange! Harap perhatikan bahwa pertanyaan yang bagus di situs ini diharapkan menunjukkan beberapa tingkat penelitian di pihak Anda, yaitu apa yang telah Anda coba dan - jika berlaku - kode sejauh ini. Untuk info lebih lanjut, Anda dapat memeriksa faq kami .
underdark

Jawaban:

19

Anda dapat melakukan

library(raster)
x <- shapefile('file.shp')
crs(x)
x$area_sqkm <- area(x) / 1000000

Dengan asumsi bahwa crs Anda adalah bujur / lintang, atau dengan meter sebagai satuan jarak

Robert Hijmans
sumber
1
Apakah raster::area()dengan data yang rgeos::gArea()diproyeksikan lebih akurat daripada dengan data yang diproyeksikan?
Richard DiSalvo
1
Itu bisa saja. Karena proyeksi mendistorsi. Jika jarak antar-simpul poligon tinggi, proyeksi dapat mendistorsi area lebih jauh (lihat geospheresketsa).
Robert Hijmans