Tổng số trường thuộc tính của lớp điểm trên mỗi lớp đa giác


8

Tôi có một shapefile đa giác của nhiều hồ, tôi cũng có một shapefile điểm của các vị trí trên những hồ mà cá bị bắt.

Shapefile điểm chứa các thuộc tính: Fisherman_iD, Fish_Caught, Lat, Long.

Shapefile đa giác chứa các thuộc tính Lake_name, Points_per_polygon (PNTCNT)

Mỗi điểm rõ ràng có các mục khác nhau trong trường fish_caught.

Những gì tôi muốn nhận được là cá trung bình đánh bắt trên mỗi hồ (đa giác).

Vì vậy, tôi cần phải có tổng số lượng cá bắt được, trên mỗi đa giác riêng lẻ và sau đó tôi có thể chia số đó cho tệp PNTCNT mà tôi tạo bằng cách sử dụng Điểm trong công cụ Đa giác.

Ý tưởng? Tôi còn khá mới với QGIS.


Có phải tất cả các hồ cùng nhau trong shapefile hoặc mỗi hồ có thuộc tính riêng của nó?
Gus Velasco

Tất cả các hồ nằm trong một shapefile
Chewy

Tôi không hiểu phần đầu tiên trong lời giải thích của bạn. Tại sao bạn cần một shapefile điểm của các vị trí? Nếu bạn thực hiện một điểm trong đa giác với shapefile điểm (Ngư dân, v.v.), bạn sẽ có bao nhiêu ngư dân ở bất kỳ hồ nào, nhân với số lượng cá đánh bắt và bạn có số lượng cá trong mỗi hồ.
Gus Velasco

3
Bạn đã thử "Tham gia theo địa điểm" chưa? Bạn có thể chọn "tổng" các giá trị thuộc tính.
underdark

Cảm ơn! Tham gia theo vị trí làm việc cuối cùng! Yêu diễn đàn này =)
Chewy

Câu trả lời:


8

Nếu việc cài đặt PostGIS ngay bây giờ nhiều hơn bạn muốn tham gia, bạn có thể nhận được bằng cách nỗ lực ít hơn nhiều trong chương trình bạn đã chọn.

Bạn sẽ muốn gán cho mỗi điểm của mình tên của hồ để bạn có thể tính tổng số lần bắt theo biến hồ. Đây là những gì mọi người ArcGIS gọi là tham gia không gian. Theo cách nói của qgis, bạn có thể làm một vài điều:

  • Điểm trong đa giác, gán số điểm cho đa giác (nhưng điều này sẽ không giữ lại các loại của lớp điểm, vì vậy bạn có thể sẽ thích
  • tham gia dựa trên địa điểm. Điều này bạn tìm thấy trong Vector -> Công cụ quản lý dữ liệu -> Tham gia thuộc tính theo vị trí.

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

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


+1 cho câu trả lời này. Những gì bạn có thể làm là xuất và mở bảng kết quả trong excel (hoặc tương tự) và tạo một bảng trụ. Nhãn hàng: lake_name; giá trị: trung bình của Fish_Caught.
dez93_2000

1

Nếu bạn nhập dữ liệu của mình vào cơ sở dữ liệu PostGIS hoặc Spatialite, đây là một nhiệm vụ khá đơn giản cho truy vấn SQL không gian. Nó sẽ giống như:

SELECT l.lake_name, avg(f.fish_caught)
FROM lakes l, fish f
WHERE ST_Intersects(l.geom, f.geom)
GROUP BY l.lake_name
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.