- Kategorien:
ST_TRANSFORM¶
Konvertiert ein GEOMETRY-Objekt von einem räumlichen Bezugssystem (SRS) in ein anderes.
Verwenden Sie diese Funktion, um die SRID und die Koordinaten des Objekts zu ändern, um sie an das neue SRS (räumliches Bezugssystem) anzupassen. Wenn Sie nur die SRID ändern müssen, ohne die Koordinaten zu ändern (z. B. wenn die SRID nicht korrekt war), verwenden Sie stattdessen ST_SETSRID.
Syntax¶
ST_TRANSFORM( <geometry_expression> [ , <from_srid> ] , <to_srid> );
Argumente¶
Erforderlich:
geometry_expressionDas Argument muss vom Typ GEOMETRY sein.
to_sridDie SRID (Spatial Reference System Identifier) des zu verwendenden SRS. Die Funktion transformiert das GEOMETRY-Eingabeobjekt in ein neues Objekt um, das dieses SRS verwendet.
Optional:
from_sridDie SRID, die das aktuelle SRS des GEOMETRY-Eingabeobjekts identifiziert.
Wenn dieses Argument weggelassen wird, verwendet die Funktion die SRID, die im GEOMETRY-Eingabeobjekt angegeben ist.
Rückgabewerte¶
Die Funktion gibt ein GEOMETRY-Objekt zurück, das die von to_srid identifizierte SRS verwendet.
Nutzungshinweise¶
SRIDs basieren auf dem EPSG-Standard (v10.082). Beispielsweise entspricht die SRID 4326 der „Authority EPSG“ mit dem Code 4326.
Vergewissern Sie sich, dass entweder für das GEOMETRY-Eingabeobjekt die korrekte SRID eingestellt ist oder dass Sie das Argument
from_sridangeben.Derzeit unterstützt die Funktion keine Datumsrasterdateien. Alle Transformationen werden mit den statischen Parametern des Datums ohne Korrektur der Rasterdatei ausgeführt.
Wenn
geometry_expression,from_sridoderto_sridNULL sind, gibt diese Funktion NULL zurück.Wenn
from_sridoderto_sridnicht in ein gültiges SRID aufgelöst werden kann, tritt ein Fehler auf.
Beispiele¶
Im folgenden Beispiel wird ein POINT-GEOMETRY-Objekt von EPSG:32633 (WGS 84 / UTM-Zone 33N) nach EPSG:3857 (Web Mercator) transformiert.
-- Set the output format to EWKT
ALTER SESSION SET GEOMETRY_OUTPUT_FORMAT='EWKT';
SELECT
ST_TRANSFORM(
ST_GEOMFROMWKT('POINT(389866.35 5819003.03)', 32633),
3857
) AS transformed_geom;
+---------------------------------------------------------------+
| transformed_geom |
|---------------------------------------------------------------|
| SRID=3857;POINT(1489140.093765644 6892872.198680112) |
+---------------------------------------------------------------+
Wenn die Quell-SRID im GEOMETRY-Objekt nicht korrekt eingestellt ist, können Sie die SRID im to_srid-Argument der Funktion angeben. Sie können beispielsweise ein POINT-GEOMETRY-Objekt von EPSG:4326 (WGS84) nach EPSG:28992 (Amersfoort / RD New) wie folgt transformieren:
-- Set the output format to EWKT
ALTER SESSION SET GEOMETRY_OUTPUT_FORMAT='EWKT';
SELECT
ST_TRANSFORM(
ST_GEOMFROMWKT('POINT(4.500212 52.161170)'),
4326,
28992
) AS transformed_geom;
+---------------------------------------------------------------+
| transformed_geom |
|---------------------------------------------------------------|
| SRID=28992;POINT (94308.66600006013 464038.16881095537) |
+---------------------------------------------------------------+