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.
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.
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 …
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.