Próbuję podzielić wielokąt na mniejsze wielokąty z linii, ale myślę, że nie mogę użyć funkcji st_split. Potrzebuję stworzyć małe wielokąty wewnątrz dużego, używając siatki linii.
Próbowałem na kilka sposobów, ale nie mogę uzyskać wyniku. Co próbowałem:
Podziel jeden wielokąt z LineString za pomocą st_split ()
Z wieloboku granicznego.
I Linestring table:
Potrzebowałbym następujących wielokątów:
Problem : Nie mogę rozdzielić wielokąta z kilku linii, ani wielokąta z multilinestingu.
Inną metodą, którą próbuję, jest utworzenie wielokątów z linii za pomocą st_polygonize (). Próbowałem 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;
Wyodrębniono z Tworzenie wielokątów z segmentów linii za pomocą PostgreSQL i PostGIS
Problem : Mogę uzyskać tylko jeden wielokąt (granicę).
Czy ktoś może mi powiedzieć, który byłby najlepszy sposób na wydobycie wielokątów z linestring, czy jeśli czegoś mi brakuje?
Uwaga: Tabele mają ten sam SRID, a geometrie są przyciągane do siatki. W QGIS potrafię perfekcyjnie uruchomić proces poligonizacji od linii do wielokąta.
Zgodnie z żądaniem Johna, oto stół z liniami. https://drive.google.com/file/d/0B603y_m735jfS014S0EyVnpMUEU/view?usp=sharing