hi, ich habe in einer Datenbank folgende Tabellen:dabei soll die seqence_id die Anordnung der Punkte im Weg darstellen.Code:way_nodes: way_id | node_id | seqence_id node: id | geom
nun will ich die Punkte zu einem linestring zusammenfassen, so dass sie in der richtigen reihnfolge sind:
scheinbar sortiert st_union aber geografisch (von west nach ost) statt auf die Sortierung der tabelle zu achtenCode:SELECT ST_LineFromMultiPoint(st_union(n.geom)) FROM (SELECT (SELECT n.geom FROM nodes n WHERE n.id = wn.node_id) as geom FROM way_nodes wn ORDER BY wn.sequence_id ) as n limit 1
weiß jemand wie man es richtig macht?
Alles Gute
Josias
so hab jetzt gefunden: man sollte einfach ST_Collect statt st_union verwenden:Code:SELECT ST_LineFromMultiPoint(ST_Collect(n.geom)) FROM (SELECT (SELECT n.geom FROM nodes n WHERE n.id = wn.node_id) as geom FROM way_nodes wn ORDER BY wn.sequence_id ) as n limit 1
Links: Tobias Bauer - IT- und Funkdienstleistungen - Bilderrahmen-kaufen.de - Der Onlineshop für Bilderrahmen & Fotorahmen - Funkforum
Lesezeichen