Muszę podzielić wielokąty (warstwa „pol”) zarówno na zamknięte, jak i nie zamknięte linie (warstwa „lin”).
Niestety nie otrzymuję poprawnych wyników po uruchomieniu następującego zapytania.
CREATE VIEW splitted_pol AS
SELECT
g.path[1] as gid,
g.geom::geometry(polygon, SRID) as geom
FROM
(SELECT
(ST_Dump(ST_Split(pol.geom, lin.geom))).*
FROM pol, lin
) as g;
W moim przykładzie ST_Split powinien utworzyć sześć wielokątów (warstwa „splitted_pol”).
Czy ktoś wie, jak używać ST_Split z QGIS / PostGIS?
qgis
postgis
postgresql
splitting
Morze Księżycowe
źródło
źródło
ST_Split
.Odpowiedzi:
Możesz stworzyć funkcję mniej więcej taką:
Następnie użyj go w następujący sposób:
To daje sześć rekordów, których oczekujesz. Możesz dodać trochę sprawdzania / obsługi błędów i nie jestem pewien co do skalowalności.
źródło
Używam postGIS sql do dzielenia funkcji według linii w JAVA, a mój kod działał. mój kod to:
public List splitGeometry (String geom1, String geom2) {
Mam nadzieję, że ci pomogę.
źródło