Ich habe eine Postgres-Datenbank mit administrativen Grenzen und deren Geometrie. Jede dieser Grenzen hat eine Identifikationsnummer.
Was ich erreichen möchte:
Zuerst möchte ich alle Zeilen auswählen, die mit einer bestimmten Postleitzahl beginnen. Beispielsweise:
SELECT * FROM "post" WHERE "post"."ident" LIKE '101%'
Alle angrenzenden Geometrien sollten zusammengeführt werden, und diejenigen, die nicht benachbart sind, sollten ebenfalls zurückgegeben werden.
Ich habe diese Aussagen ausprobiert:
Diesen habe ich aus dieser Antwort:
Verbinden Sie viele kleine Polygone, um mit PostGIS ein größeres Polygon zu bilden?
with t as (
select (st_dump(geom)).geom
from "post"
where "post"."ident" LIKE '593%'
) select ST_UNION(geom) from t;
Diese Anweisung gibt jedoch nur die Polygone zurück, die benachbart sind, andere jedoch nicht enthalten sind
with t as (
select (st_dump(geom)).geom
from "post"
where "post"."ident" LIKE '593%'
) select ((ST_Dump(ST_UNION(geom)))) from t;
Ich bekomme 2 Zeilen und es scheint, dass dies das sein könnte, was ich will, aber ich kann das Ergebnis nicht als ST_AsText erhalten.
Gibt es eine Anweisung, die bei Bedarf alle zusammengeführten Polygone zurückgibt und sie idealerweise als geoJSON oder vielleicht als Text zurückgibt?
quelle