ST_GeomFromGeoJSON
ST_GeomFromGeoJSON construye un objeto geométrico a partir de la representación GeoJSON de una geometría de entrada. Para obtener más información sobre el formato GeoJSON, consulte GeoJSON
Si hay al menos un punto con tres o más coordenadas, la geometría resultante es 3DZ, donde el componente Z es cero para los puntos que solo tienen dos coordenadas. Si todos los puntos del GeoJSON de entrada contienen dos coordenadas o están vacíos, ST_GeomFromGeojSON devuelve una geometría 2D. La geometría devuelta siempre tiene el identificador de referencia espacial (SRID) 4326.
Sintaxis
ST_GeomFromGeoJSON(geojson_string)
Argumentos
- geojson_string
-
Un valor del tipo de datos
VARCHAR
o una expresión que toma el valor de un tipoVARCHAR
, es decir, una representación GeoJSON de una geometría.
Tipo de retorno
GEOMETRY
Si geojson_string es nulo, se devuelve el valor nulo.
Si geojson_string no es válido, se devuelve un error.
Ejemplos
El siguiente SQL devuelve una geometría 2D representada en el GeoJSON de entrada.
SELECT ST_AsEWKT(ST_GeomFromGeoJSON('{"type":"Point","coordinates":[1,2]}'));
st_asewkt
-----------------------
SRID=4326;POINT(1 2)
El siguiente SQL devuelve una geometría 3DZ representada en el GeoJSON de entrada.
SELECT ST_AsEWKT(ST_GeomFromGeoJSON('{"type":"LineString","coordinates":[[1,2,3],[4,5,6],[7,8,9]]}'));
st_asewkt
------------------------------------------
SRID=4326;LINESTRING Z (1 2 3,4 5 6,7 8 9)
El siguiente SQL devuelve la geometría 3DZ cuando solo un punto tiene tres coordenadas mientras los demás tienen dos en el GeoJSON de entrada.
SELECT ST_AsEWKT(ST_GeomFromGeoJSON('{"type":"Polygon","coordinates":[[[0, 0],[0, 1, 8],[1, 0],[0, 0]]]}'));
st_asewkt
------------------------------------------------
SRID=4326;POLYGON Z ((0 0 0,0 1 8,1 0 0,0 0 0))