Wenn ich habe
Linestring(1 2, 1 5, 1 9)
und ein
Point(1 3)
Gibt es eine Funktion, die Linestring zusammenführen und die Reihenfolge beibehalten kann, sodass die Ausgabe wie folgt lautet:
Linestring(1 2, 1 3, 1 5, 1 9)
postgis
point
linestring
merge
BorisT
quelle
quelle
Antworten:
Wenn der LineString einfach an einer Position unterteilt werden soll, die dem angegebenen Punkt am nächsten liegt, können Sie damit tun, was Sie möchten (teilt LineString am nächstgelegenen Punkt zum angegebenen Punkt auf und fügt die beiden Segmente anschließend erneut zusammen).
Wenn Ihr Punkt jedoch nicht auf den LineString projiziert werden soll, funktioniert dies nicht.
quelle
PostGIS verfügt über ST_AddPoint , mit dem Sie dies tun können, obwohl Sie angeben müssen, wo der Punkt hinzugefügt werden soll.
Beispiele:
quelle