Saya memiliki database postgres dengan batasan administrasi dan geometri mereka. Setiap batas tersebut memiliki nomor identitas.
Apa yang ingin saya capai:
Pertama saya ingin memilih semua baris yang dimulai dengan kode pos tertentu. Sebagai contoh:
SELECT * FROM "post" WHERE "post"."ident" LIKE '101%'
Semua Geometri yang bersebelahan harus digabung dan yang tidak harus dikembalikan.
Saya sudah mencoba pernyataan itu:
Yang ini saya dapatkan dari jawaban ini:
Bergabung dengan banyak poligon kecil untuk membentuk poligon yang lebih besar menggunakan PostGIS?
with t as (
select (st_dump(geom)).geom
from "post"
where "post"."ident" LIKE '593%'
) select ST_UNION(geom) from t;
Tapi pernyataan ini hanya mengembalikan poligon yang berdekatan tetapi yang lain tidak termasuk
with t as (
select (st_dump(geom)).geom
from "post"
where "post"."ident" LIKE '593%'
) select ((ST_Dump(ST_UNION(geom)))) from t;
Saya mendapatkan 2 baris, dan sepertinya ini yang saya inginkan, tetapi saya tidak bisa mendapatkan hasilnya juga ST_AsText.
Apakah ada pernyataan yang mengembalikan semua poligon yang digabungkan jika perlu dan mengembalikannya secara ideal sebagai geoJSON atau mungkin sebagai teks?
sumber