Name
ST_Transform — Transforms the given shape from its current spatial reference system to one specified by dest_srid.
Synopsis
ST_Transform
(
|
in shape any , |
| in dest_srid any , | |
| in origin_proj4_string varchar , | |
in
dest_proj4_string
varchar
); |
Description
Transforms the given shape from its current spatial reference system to one specified by dest_srid. Two optional arguments: the SRID of the resulting shape is set to dest_srid but the conversion is done by proj4 using origin_proj4_string for projection of original shape and dest_proj4_string for the result. If orig_proj4_string or dest_proj4_string argument is passed but is NULL instead of string, the projection corresponding to original or destination SRID is used. ST_Transform is provided by a separate plugin named proj4, as described below. When the plugin is loaded, functions like ST_Intersects() support pairs of arguments with different SRIDs by converting coords of second argument into the system of the first one, as required by OGC and GeoSPARQL.
Parameters
shape
Geometry.
dest_srid
Destination SRID.
origin_proj4_string
String to be used for the projection.
dest_proj4_string
String used for the destination result.
Return Types
Returns varchar.
Examples
Example 24.672. Simple Use
SQL> SELECT * FROM DB.DBA.SYS_PROJ4_SRIDS;
SR_ID SR_FAMILY SR_TAG SR_ORIGIN SR_IRI SR_PROJ4_STRING SR_WKT SR_COMMENT SR_PROJ4_XML
INTEGER NOT NULL VARCHAR NOT NULL VARCHAR VARCHAR NOT NULL VARCHAR VARCHAR NOT NULL VARCHAR VARCHAR VARCHAR
________________ ________________ _______ ____________________ _______ _____________________________________________________________________________________________________________________________________________________________________________________ _______ __________ ____________
2005 EPSG 2005 /usr/share/proj/epsg NULL +ellps=clrk80 +k=0.9995000000000001 +lat_0=0 +lon_0=-62 +no_defs +proj=tmerc +units=m +x_0=400000 +y_0=0 NULL NULL
2249 EPSG 2249 /usr/share/proj/epsg NULL +datum=NAD83 +ellps=GRS80 +lat_0=41 +lat_1=42.68333333333333 +lat_2=41.71666666666667 +lon_0=-71.5 +no_defs +proj=lcc +to_meter=0.3048006096012192 +x_0=200000.0001016002 +y_0=750000 NULL NULL
4326 EPSG 4326 /usr/share/proj/epsg NULL +datum=WGS84 +ellps=WGS84 +no_defs +proj=longlat NULL NULL
3 Rows. -- 1 msec.
SQL> SELECT
st_transform (
st_geomfromtext ('POLYGON((-16 20.25,
-16.1 20.35,
-15.9 20.35,
-16 20.25))'),
1,
'+proj=latlong +ellps=clrk66',
'+proj=merc +ellps=clrk66 +lat_ts=33');
unnamed
VARCHAR NOT NULL
_____________________________________________________________________________________________________________________________________________
SRID=1;POLYGON((-1495284.211473 1920596.789917,
-1504629.737795 1930501.842961,
-1485938.685152 1930501.842961,
-1495284.211473 1920596.789917))
1 Rows. -- 0 msec.
SQL> SELECT ST_AsText(
ST_Transform(
ST_GeomFromText('POLYGON((743238 2967416,
743238 2967450,
743265 2967450,
743265.625 2967416,
743238 2967416))',
2249),4326)) AS wgs_geom;
wgs_geom
VARCHAR NOT NULL
___________________________________________________________________________________________________________________
POLYGON((-71.177685 42.390290,
-71.177684 42.390383,
-71.177584 42.390383,
-71.177583 42.390289,
-71.177685 42.390290))
1 Rows. -- 1 msec.
SQL>