Ho un database postgres con confini amministrativi e la loro geometria. Ognuno di questi confini ha un numero identificativo.
Cosa voglio ottenere:
Per prima cosa voglio selezionare tutte le righe che iniziano con un codice postale particolare. Per esempio:
SELECT * FROM "post" WHERE "post"."ident" LIKE '101%'
Tutte le geometrie adiacenti devono essere unite e anche quelle che non lo sono devono essere restituite.
Ho provato quelle dichiarazioni:
Questo ho da questa risposta:
Unire un sacco di piccoli poligoni per formare un poligono più grande con PostGIS?
with t as (
select (st_dump(geom)).geom
from "post"
where "post"."ident" LIKE '593%'
) select ST_UNION(geom) from t;
Ma questa affermazione restituisce solo quei poligoni che sono adiacenti ma altri non sono inclusi
with t as (
select (st_dump(geom)).geom
from "post"
where "post"."ident" LIKE '593%'
) select ((ST_Dump(ST_UNION(geom)))) from t;
Ricevo 2 righe e sembra che questo potrebbe essere quello che voglio, ma non riesco a ottenere il risultato anche come ST_AsText.
C'è un'affermazione che restituisce tutti i poligoni uniti dove necessario e lo restituisce idealmente come geoJSON o forse come testo?