PostGIS
Name
ST_InverseTransformPipeline — Return a new geometry with coordinates transformed to a different spatial reference system using the inverse of a defined coordinate transformation pipeline.
Synopsis
geometry +`*`+ST_InverseTransformPipeline
*(`geometry `geom
,
text pipeline
, integer to_srid`
)`;
Description
Return a new geometry with coordinates transformed to a different spatial reference system using a defined coordinate transformation pipeline to go in the inverse direction.
Refer to ST_TransformPipeline for details on writing a transformation pipeline.
Availability: 3.4.0
The SRID of the input geometry is ignored, and the SRID of the output
geometry will be set to zero unless a value is provided via the optional
to_srid
parameter. When using
ST_TransformPipeline the pipeline is
executed in a forward direction. Using ST_InverseTransformPipeline()
the pipeline is executed in the inverse direction.
Transforms using pipelines are a specialised version of
ST_Transform. In most cases ST_Transform
will
choose the correct operations to convert between coordinate systems, and
should be preferred.
Examples
Change WGS 84 long lat to UTM 31N using the EPSG:16031 conversion
-- Inverse direction
SELECT ST_AsText(ST_InverseTransformPipeline('POINT(426857.9877165967 5427937.523342293)'::geometry,
'urn:ogc:def:coordinateOperation:EPSG::16031')) AS wgs_geom;
wgs_geom
----------------------------
POINT(2 48.99999999999999)
(1 row)
GDA2020 example.
-- using ST_Transform with automatic selection of a conversion pipeline.
SELECT ST_AsText(ST_Transform('SRID=4939;POINT(143.0 -37.0)'::geometry, 7844)) AS gda2020_auto;
gda2020_auto
-----------------------------------------------
POINT(143.00000635638918 -36.999986706128176)
(1 row)