Devuelve el identificador de referencia espacial
SRID(tpoint) → integer
SELECT SRID(tgeompoint 'Point(0 0)@2001-01-01'); -- 0
Establecer el identificador de referencia espacial
setSRID(tpoint) → tpoint
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(tpoint,to_srid integer) → tpoint
transform(tpoint,pipeline text,to_srid integer,is_forward bool=true) → tpoint
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 de cadena: 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} */