Devuelve o especifica el identificador de referencia espacial
SRID(spatialset) → integer
setSRID(spatialset) → spatialset
SELECT SRID(geomset '{Point(1 1), Point(2 2)}'); -- 0 SELECT SRID(geogset '{"Linestring(1 1,2 2)","Polygon((1 1,1 2,2 2,2 1,1 1))"}'); -- 4326 SELECT SRID(geomset 'SRID=5676;{"Linestring(1 1,2 2)","Polygon((1 1,1 2,2 2,2 1,1 1))"}'); -- 5676 SELECT asEWKT(setSRID(geomset '{Point(1 1), Point(2 2)}', 5676)); -- SRID=5676;{"POINT(1 1)", "POINT(2 2)"} SELECT asEWKT(setSRID(poseset '{"Pose(Point(1 1),1)", "Pose(Point(2 2),3)"}', 5676)); -- SRID=5676;{"Pose(POINT(2 2),3)", "Pose(POINT(1 1),1)"}
Transformar a una referencia espacial diferente
transform(spatialset,to_srid integer) → spatialset
transformPipeline(spatialset,pipeline text,to_srid integer,is_forward bool=true) →
spatialset
La función transform
especifica la transformación con un SRID de destino. Se genera un error cuando el conjunto tiene un SRID desconocido (representado por 0). La función transformPipeline
especifica la transformación con una canalización de transformación de coordenadas en el siguiente formato:
urn:ogc:def:coordinateOperation:AUTHORITY::CODE
El SRID del conjunto de entrada se ignora y el SRID de la conjunto de salida se establecerá en cero a menos que se proporcione un valor a través del parámetro opcional to_srid
. Como se indica en el último parámetro, la canalización se ejecuta de forma predeterminada en dirección hacia adelante; al establecer el parámetro en falso, la canalización se ejecuta en la dirección inversa.
SELECT asEWKT(transform(geomset 'SRID=4326;{Point(2.340088 49.400250), Point(6.575317 51.553167)}', 3812), 6); -- SRID=3812;{"POINT(502773.429981 511805.120402)", "POINT(803028.908265 751590.742629)"} WITH test(geoset, pipeline) AS ( SELECT geogset 'SRID=4326;{"Point(4.3525 50.846667 100.0)", "Point(-0.1275 51.507222 100.0)"}', text 'urn:ogc:def:coordinateOperation:EPSG::16031' ) SELECT asEWKT(transformPipeline(transformPipeline(geoset, pipeline, 4326), pipeline, 4326, false), 6) FROM test; -- SRID=4326;{"POINT Z (4.3525 50.846667 100)", "POINT Z (-0.1275 51.507222 100)"}