Tổng các giá trị pixel trong vùng đa giác trong QGIS?


8

Tôi có hai lớp: lớp raster và lớp vectơ (đa giác). Tôi có thể thấy các giá trị của các pixel raster nhưng tôi không biết cách kết hợp chúng với thông tin từ lớp đa giác. Cụ thể hơn, tôi muốn:

  1. tổng giá trị của tất cả các pixel trong một đường viền của đa giác
  2. đếm số pixel với một giá trị cụ thể trong các đường viền của đa giác

Bất cứ ai có thể giúp đỡ và tư vấn về cách làm điều này trong QGIS?


Tôi không chắc chắn về toàn bộ quá trình trong QGIS, nhưng tôi nghĩ bước đầu tiên sẽ là chuyển đổi raster của bạn thành một lớp vectơ. Bạn có thể sử dụng công cụ Đa giác hóa của QGIS và sử dụng lớp đa giác của bạn làm mặt nạ.
Baltok

Câu trả lời:


6

Sử dụng để bạn phải sử dụng v.rast.stats trong Plugin GRASS, nhưng bây giờ bạn có thể sử dụng Thống kê Zonal sẵn có trong menu Raster.

Bạn có một lớp đa giác được tải và raster. Bạn chạy mục menu.

Điều đó sẽ trả lời phần a) câu hỏi của bạn.

v.rast.stats và các công cụ khác sẽ cung cấp cho bạn đầu ra chi tiết hơn, nhưng có lẽ một quy trình công việc đơn giản cho b) là trích xuất từng đa giác (sử dụng menu Raster | Extraction | Clipper) và sau đó chạy biểu đồ trên mỗi. Phụ thuộc vào cấu trúc dữ liệu của bạn, tần suất bạn phải thực hiện, v.v.


hãy nhớ rằng các chức năng cỏ cũng có thể được truy cập bằng plugin sextante. Với phiên bản mới của qgis sextane đã được tích hợp trong nó (không còn là plugin, mà là thành phần cốt lõi), vì vậy đây là thời điểm tốt để tìm hiểu về nó.
biệt danh

chỉ trong trường hợp bất kỳ ai khác bị kẹt, Zonal Statistics là một plugin mà bạn phải cài đặt / kích hoạt thông qua menu plugin - nếu không nó sẽ không xuất hiện trong menu raster ...
Owen

2

Đối với mục tiêu đầu tiên của bạn, như Willy nói, bạn có thể sử dụng mô-đun v.rast.stat. Mô-đun sẽ tạo các cột mới được điền vào cơ sở dữ liệu vectơ của bạn với các giá trị thống kê mà bạn đang tìm kiếm (giá trị tối thiểu, tối đa, trung bình, độ lệch chuẩn, số đếm , v.v.).

Đối với câu hỏi thứ hai của bạn, bạn cần "ẩn" các giá trị dưới đây (hoặc cao hơn) ngưỡng của bạn. Một cách để làm điều này là bằng cách sử dụng máy tính raster của qgis và nhập biểu thức sau để tính:

(raster@1 >= 10) * raster@1

nhập mô tả hình ảnh ở đây

Dấu ngoặc đơn sẽ tạo mặt nạ, có nghĩa là tất cả các giá trị trên 10 sẽ lấy giá trị 1 và tất cả các giá trị dưới giá trị 0. Và tiếp theo, bạn nhân cả hai giá trị với các giá trị ban đầu. Và rõ ràng là 0 bởi một cái gì đó bằng 0.

Đặt giá trị nốt bằng 0 cho mặt nạ-raster được sản xuất và sau đó chạy lại v.rast.stats.

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.