Я некоторые геометрические формы, хранящиеся в этой таблице (140K)PostGIS - Объединение буферов геометрии в различных группах (при пересечении)
CREATE TABLE буферов (рк целое число NOT NULL, геометрия геом (MultiPolygon, 4326),)
и я хотел бы создать (если это возможно) новую таблицу (buffersmerged), который будет содержать результирующие геометрии, где предварительные просмотры являются сгруппированными только Whe n их пересекающихся между собой.
Мой ожидаемый результат, как при использовании в QGIS инструмент Buffer (s), проверяющий «растворение результатов буфера», но я бы хотел, а не просто большую уникальную геометрию в качестве вывода, более маленькие группы (один для каждая группа пересекающихся геометрий)
пожалуйста, вы можете помочь мне понять, как я могу построить запрос, который позволяет мне сделать это? (Включен Postgres + PostGIS) Спасибо
Stefano
Прежде всего, спасибо за быстрый ответ. Нет, мне не нужны никакие атрибуты, просто геометрия. Как только я запускаю свой код, у меня есть таблица, которая выглядит неплохо, но без какой-либо геометрии. То, что я сделал, чтобы исправить это (возможно, не сексуально), заключалось в создании таблицы с уже определенным двумя столбцами (pk, geom), где вторая уже была определена как POLYGON. И теперь это работает! Спасибо – Stefano
Странно, по мне заявление работало. Может быть, вы можете отредактировать мой ответ и добавить свое обходное решение? Не забудьте принять ответ, если он работает. –
перед редактированием я покажу вам обход: > CREATE TABLE buffersmerged (pk serial NOT NULL PRIMARY KEY, геометрия геометрии (POLYGON, 4326)); , а затем:. > INSERT INTO buffersmerged (GEOM) > SELECT (ST_dump (ST_union (a.geom))) геом > из буферов а, б буферы > ГДЕ ST_intersects (a.geom, b.geom) И a.pk! = b.pk; , вероятно, есть способ сделать один запрос, но я не знаю, как это сделать. как принять ответ? верхняя стрелка? – Stefano