[FOSSGIS-Talk] Punkte mit Linien splitten
Claas Leiner
claas.leiner at gkg-kassel.de
Fr Nov 27 11:39:23 CET 2015
Guten Tag zusammen,
manchmal gibt es ja GIS-Probleme, die auf den ersten Blick einfach
erscheinen aber sich doch nicht so einfach lösen lassen.
Für das Zerteilen von Linien mit Punkten gibt es im QGIS und auch in der
Toolbox über GRASS bzw Saga kein passendes Werkzeug.
Die PostGIS-Funktion ST_Split verspricht jedoch diese Ziel umzusetzen.
Allerdings hat das Werkzeug bei mir nicht getan was es sollte. Das
gleiche gilt für LinesCutAtNodes aus SpatiaLite.
Müssten nicht die Testpunkte, die genau auf der Linie liegen, die Linie
zerschneiden, wenn dieses Statement ausgeführt wird?
----------------------------------------------------
Create table split AS
SELECT Distinct
ST_Split("testlinie"."geom", "testpunkte"."geom") AS geom,
"testlinie"."spalte"
FROM "public"."testlinie", "public"."testpunkte"
----------------------------------------------------
Um die resultierende Geometriecollection aufzulösen, habe ich das ganze
folgendermaßen durchgeführt:
----------------------------------------------------
Create table split AS
Select DISTINCT
ST_CollectionExtract("l"."geom",2) AS Geom,
"l"."test"
from
(SELECT
ST_Split("testlinie"."geom", "testpunkte"."geom") AS geom,
"testlinie"."test"
FROM "public"."testlinie", "public"."testpunkte") AS l
----------------------------------------------------------
Die resultierende Linie ist unzerschnitten. Auch wenn ich vorher Punkte
und Linie mit ST_Snap aufeinander fangen lasse.
Hat jemand das Werkzeug erfolgreich angewandt und kann mir einen Tip
geben - oder gibt es eine Alternative?
Mit besten dank und vielen Grüßen,
Claas