У мене є база даних postgres з адміністративними межами та їх геометрією. Кожен з цих меж має ідентичний номер.
Чого я хочу досягти:
Спочатку я хочу вибрати всі рядки, які починаються з певного поштового коду. Наприклад:
SELECT * FROM "post" WHERE "post"."ident" LIKE '101%'
Усі ті геометрії, які є суміжними, повинні бути об'єднані, а ті, що не є, також повинні бути повернені.
Я спробував такі твердження:
Це я маю з цієї відповіді:
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 або, можливо, як текст?