# Zerteilen von Linienelementen an Kreuzungspunkten?

**URL:** https://www.pg-forum.de/t/zerteilen-von-linienelementen-an-kreuzungspunkten/12754
**Category:** PostGIS
**Created:** [6. April 2023 um 07:51 UTC](https://www.pg-forum.de/t/zerteilen-von-linienelementen-an-kreuzungspunkten/12754 "2023-04-06T07:51:19Z")
**Posts on this page:** 7
**Page:** 1

<div class="post-metadata">

### Author: ![jo.f](https://www.pg-forum.de/letter_avatar_proxy/v4/letter/j/73ab20/32.png) [@jo.f](https://www.pg-forum.de/u/jo.f)
#### Post date: [6. April 2023 um 07:51 UTC](https://www.pg-forum.de/t/zerteilen-von-linienelementen-an-kreuzungspunkten/12754/1 "2023-04-06T07:51:19Z")

</div>

Hallo,  
ich habe mir Daten von OSM, bezüglich Wanderwegen, in eine PostGIS DB geholt und nun festgestellt, dass die Daten einfach nur fürchterlich sind, da sie von Laien ins System gebracht wurden.  
Wege-Objekte sind teilweise 10km und länger, was nicht sinnvoll für meine Idee ist, eine Webapp zu erstellen, in welcher sehr flexibel Wege durch Nutzer einzuschätzen sind.  
Die Daten sehen leider so aus: [https://photos.app.goo.gl/9EiSZs2Rjrqqayfp6](https://photos.app.goo.gl/9EiSZs2Rjrqqayfp6)

Ich möchte nun die Wege an jedem Zusammentreffen von Wegen (Kreuzung und Endpunkt Situation möglich) trennen, sodass kürzere Wegeobjekte entstehen.  
Leider habe ich nicht den leisesten Ansatz, da ich Geometrien sonst nur als Ganzes (als Box oder Center) betrachtet habe und noch nie in solche Verschneidungsoperationen geschnuppert habe.

Es müsste ja ebenfalls die alte Geometrie jedes mal auch gelöscht und in zwei neue geteilt neu eingefügt werden. Vielleicht jede Geometrie einzeln prüfen lassen, auf mögl. Knoten testen und getrennt oder ungetrennt (je nach Fall) in einer neuen Tabelle ablegen? … nur wie?

Was meint ihr, welcher Weg würde hier einen Sinn ergeben?

Oder gibt es vielleicht schon einen besseren Datensatz? Ich kann mir nicht vorstellen, wie Fußgängernavis damit arbeiten sollen, aber es gibt sie ja, auf Basis von OSM.

Grüße in die Runde! 🙂

---

<div class="post-metadata">

### Author: ![Gisman](https://www.pg-forum.de/user_avatar/www.pg-forum.de/gisman/32/252_2.png) [@Gisman](https://www.pg-forum.de/u/Gisman)
#### Post date: [6. April 2023 um 08:59 UTC](https://www.pg-forum.de/t/zerteilen-von-linienelementen-an-kreuzungspunkten/12754/2 "2023-04-06T08:59:27Z")

</div>

Hallo!  
Das hier sollte tun was du brauchst:  
[https://postgis.net/docs/ST\_Split.html](https://postgis.net/docs/ST_Split.html)  
Viele Grüße Uwe

---

<div class="post-metadata">

### Author: ![jo.f](https://www.pg-forum.de/letter_avatar_proxy/v4/letter/j/73ab20/32.png) [@jo.f](https://www.pg-forum.de/u/jo.f)
#### Post date: [6. April 2023 um 09:51 UTC](https://www.pg-forum.de/t/zerteilen-von-linienelementen-an-kreuzungspunkten/12754/3 "2023-04-06T09:51:49Z")

</div>

Oh, das sieht gut aus, danke! 🙂

---

<div class="post-metadata">

### Author: ![jo.f](https://www.pg-forum.de/letter_avatar_proxy/v4/letter/j/73ab20/32.png) [@jo.f](https://www.pg-forum.de/u/jo.f)
#### Post date: [9. April 2023 um 10:29 UTC](https://www.pg-forum.de/t/zerteilen-von-linienelementen-an-kreuzungspunkten/12754/4 "2023-04-09T10:29:52Z")

</div>

Ach, seit V2 von PostGIS gibts das, alles klar. Ich war schon ne Weile raus aus Geodatenberechnungen.

Hier mein Statement, welches ich abgeschickt habe:

CREATE TABLE split\_line\_point AS  
SELECT osm\_id,ST\_Split(mline.way, pt.geom)  
FROM planet\_osm\_line As mline, schnittpunkte As pt

Hoffe es dauert keine Woche … 😃

Wenn ich hier einen Denkfehler gemacht habe, korrigiert mich gern! 😃  
Die Wege der DB sind unergründlich … 😉

Danach dann die IDs aus der entstandenen Tabelle aus der org. Tabelle löschen und zusammenführen. Ich hoffe nur, da kommt jetzt kein Murks raus… 😃

---

<div class="post-metadata">

### Author: ![Gisman](https://www.pg-forum.de/user_avatar/www.pg-forum.de/gisman/32/252_2.png) [@Gisman](https://www.pg-forum.de/u/Gisman)
#### Post date: [13. April 2023 um 09:38 UTC](https://www.pg-forum.de/t/zerteilen-von-linienelementen-an-kreuzungspunkten/12754/5 "2023-04-13T09:38:01Z")

</div>

Ich würde noch anfügen:  
…  
where st\_intersects(mline.way, pt.geom)

Damit werden nur die geprüft, die sich auch schneiden.

Grüße Uwe

---

<div class="post-metadata">

### Author: ![jo.f](https://www.pg-forum.de/letter_avatar_proxy/v4/letter/j/73ab20/32.png) [@jo.f](https://www.pg-forum.de/u/jo.f)
#### Post date: [17. April 2023 um 11:00 UTC](https://www.pg-forum.de/t/zerteilen-von-linienelementen-an-kreuzungspunkten/12754/6 "2023-04-17T11:00:03Z")

</div>

Ah, gute Idee!  
Ich hatte das ohne das losgelassen, aber das ging natürlich schief. Ich hatte vermutet, dass dies die Funktion schon beinhaltet, da diese ansonsten ja auch keinerlei Sinn ergibt, aber da hatte ich zu viel erwartet.  
Hab damit meine DB geschrottet und muss die demnächst mal wieder neu aufsetzen und testen.

---

<div class="post-metadata">

### Author: ![system](https://www.pg-forum.de/uploads/default/original/1X/dc97a981dd26692d5fb52e8b8fc7c090d7b9559a.png) [@system](https://www.pg-forum.de/u/system)
#### Post date: [16. Juni 2023 um 11:00 UTC](https://www.pg-forum.de/t/zerteilen-von-linienelementen-an-kreuzungspunkten/12754/7 "2023-06-16T11:00:16Z")

</div>

Dieses Thema wurde automatisch 60 Tage nach der letzten Antwort geschlossen. Es sind keine neuen Antworten mehr erlaubt.
