Linien auftrennen/splitten

Hallo Postgis Forum,

ich habe ein Problem mit meinen “vielleicht mal” routing Daten.

meine DB enthällt zwei Tabellen:
Die 1. enthällt Liniengeometrien.
Die 2. enthällt Punktgeometrien.

Meine Daten sind nur leider nicht ganz sauber erfasst.
D.h. dass die Liniengeometrien nicht an allen benötiglen Knotenpunkten aufgetrennt worden sind(siehe rote Linie im Anhang).

Ich möchte nun die rote Linie an allen grünen Punkten auftrennen.

Da ich alle Knotenpunkte in einer Tabelle stehen habe dachte ich mir, dass man das doch irgendwie mit Postgis machen könnte.

Bin für jeden tip dankbar, da Onkel Google mir bisher nicht wirklich weitergeholfen hat.

Gruß

Marc

hier noch einmal das bild aus anderer Quelle

http://img291.imageshack.us/img291/6606/bsp.png

Gruß Marc

Guten Morgen!

Wenn die Punkte genau daraufliegen, könnte dir als allererste Idee st_symdifference evtl. weiterhelfen. Ich hab im Moment leider keine Zeit, werd aber im Laufe des Tages mal draufschauen.

Gruß Uwe

also mathematisch wuerde ich die abstaende der punkte zum vektor berechnen - wenn < epsilon, dann wuerde ich den punkt einfach als knoten verwenden (pragmatisch)

wenn du sowieso schon weisst, welche punkte “zu einem vektor” gehören, dann wird es noch einfacher - dann kannst du diese punkte gleich als knoten annehmen … du musst sie nur sortieren …

Danke für das schnelle Feedback.

Ich habe jetzt mal folgendes ausprobiert.

SELECT l.gid, l.name, asewkt(symdifference (p.the_geom, l.the_geom ))
FROM points AS p, lines AS l
WHERE Intersects(p.the_geom, l.the_geom ) 
order by l.name

Es werden nun die entsprechenden Linien zertrennt, nur haben alle Segmente die selben Koordinaten bekommen.


Gruß Marc