Name

ST_TransScale — Translaterar och skalar en geometri med hjälp av givna offsets och faktorer.

Synopsis

geometry ST_TransScale(geometry geomA, float deltaX, float deltaY, float XFactor, float YFactor);

Beskrivning

Translaterar geometrin med hjälp av argen deltaX och deltaY och skalar den sedan med hjälp av argen XFactor och YFactor, endast i 2D.

[Note]

ST_TransScale(geomA, deltaX, deltaY, XFactor, YFactor) är en förkortning av ST_Affine(geomA, XFactor, 0, 0, 0, YFactor, 0, 0, 0, 1, deltaX*XFactor, deltaY*YFactor, 0).

[Note]

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.1.0.

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

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

Exempel

SELECT ST_AsEWKT(ST_TransScale(ST_GeomFromEWKT('LINESTRING(1 2 3, 1 1 1)'), 0.5, 1, 1, 2));
LINESTRING(1.5 6 3,1.5 4 1)

This example buffers a point to approximate a circle, converts it to a curve, translates it by 1,2, and scales it by 3,4.

SELECT ST_AsText(ST_TransScale(ST_LineToCurve(ST_Buffer('POINT(234 567)', 3)),1,2,3,4));
CURVEPOLYGON(CIRCULARSTRING(714 2276,696 2276,714 2276))