Tabla de contenidos
A continuación, especificamos con el símbolo que la función admite puntos 3D y con el símbolo que la función está disponible para geografías.
Obtener la representación de texto conocido (Well-Known Text o WKT)
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)"}
Obtener la representación extendida de texto conocido (Extended Well-Known Text o EWKT)
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)"}
Obtener la representación JSON de características móviles (Moving Features JSON o MF-JSON)
asMFJSON(tpoint,options=0,flags=0,maxdecdigits=15) → text
El argumento options
puede usarse para agregar BBOX y/o CRS en la salida MFJSON:
0: significa que no hay opción (valor por defecto)
1: MFJSON BBOX
2: MFJSON Short CRS (e.g., EPSG:4326)
4: MFJSON Long CRS (e.g., urn:ogc:def:crs:EPSG::4326)
El argumento flags
puede usarse para personalizar la salida JSON, por ejemplo, para producir una salida JSON fácil de leer (para lectores humanos). Consulte la documentación de la biblioteca json-c
para conocer los valores posibles. Los valores típicos son los siguientes:
0: means no option (default value)
1: JSON_C_TO_STRING_SPACED
2: JSON_C_TO_STRING_PRETTY
El argumento maxdecdigits
puede usarse para establecer el número máximo de decimales en la salida de los valores en punto flotante (por defecto 15).
SELECT asMFJSON(tgeompoint 'Point(1 2)@2001-01-01 18:00:00.15+02'); /* {"type":"MovingPoint","coordinates":[[1,2]],"datetimes":["2001-01-01T17:00:00.15+01"], "interpolation":"None"} */ SELECT asMFJSON(tgeompoint 'SRID=4326; Point(50.813810 4.384260)@2001-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":"2001-01-01 17:00:00.15+01","end":"2001-01-01 17:00:00.15+01"}}, "coordinates":[[50.81,4.38]],"datetimes":["2001-01-01T17:00:00.15+01"], "interpolation":"None"} */
Obtener la representación binaria conocida (Well-Known Binary o WKB)
asBinary(tpoint,endian text='') → bytea
El resultado se codifica utilizando la codificación little-endian (NDR) o big-endian (XDR). Si no se especifica ninguna codificación, se utiliza la codificación de la máquina.
SELECT asBinary(tgeompoint 'Point(1 2 3)@2001-01-01'); -- \x012e0011000000000000f03f00000000000000400000000000000840009c57d3c11c0000
Obtener la representación extendida binaria conocida (Extended Well-Known Binary o EWKB)
asEWKB(tpoint,endian text='') → bytea
El resultado se codifica utilizando la codificación little-endian (NDR) o big-endian (XDR). Si no se especifica ninguna codificación, se utiliza la codificación de la máquina.
SELECT asEWKB(tgeogpoint 'SRID=7844;Point(1 2 3)@2001-01-01'); -- \x012f0071a41e0000000000000000f03f00000000000000400000000000000840009c57d3c11c0000
Obtener la representación hexadecimal extendida binaria conocida (Extended Well-Known Binary o EWKB) en formato texto
asHexEWKB(tpoint,endian text='') → text
El resultado se codifica utilizando la codificación little-endian (NDR) o big-endian (XDR). Si no se especifica ninguna codificación, se utiliza la codificación de la máquina.
SELECT asHexEWKB(tgeompoint 'SRID=3812;Point(1 2 3)@2001-01-01'); -- 012E0051E40E0000000000000000F03F00000000000000400000000000000840009C57D3C11C0000
Entrar un punto temporal en una representación de texto conocido (Well-Known Text o WKT)
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]
Entrar un punto temporal en una representación extendida de texto conocido (Extended Well-Known Text o EWKT)
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]
Entrar un punto temporal en una representación JSON de características móviles (Moving Features)
tgeompointFromMFJSON(text) → tgeompoint
tgeogpointFromMFJSON(text) → tgeogpoint
SELECT asEWKT(tgeompointFromMFJSON(text '{"type":"MovingGeomPoint","crs":{"type":"name", "properties":{"name":"EPSG:4326"}},"coordinates":[[50.81,4.38]], "datetimes":["2001-01-01T17:00:00.15+01"],"interpolation":"None"}')); -- SRID=4326;POINT(50.81 4.38)@2001-01-01 17:00:00.15+01 SELECT asEWKT(tgeogpointFromMFJSON(text '{"type":"MovingGeogPoint","crs":{"type":"name", "properties":{"name":"EPSG:4326"}},"coordinates":[[50.81,4.38]], "datetimes":["2001-01-01T17:00:00.15+01"],"interpolation":"None"}')); -- SRID=4326;POINT(50.81 4.38)@2001-01-01 17:00:00.15+01
Entrar un punto temporal en una representación binaria conocida (WKB)
tgeompointFromBinary(bytea) → tgeompoint
tgeogpointFromBinary(bytea) → tgeogpoint
SELECT asEWKT(tgeompointFromBinary( '\x012e0011000000000000f03f00000000000000400000000000000840009c57d3c11c0000')); -- POINT Z (1 2 3)@2001-01-01
Entrar un punto temporal en una representación extendida binaria conocida (EWKB)
tgeompointFromEWKB(bytea) → tgeompoint
tgeogpointFromEWKB(bytea) → tgeogpoint
SELECT asEWKT(tgeogpointFromEWKB( '\x012f0071a41e0000000000000000f03f00000000000000400000000000000840009c57d3c11c0000')); -- SRID=7844;POINT Z (1 1 1)@2001-01-01
Entrar un punto temporal geométrico en una representación hexadecimal extendida binaria conocida (HexEWKB)
tgeompointFromHexEWKB(text) → tgeompoint
tgeogpointFromHexEWKB(text) → tgeogpoint
SELECT asEWKT(tgeompointFromHexEWKB( '012E0051E40E0000000000000000F03F00000000000000400000000000000840009C57D3C11C0000')); -- SRID=3812;POINT(1 2 3)@2001-01-01