Table of Contents
Devuelve o establece el identificador de referencia espacial
SRID(tgeo) → integer
setSRID(tgeo) → tgeo
SELECT SRID(tgeompoint 'Point(0 0)@2001-01-01'); -- 0 SELECT asEWKT(setSRID(tgeompoint '[Point(0 0)@2001-01-01, Point(1 1)@2001-01-02)', 4326)); -- SRID=4326;[POINT(0 0)@2001-01-01 00:00:00+00, POINT(1 1)@2001-01-02 00:00:00+00)
Transformar a una referencia espacial diferente
transform(tgeo,to_srid integer) → tgeo
transformPipeline(tgeo,pipeline text,to_srid integer,is_forward bool=true) → tgeo
La función transform
especifica la transformación con un SRID de destino. Se genera un error cuando el punto temporal tiene un SRID desconocido (representado por 0).
La función transformPipeline
especifica la transformación con una canalización de transformación de coordenadas definida representada con el siguiente formato:
urn:ogc:def:coordinateOperation:AUTHORITY::CODE
El SRID del punto temporal de entrada se ignora y el SRID del punto temporal 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(tgeompoint 'SRID=4326;Point(4.35 50.85)@2001-01-01', 3812)); -- SRID=3812;POINT(648679.018035303 671067.055638114)@2001-01-01 00:00:00+00
WITH test(tpoint, pipeline) AS ( SELECT tgeogpoint 'SRID=4326;{Point(4.3525 50.846667 100.0)@2001-01-01, Point(-0.1275 51.507222 100.0)@2001-01-02}', text 'urn:ogc:def:coordinateOperation:EPSG::16031' ) SELECT asEWKT(transformPipeline(transformPipeline(tpoint, pipeline, 4326), pipeline, 4326, false), 6) FROM test; /* SRID=4326;{POINT Z (4.3525 50.846667 100)@2001-01-01, POINT Z (-0.1275 51.507222 100)@2001-01-02} */