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);
Returns a new geometry whose coordinates are translated delta x,delta y,delta z units. Units are based on the units defined in spatial reference (SRID) for this geometry. M coordinates are preserved.
|
|
|
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.
Diese Funktion unterstützt M-Koordinaten.
Einen Punkt um 1 Grad Länge verschieben
SELECT ST_Translate(ST_GeomFromText('POINT(-71.01 42.37)', 4326), 1, 0) AS wgs_transgeomtxt;
POINT(-70.01 42.37)
Verschieben eines Linienzugs um 1 Grad Länge und 1/2 Grad Breite
SELECT ST_Translate(ST_GeomFromText('LINESTRING(-71.01 42.37,-71.11 42.38)', 4326), 1, 0.5) AS wgs_transgeomtxt;
LINESTRING(-70.01 42.87,-70.11 42.88)
Verschieben eines 3D-Punktes
SELECT ST_Translate(CAST('POINT(0 0 0)' AS geometry), 5, 12, 3);
POINT(5 12 3)
Move points with a measure coordinate
SELECT ST_Translate('POINTM(0 0 11)', 5, 12);
POINTM(5 12 11)
SELECT ST_Translate('POINT(0 0 7 11)', 5, 12, 3);
POINT(5 12 10 11)
Verschieben einer Kurve und eines Punktes
SELECT 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);
GEOMETRYCOLLECTION(CURVEPOLYGON(CIRCULARSTRING(5 5,4.12 2.878,2 2,-0.121 7.1213,7 9,9 11,5 5)), POINT(2 5))