Namn

ST_Translate — Translaterar en geometri med givna offsets.

Synopsis

geometry ST_Translate(geometry g1, float deltax, float deltay);

geometry ST_Translate(geometry g1, float deltax, float deltay, float deltaz);

Beskrivning

Returnerar en ny geometri vars koordinater har förskjutits med delta x, delta y och delta z enheter. Enheterna baseras på de enheter som definieras i den rumsliga referensen (SRID) för geometrin. M-koordinater bevaras.

[Notera]

Före 1.3.4 kraschade den här funktionen om den användes med geometrier som innehåller CURVES. Detta är åtgärdat i 1.3.4+

Tillgänglighet: 1.2.2

Denna funktion stöder 3d och kommer inte att tappa z-index.

Denna metod stöder cirkulära strängar och kurvor.

Denna funktion stöder M-koordinater.

Exempel

Flytta en punkt 1 grads longitud

Kod
SELECT ST_Translate(ST_GeomFromText('POINT(-71.01 42.37)', 4326), 1, 0) AS wgs_transgeomtxt;
Utdata
POINT(-70.01 42.37)

Flytta en linestrings 1 grads longitud och 1/2 grads latitud

Kod
SELECT ST_Translate(ST_GeomFromText('LINESTRING(-71.01 42.37,-71.11 42.38)', 4326), 1, 0.5) AS wgs_transgeomtxt;
Utdata
LINESTRING(-70.01 42.87,-70.11 42.88)
Figur
Geometry figure for visual-st-translate-02

Flytta en 3d-punkt

Kod
SELECT ST_Translate(CAST('POINT(0 0 0)' AS geometry), 5, 12, 3);
Utdata
POINT(5 12 3)

Flytta punkter med en måttkoordinat

Kod
SELECT ST_Translate('POINTM(0 0 11)', 5, 12);
Utdata
POINTM(5 12 11)
Figur
Geometry figure for visual-st-translate-04
Kod
SELECT ST_Translate('POINT(0 0 7 11)', 5, 12, 3);
Utdata
POINT(5 12 10 11)

Flytta en kurva och en punkt

Kod
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);
Utdata
GEOMETRYCOLLECTION(CURVEPOLYGON(CIRCULARSTRING(5 5,4.12 2.878,2 2,-0.121 7.1213,7 9,9 11,5 5)), POINT(2 5))
Figur
Geometry figure for visual-st-translate-06