Return or set the spatial reference identifier
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)
Transform to a spatial reference identifier
transform(tcbuffer,integer) → tcbuffer
transformPipeline(tcbuffer,pipeline text,to_srid integer,is_forward bool=true) →
tcbuffer
The transform
function specifies the transformation with a target SRID. An error is raised when the input temporal circular buffer has an unknown SRID (represented by 0).
The transformPipeline
function specifies the transformation with a defined coordinate transformation pipeline represented with the following string format: urn:ogc:def:coordinateOperation:AUTHORITY::CODE
. The SRID of the input temporal circular buffer is ignored, and the SRID of the output temporal circular buffer will be set to zero unless a value is provided via the optional to_srid
parameter. As stated by the last parameter, the pipeline is executed by default in a forward direction; by setting the parameter to false, the pipeline is executed in the inverse direction.
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} */
TODO Return the area traversed by the temporal circular buffer
traversedArea(tcbuffer) → geometry
SELECT traversedArea(tcbuffer '[Cbuffer(Point(1 1), 0.3)@2001-01-01, Cbuffer(Point(1 1), 0.5)@2001-01-02]'); -- 54.3757408468784