ST_Translate — Verschiebt eine Geometrie um vorgegebene Offsets.
geometry ST_Translate(
geometry g1, float deltax, float deltay)
;
geometry ST_Translate(
geometry g1, float deltax, float deltay, float deltaz)
;
Gibt eine neue Geometrie zurück, deren Koordinaten in den Einheiten delta x,delta y,delta z übersetzt sind. Die Einheiten basieren auf den im Raumbezug (SRID) für diese Geometrie definierten Einheiten.
Vor 1.3.4 ist diese Funktion abgestürzt, wenn die Geometrien CURVES enthalten. Dies wurde mit 1.3.4+ behoben |
Verfügbarkeit: 1.2.2
Diese Funktion unterstützt 3d und lässt den Z-Index nicht fallen.
Diese Methode unterstützt kreisförmige Strings und Kurven.
Einen Punkt um 1 Grad Länge verschieben
SELECT ST_AsText(ST_Translate(ST_GeomFromText('POINT(-71.01 42.37)',4326),1,0)) As wgs_transgeomtxt; wgs_transgeomtxt --------------------- POINT(-70.01 42.37)
Verschieben eines Linienzugs um 1 Grad Länge und 1/2 Grad Breite
SELECT ST_AsText(ST_Translate(ST_GeomFromText('LINESTRING(-71.01 42.37,-71.11 42.38)',4326),1,0.5)) As wgs_transgeomtxt; wgs_transgeomtxt --------------------------------------- LINESTRING(-70.01 42.87,-70.11 42.88)
Verschieben eines 3D-Punktes
SELECT ST_AsEWKT(ST_Translate(CAST('POINT(0 0 0)' As geometry), 5, 12,3)); st_asewkt --------- POINT(5 12 3)
Verschieben einer Kurve und eines Punktes
SELECT ST_AsText(ST_Translate(ST_Collect('CURVEPOLYGON(CIRCULARSTRING(4 3,3.12 0.878,1 0,-1.121 5.1213,6 7, 8 9,4 3))','POINT(1 3)'),1,2)); st_astext ------------------------------------------------------------------------------------------------------------ GEOMETRYCOLLECTION(CURVEPOLYGON(CIRCULARSTRING(5 5,4.12 2.878,2 2,-0.121 7.1213,7 9,9 11,5 5)),POINT(2 5))