Devuelve o establece el identificador de referencia espacial
SRID(tcbuffer) → integer
setSRID(tcbuffer) → tcbuffer
SELECT SRID(tcbuffer 'SRID=5676;[Cbuffer(Point(0 0),1)@2001-01-01, Cbuffer(Point(1 1),2)@2001-01-02)'); -- 5676 SELECT asEWKT(setSRID(tcbuffer '[Cbuffer(Point(0 0),1)@2001-01-01, Cbuffer(Point(1 1),2)@2001-01-02)', 5676)); -- SRID=5676;[Cbuffer(POINT(0 0),1)@2001-01-01, Cbuffer(POINT(1 1),2)@2001-01-02)
Transformar a una referencia espacial diferente
transform(tcbuffer,integer) → tcbuffer
transformPipeline(tcbuffer,pipeline text,to_srid integer,is_forward bool=true) →
tcbuffer
La función transform especifica la transformación con un SRID de destino. Se genera un error cuando el búfer circular temporal de entrada 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 búfer circular temporal de entrada se ignora y el SRID del búfer circular 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(tcbuffer 'SRID=4326;Cbuffer(Point(4.35 50.85),1)@2001-01-01', 3812)); -- SRID=3812;Cbuffer(POINT(648679.0180353033 671067.0556381135),1)@2001-01-01
WITH test(tcbuffer, pipeline) AS (
SELECT tcbuffer 'SRID=4326;{Cbuffer(Point(4.3525 50.846667),1)@2001-01-01,
Cbuffer(Point(-0.1275 51.507222),2)@2001-01-02}',
text 'urn:ogc:def:coordinateOperation:EPSG::16031' )
SELECT asEWKT(transformPipeline(transformPipeline(tcbuffer, pipeline, 4326), pipeline,
4326, false), 6)
FROM test;
/* SRID=4326;{Cbuffer(POINT(4.3525 50.846667),1)@2001-01-01,
Cbuffer(POINT(-0.1275 51.507222),2)@2001-01-02} */
Devuelve el área atravesada por el búfer circular temporal
traversedArea(tcbuffer) → geometry
SELECT ST_AsText(traversedArea(tcbuffer '[Cbuffer(Point(1 1), 0.3)@2001-01-01, Cbuffer(Point(1 1), 0.5)@2001-01-02]')); -- CURVEPOLYGON(CIRCULARSTRING(0.7 1,1.3 1,0.7 1))
Devuelve el punto geométrico temporal dado por los centros de un búfer circular temporal
centroid(tcbuffer) → tgeompoint
SELECT asText(centroid(tcbuffer '[Cbuffer(Point(1 1), 0.5)@2001-01-01, Cbuffer(Point(3 3), 0.5)@2001-01-03]')); -- [POINT(1 1)@2001-01-01 00:00:00+01, POINT(3 3)@2001-01-03 00:00:00+01]
Devuelve la envolvente convexa del área atravesada por el búfer circular temporal
convexHull(tcbuffer) → geometry
La envolvente convexa se calcula sobre el área atravesada linealizada: los arcos circulares que delimitan la región barrida se convierten primero en segmentos rectos y la envolvente se calcula luego con GEOS. Por lo tanto, el resultado es un POLYGON lineal que aproxima el contorno circular, no un CURVEDPOLYGON curvo. Utilice traversedArea para obtener la región barrida curva exacta.