Total bidang atribut dari layer titik per lapisan poligon

8

Saya memiliki poligon bentuk banyak danau, saya juga memiliki titik titik lokasi di danau-danau tempat ikan ditangkap.

Shapefile titik berisi atribut: Fisherman_iD, Fish_Caught, Lat, Long.

Shapefile poligon berisi atribut Lake_name, Points_per_polygon (PNTCNT)

Setiap titik jelas memiliki entri yang berbeda di bawah bidang fish_caught.

Yang ingin saya dapatkan adalah ikan rata-rata yang ditangkap per danau (poligon).

Jadi saya harus memiliki jumlah total ikan yang ditangkap, per poligon individu, dan kemudian saya dapat membaginya dengan file PNTCNT yang saya buat menggunakan Poin dalam alat Polygon.

Ide ide? Saya relatif baru di QGIS.

Kenyal
sumber
Apakah semua danau bersatu dalam shapefile atau masing-masing danau memiliki atributnya sendiri?
Gus Velasco
Semua danau berada dalam satu bentuk
Chewy
Saya tidak mengerti bagian pertama dari penjelasan Anda. Mengapa Anda memerlukan titik pembentukan lokasi? Jika Anda membuat titik dalam poligon dengan titik shapefile (Nelayan, dll) Anda mendapatkan berapa banyak nelayan di danau mana pun, kalikan dengan jumlah ikan yang ditangkap dan Anda memiliki Jumlah ikan di setiap danau.
Gus Velasco
3
Sudahkah Anda mencoba "Gabung berdasarkan lokasi"? Anda dapat memilih untuk "menjumlahkan" nilai atribut.
underdark
Terima kasih! Bergabung dengan lokasi bekerja pada akhirnya! Suka forum ini =)
Chewy

Jawaban:

8

Jika mengatur PostGIS sekarang lebih dari yang Anda ingin terlibat, Anda dapat bertahan dengan upaya yang jauh lebih sedikit dalam program yang Anda pilih.

Anda akan ingin menetapkan masing-masing poin Anda nama danau sehingga Anda dapat menjumlahkan tangkapan dengan variabel danau. Inilah yang oleh orang ArcGIS disebut sebagai gabungan spasial. Dalam bahasa qgis, Anda dapat melakukan beberapa hal:

  • Poin dalam poligon, menugaskan hitungan poin ke poligon (tapi ini tidak akan mempertahankan kategori lapisan poin, jadi Anda mungkin akan lebih suka
  • bergabung berdasarkan lokasi. Ini Anda temukan di Vektor -> Alat Manajemen Data -> Gabung Atribut berdasarkan Lokasi.

masukkan deskripsi gambar di sini

masukkan deskripsi gambar di sini

ako
sumber
+1 untuk jawaban ini. Yang dapat Anda lakukan adalah mengekspor & membuka tabel yang dihasilkan di excel (atau serupa) dan membuat tabel pivot. Label baris: lake_name; nilai: rata-rata Fish_Caught.
dez93_2000
1

Jika Anda mengimpor data Anda ke dalam database PostGIS atau Spatialite, ini adalah tugas yang cukup sederhana untuk kueri SQL spasial. Itu akan menjadi sesuatu seperti:

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
HeyOverThere
sumber