Reprojecting geometries
Reprojecting, also called transformation, is a process of converting a geometry's coordinates from one coordinate system to another. Since PostGIS spatial analysis functions can't operate on geometries with different coordinate systems, it's a very important functionality. It's provided by the ST_Transform
function.
ST_Transform
accepts two arguments: the input geometry and the target SRID. For example, to transform the coordinates of a point feature (city center) to latitude-longitude, we write the following:
SELECT ST_AsText(ST_Transform(wkb_geometry,4326)) FROM points WHERE osm_id = '253525668'; st_astext POINT(18.5419933 50.0955793)
While ST_Transform
can be used on the fly, it's computationally expensive and can cause a complex query to run very slowly. If it's necessary to run a spatial analysis using tables with different SRIDs, it's will be wise to create a materialized view with geometries reprojected beforehand:
CREATE MATERIALIZED VIEW boundaries_3857 AS...