[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