Làm thế nào để tôi tính diện tích của một shapefile diện tích bằng mét vuông hoặc theo mẫu (ha)?
Tôi đã không tìm thấy chức năng đó trong các công cụ vector.
Làm thế nào để tôi tính diện tích của một shapefile diện tích bằng mét vuông hoặc theo mẫu (ha)?
Tôi đã không tìm thấy chức năng đó trong các công cụ vector.
Câu trả lời:
Làm cho lớp có thể chỉnh sửa, sau đó sử dụng máy tính trường (Lớp> Bảng thuộc tính mở> Máy tính trường / Ctrl + I hoặc nhấp chuột phải vào shapefile> Mở bảng thuộc tính> Máy tính trường / Ctrl + I). Có một toán tử "$ area" sẽ tính diện tích của mỗi hàng trong bảng. Tất cả các đơn vị sẽ được tính theo đơn vị của phép chiếu, vì vậy bạn có thể muốn chiếu nó lên một phép chiếu sử dụng feet hoặc mét trước khi thực hiện điều đó, thay vì lat / lon.
area(transform($geometry, 'EPSG:4326','EPSG:3763'))
sao?
Điều này cũng có thể được thực hiện với Vector | Công cụ hình học | Thêm / xuất các cột hình học, tạo ra một shapefile mới với các cột có diện tích và chu vi (hoặc chiều dài) được thêm vào.
Chỉnh sửa: (sử dụng công cụ ở trên, bạn cũng có thể bỏ chọn "lưu dưới dạng tệp hình dạng mới" trong v1.8, shapefile hiện chỉ được cập nhật!)
Tuy nhiên, sử dụng máy tính trường có lẽ là một ý tưởng tốt hơn, vì nó không yêu cầu tạo ra một shapefile mới.
Tôi đã viết một kịch bản đặc biệt cho việc này. Nếu bạn không muốn từ chối dữ liệu của mình, bạn có thể tính diện tích bằng toán học ellipsoidal.
Processing Toolbox -> Tools -> Get scripts from on-line scripts collection -> Ellipsoidal Area
Bạn sẽ tìm thấy tập lệnh được cài đặt trong
Processing Toolbox -> Utils -> Ellipsoidal area
Công cụ nên tự giải thích và sẽ cho phép bạn tính diện tích theo đơn vị bạn chọn bất kể hình chiếu.
Nếu các khu vực bạn đang xem có khả năng thay đổi, chẳng hạn như xem bố cục cơ sở hạ tầng, khu vực lưu vực, khu vực nghiên cứu, v.v., tôi thấy hữu ích khi chỉ cần gắn nhãn các khu vực, thay vì thêm chúng làm thuộc tính.
Label-> round($area/10000,2)||' ha'
Bằng cách này, bạn không cần phải nhớ cập nhật các khu vực lưu vực trong các bảng thuộc tính thường xuyên.