ST_Rotate — Roterar en geometri runt en ursprungspunkt.
geometry ST_Rotate(geometry geomA, float rotRadians);
geometry ST_Rotate(geometry geomA, float rotRadians, float x0, float y0);
geometry ST_Rotate(geometry geomA, float rotRadians, geometry pointOrigin);
Roterar geometrin rotRadians moturs runt ursprungspunkten. Rotationsursprunget kan anges antingen som en POINT-geometri eller som x- och y-koordinater. Om origo inte anges roteras geometrin kring POINT(0 0).
Förbättrad: 2.0.0 stöd för polyhedrala ytor, trianglar och TIN infördes.
Förbättrad: 2.0.0 ytterligare parametrar för att ange rotationens ursprung lades till.
Tillgänglighet: 1.1.2. Namn ändrat från Rotate till ST_Rotate i 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 polyedriska ytor.
Denna funktion stöder trianglar och triangulerade oregelbundna nätverksytor (TIN).
Det här exemplet roterar en geometri 180 grader.
SELECT ST_Rotate('LINESTRING (50 160,50 50,100 50)'::geometry, pi());
LINESTRING(-50 -160,-50 -50,-100 -50)
Det här exemplet roterar en geometri 30 grader moturs kring x=50, y=160.
SELECT ST_Rotate('LINESTRING (50 160,50 50,100 50)'::geometry, pi()/6, 50, 160);
LINESTRING(50 160,105 64.737206,148.30127 89.737206)
Det här exemplet roterar en geometri 60 grader medurs kring dess centroid.
SELECT ST_Rotate(geom, -pi()/3, ST_Centroid(geom)) FROM (SELECT 'LINESTRING (50 160,50 50,100 50)'::geometry AS geom) AS foo;
LINESTRING(116.4225 130.6721,21.1597 75.6721,46.1597 32.3708)