- 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_expression
Das Argument muss vom Typ GEOMETRY sein.
to_srid
Die 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_srid
Die 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_srid
angeben.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_srid
oderto_srid
NULL sind, gibt diese Funktion NULL zurück.Wenn
from_srid
oderto_srid
nicht 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) |
+---------------------------------------------------------------+