ฉันมีฐานข้อมูล postgres ที่มีขอบเขตการบริหารและรูปทรงเรขาคณิตของพวกเขา แต่ละขอบเขตมีจำนวนรหัส
สิ่งที่ฉันต้องการบรรลุ:
ก่อนอื่นฉันต้องการเลือกแถวทั้งหมดที่เริ่มต้นด้วยรหัสไปรษณีย์เฉพาะ ตัวอย่างเช่น:
SELECT * FROM "post" WHERE "post"."ident" LIKE '101%'
ควรผสานรวมรูปเรขาคณิตเหล่านั้นทั้งหมดที่อยู่ติดกันและที่ไม่ควรส่งคืน
ฉันลองข้อความเหล่านี้แล้ว:
หนึ่งนี้ฉันมีจากคำตอบนี้:
เข้าร่วมรูปหลายเหลี่ยมขนาดเล็กจำนวนมากเพื่อสร้างรูปหลายเหลี่ยมขนาดใหญ่ขึ้นโดยใช้ PostGIS
with t as (
select (st_dump(geom)).geom
from "post"
where "post"."ident" LIKE '593%'
) select ST_UNION(geom) from t;
แต่คำสั่งนี้จะส่งกลับเฉพาะรูปหลายเหลี่ยมที่อยู่ติดกัน แต่ไม่รวมอยู่ในรูปอื่น
with t as (
select (st_dump(geom)).geom
from "post"
where "post"."ident" LIKE '593%'
) select ((ST_Dump(ST_UNION(geom)))) from t;
ฉันได้รับ 2 แถวและดูเหมือนว่านี่อาจเป็นสิ่งที่ฉันต้องการ แต่ฉันไม่สามารถรับผลลัพธ์ได้เช่นกัน ST_AsText
มีคำสั่งที่ส่งคืนรูปหลายเหลี่ยมทั้งหมดที่รวมกันในกรณีที่จำเป็นและส่งกลับอย่างสมบูรณ์แบบเป็น geoJSON หรืออาจเป็นข้อความหรือไม่?