Tính diện tích cho mỗi đa giác trong R


9

Tôi đang làm việc với một shapefile có nhiều đa giác.

Làm cách nào để thêm một trường có tên "area_sqkm" và tính diện tích cho mỗi đa giác trong shapefile?


1
Những thư viện nào bạn đã cài đặt và những gì bạn đã thử?
GISKid

5
rgeos :: gArea (x, byid = TRUE)
mdsumner

1
Chào mừng đến với gis.stackexchange! Xin lưu ý rằng một câu hỏi hay trên trang web này dự kiến ​​sẽ hiển thị một số mức độ nghiên cứu về phần của bạn, tức là những gì bạn đã thử và - nếu có thể - mã cho đến nay. Để biết thêm thông tin, bạn có thể kiểm tra faq của chúng tôi .
underdark

Câu trả lời:


19

Bạn có thể làm

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

Giả sử rằng crs của bạn là kinh độ / vĩ độ, hoặc với đơn vị đo là đơn vị khoảng cách


1
raster::area()với dữ liệu chưa được cung cấp chính xác hơn so rgeos::gArea()với dữ liệu dự kiến?
Richard DiSalvo

1
Nó có thể. Vì dự đoán méo mó. Nếu khoảng cách giữa các nút của đa giác cao, phép chiếu có thể làm biến dạng khu vực hơn nữa (xem phần geospherehọa tiết).
Robert Hijmans
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.