Mendapatkan atribut titik dari lapisan poligon menggunakan QGIS?

10

Saya memiliki dua lapisan, satu (A) memiliki fitur titik dan yang lainnya (B) memiliki poligon.

Bagaimana cara menghasilkan tabel baru dengan beberapa (ID) atau semua bidang dari tabel A dan beberapa (kode area) atau semua dari tabel B di mana poligon B berisi titik A?

Saya menggunakan QGIS.

Andrea Ballarati
sumber

Jawaban:

13

Anda dapat melakukan join on location ("di mana poligon B berisi titik A") menggunakan "Gabung atribut berdasarkan lokasi" dari menu "Vector". Lapisan yang dihasilkan akan berisi semua atribut dari kedua lapisan.

Alternatif yang lebih cepat adalah SAGA> Alat titik vektor> Tambahkan atribut poligon ke titik yang tersedia melalui kotak alat pemrosesan di QGIS.

underdark
sumber
0

Melalui SQL

Anda akan memerlukan akses ke data dan akses ke SQL db, Anda dapat memperoleh informasi melalui kueri SQL sederhana. Contoh ini ditulis untuk SQL Server di TSQL.

Kueri akan mencantumkan ID Hydrant (Layer A) dan Fire District (Layer B) bersama dengan pengidentifikasi umum dan definisi geometri masing-masing. Karena memiliki geometri yang ditentukan, jika Anda memasukkan hasil ini ke dalam tabel, Anda dapat memeriksanya di peta Anda.

SELECT WHYDRANT.OBJECTID AS HYDID,
    WFIREDISTRICT.OBJECTID AS FDID, WHYDRANT.UNID AS UNID,
    WFIREDISTRICT.UNID AS FDUNID, WHYDRANT.SHAPE
FROM WFIREDISTRICT 
    INNER JOIN WHYDRANT ON 
        WFIREDISTRICT.SHAPE.STContains(WHYDRANT.SHAPE()) = 1
Rick Monteiro
sumber