Table of Contents
In the following, we specify with the symbol that the function supports 3D points and with the symbol that the function is available for geographies.
Return the Well-Known Text (WKT) representation
asText({tpoint,tpoint[],geo[]}) → {text,text[]}
SELECT asText(tgeompoint 'SRID=4326;[Point(0 0 0)@2001-01-01, Point(1 1 1)@2001-01-02)'); -- [POINT Z (0 0 0)@2001-01-01, POINT Z (1 1 1)@2001-01-02) SELECT asText(ARRAY[geometry 'Point(0 0)', 'Point(1 1)']); -- {"POINT(0 0)","POINT(1 1)"}
Return the Extended Well-Known Text (EWKT) representation
asEWKT({tpoint,tpoint[],geo[]}) → {text,text[]}
SELECT asEWKT(tgeompoint 'SRID=4326;[Point(0 0 0)@2001-01-01, Point(1 1 1)@2001-01-02)'); -- SRID=4326;[POINT Z (0 0 0)@2001-01-01, POINT Z (1 1 1)@2001-01-02) SELECT asEWKT(ARRAY[geometry 'SRID=5676;Point(0 0)', 'SRID=5676;Point(1 1)']); -- {"SRID=5676;POINT(0 0)","SRID=5676;POINT(1 1)"}
Return the Moving Features JSON representation
asMFJSON(tpoint,options=0,flags=0,maxdecdigits=15) → bytea
The options
argument can be used to add BBOX and/or CRS in MFJSON output:
0: means no option (default value)
1: MFJSON BBOX
2: MFJSON Short CRS (e.g., EPSG:4326)
4: MFJSON Long CRS (e.g., urn:ogc:def:crs:EPSG::4326)
The flags
argument can be used to customize the JSON output, for example, to produce an easy-to-read (for human readers) JSON output. Refer to the documentation of the json-c
library for the possible values. Typical values are as follows:
0: means no option (default value)
1: JSON_C_TO_STRING_SPACED
2: JSON_C_TO_STRING_PRETTY
The maxdecdigits
argument can be used to set the maximum number of decimal places in the output of floating point values (default 15).
SELECT asMFJSON(tgeompoint 'Point(1 2)@2019-01-01 18:00:00.15+02'); /* {"type":"MovingPoint","coordinates":[[1,2]],"datetimes":["2019-01-01T17:00:00.15+01"], "interpolation":"None"} */ SELECT asMFJSON(tgeompoint 'SRID=4326; Point(50.813810 4.384260)@2019-01-01 18:00:00.15+02', 3, 2); /* {"type":"MovingPoint","crs":{"type":"name","properties":{"name":"EPSG:4326"}}, "stBoundedBy":{"bbox":[50.81,4.38,50.81,4.38], "period":{"begin":"2019-01-01 17:00:00.15+01","end":"2019-01-01 17:00:00.15+01"}}, "coordinates":[[50.81,4.38]],"datetimes":["2019-01-01T17:00:00.15+01"], "interpolations":"None"} */
Return the Well-Known Binary (WKB) representation
asBinary(tpoint,endian text='') → bytea
The result is encoded using either the little-endian (NDR) or the big-endian (XDR) encoding. If no encoding is specified, then the encoding of the machine is used.
SELECT asBinary(tgeompoint 'Point(1 2 3)@2001-01-01'); -- \x012e0011000000000000f03f00000000000000400000000000000840009c57d3c11c0000
Return the Extended Well-Known Binary (EWKB) representation
asEWKB(tpoint,endian text='') → bytea
The result is encoded using either the little-endian (NDR) or the big-endian (XDR) encoding. If no encoding is specified, then the encoding of the machine is used.
SELECT asEWKB(tgeogpoint 'SRID=7844;Point(1 2 3)@2001-01-01'); -- \x012f0071a41e0000000000000000f03f00000000000000400000000000000840009c57d3c11c0000
Return the Hexadecimal Extended Well-Known Binary (EWKB) representation as text
asHexEWKB(tpoint,endian text='') → text
The result is encoded using either the little-endian (NDR) or the big-endian (XDR) encoding. If no encoding is specified, then the encoding of the machine is used.
SELECT asHexEWKB(tgeompoint 'SRID=3812;Point(1 2 3)@2001-01-01'); -- 012E0051E40E0000000000000000F03F00000000000000400000000000000840009C57D3C11C0000
Input a temporal point from its Well-Known Text (WKT) representation
tgeompointFromText(text) → tgeompoint
tgeogpointFromText(text) → tgeogpoint
SELECT asEWKT(tgeompointFromText(text '[POINT(1 2)@2001-01-01, POINT(3 4)@2001-01-02]')); -- [POINT(1 2)@2001-01-01, POINT(3 4)@2001-01-02] SELECT asEWKT(tgeogpointFromText(text '[POINT(1 2)@2001-01-01, POINT(3 4)@2001-01-02]')); -- SRID=4326;[POINT(1 2)@2001-01-01, POINT(3 4)@2001-01-02]
Input a temporal point from its Extended Well-Known Text (EWKT) representation
tgeompointFromEWKT(text) → tgeompoint
tgeogpointFromEWKT(text) → tgeogpoint
SELECT asEWKT(tgeompointFromEWKT(text 'SRID=3812;[POINT(1 2)@2001-01-01, POINT(3 4)@2001-01-02]')); -- SRID=3812;[POINT(1 2)@2001-01-01 00:00:00+01, POINT(3 4)@2001-01-02 00:00:00+01] SELECT asEWKT(tgeogpointFromEWKT(text 'SRID=7844;[POINT(1 2)@2001-01-01, POINT(3 4)@2001-01-02]')); -- SRID=7844;[POINT(1 2)@2001-01-01, POINT(3 4)@2001-01-02]
Input a temporal point from its Moving Features JSON representation
tgeompointFromMFJSON(text) → tgeompoint
tgeogpointFromMFJSON(text) → tgeogpoint
SELECT asEWKT(tgeompointFromMFJSON(text '{"type":"MovingPoint","crs":{"type":"name", "properties":{"name":"EPSG:4326"}},"coordinates":[[50.81,4.38]], "datetimes":["2019-01-01T17:00:00.15+01"],"interpolation":"None"}')); -- SRID=4326;POINT(50.81 4.38)@2019-01-01 17:00:00.15+01 SELECT asEWKT(tgeogpointFromMFJSON(text '{"type":"MovingPoint","crs":{"type":"name", "properties":{"name":"EPSG:4326"}},"coordinates":[[50.81,4.38]], "datetimes":["2019-01-01T17:00:00.15+01"],"interpolation":"None"}')); -- SRID=4326;POINT(50.81 4.38)@2019-01-01 17:00:00.15+01
Input a temporal point from its Well-Known Binary (WKB) representation
tgeompointFromBinary(bytea) → tgeompoint
tgeogpointFromBinary(bytea) → tgeogpoint
SELECT asEWKT(tgeompointFromBinary( '\x012e0011000000000000f03f00000000000000400000000000000840009c57d3c11c0000')); -- POINT Z (1 2 3)@2001-01-01
Input a temporal point from its Extended Well-Known Binary (EWKB) representation
tgeompointFromEWKB(bytea) → tgeompoint
tgeogpointFromEWKB(bytea) → tgeogpoint
SELECT asEWKT(tgeogpointFromEWKB( '\x012f0071a41e0000000000000000f03f00000000000000400000000000000840009c57d3c11c0000')); -- SRID=7844;POINT Z (1 1 1)@2001-01-01
Input a temporal point from its Hexadecimal Extended Well-Known Binary (HexEWKB) representation
tgeompointFromHexEWKB(text) → tgeompoint
tgeogpointFromHexEWKB(text) → tgeogpoint
SELECT asEWKT(tgeompointFromHexEWKB( '012E0051E40E0000000000000000F03F00000000000000400000000000000840009C57D3C11C0000')); -- SRID=3812;POINT(1 2 3)@2001-01-01