PostGIS: bagaimana cara menggabungkan fitur berdekatan yang berbagi nilai atribut yang sama?


9

Saya memiliki fitur penyimpanan tabel PostGIS yang besar.

Saya ingin menggabungkan fitur yang keduanya terhubung satu sama lain dan telah memberikan nilai atribut yang identik. Berikut ini contoh yang ingin saya capai.

  • Fitur terluar (hitam dan biru) tidak digabungkan karena tidak ada bersebelahan bahkan jika nilai atributnya sama
  • Fitur hijau dan merah digabung karena keduanya cocok dengan kedua kondisi
  • Fitur kuning dibiarkan seperti sebelumnya.

Bagaimana Anda mencapainya dengan query SQL? masukkan deskripsi gambar di sini

Jawaban:


7

Anda dapat melakukan ini dengan ST_ClusterIntersecting :

SELECT attr, unnest(ST_ClusterIntersecting(geom))
FROM lines
GROUP by attr;

Terima kasih @daston! Saya akan mencobanya dalam beberapa hari mendatang dan memberi tahu Anda.
wiltomap

Fungsi ST_ClusterIntersecting()ini tersedia dari PostGIS 2.2 ... Apakah ada solusi dengan versi yang lebih lama? Saya menggunakan PostGIS 2.1.8 dan saya tidak dapat memutakhirkan PostGIS untuk saat ini.
wiltomap

Tidak ada yang saya anggap baik .... sebenarnya situasi inilah yang memotivasi saya untuk menulis ST_ClusterIntersecting. Beberapa ide pra-2.2 ada di gis.stackexchange.com/q/94203/18189
dbaston
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.