Я пытаюсь разделить многоугольник на более мелкие многоугольники из линии, но я думаю, что не могу использовать функцию st_split. Что мне нужно, так это создать маленькие полигоны внутри большого, используя сетку линий.
Я пробовал несколько способов, но я не могу получить результат. Что я пробовал:
Разделите один многоугольник от LineString, используя st_split ()
С пограничного многоугольника.
И Линестринг стол:
Мне понадобятся следующие полигоны:
Проблема : я не могу разделить многоугольник по нескольким линиям, ни многоугольник из многоканальной строки.
Другой метод, который я пытаюсь создать, состоит в создании полигонов из линий с помощью st_polygonize (). SQL-код, который я пробовал:
SELECT
g.path[1] as gid,
g.geom::geometry(polygon, 22033) as geom
FROM
(SELECT
(ST_Dump(ST_Polygonize(geom))).*
FROM linestable
) as g;
Извлечено из создания полигонов из линейных сегментов с использованием PostgreSQL и PostGIS
Проблема : я могу получить только один многоугольник (границу).
Может кто-нибудь сказать мне, что было бы лучшим способом получить полигоны из строки, или я что-то упустил?
Примечание. Таблицы находятся в одном и том же SRID, а геометрии привязаны к сетке. В QGIS я могу отлично запустить процесс полигонизации от линий до полигонов.
По требованию Джона, вот таблица линий. https://drive.google.com/file/d/0B603y_m735jfS014S0EyVnpMUEU/view?usp=sharing