View a markdown version of this page

ST_GeomFromGeoJSON - Amazon Redshift

O Amazon Redshift deixará de oferecer suporte ao uso de UDFs em Python após 30 de junho de 2026. Começaremos a aplicar essa alteração em fases. Consulte mais informações sobre os detalhes do fim da vida útil do Python e as opções de migração na publicação do blog publicada em 30 de junho de 2025.

ST_GeomFromGeoJSON

ST_GeomFromGeoJSON constrói um objeto de geometria com base na representação GeoJSON de uma geometria de entrada. Para obter mais informações sobre o formato GeoJSON, consulte GeoJSON na Wikipédia.

Se houver pelo menos um ponto com três ou mais coordenadas, a geometria resultante será 3DZ, onde o componente Z é zero para os pontos que têm apenas duas coordenadas. Se todos os pontos no GeoJSON de entrada contiverem duas coordenadas ou estiverem vazios, ST_GeomFromGeoJSON retornará uma geometria 2D. A geometria retornada sempre tem o identificador do sistema de referência espacial (SRID) definido como 4326.

Sintaxe

ST_GeomFromGeoJSON(geojson_string)

Argumentos

geojson_string

Um valor de tipo de dados VARCHAR ou SUPER ou uma expressão que determina o valor de um tipo VARCHAR, que é uma representação GeoJSON de uma geometria.

Tipo de retorno

GEOMETRY

Se geojson_string for nulo, será retornado null.

Se geojson_string for inválido, será retornado um erro.

Exemplos

O SQL a seguir retorna uma geometria 2D representada no GeoJSON de entrada.

SELECT ST_AsEWKT(ST_GeomFromGeoJSON('{"type":"Point","coordinates":[1,2]}'));
st_asewkt ----------------------- SRID=4326;POINT(1 2)

O SQL a seguir retorna uma geometria 3DZ representada no 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)

O SQL a seguir retorna a geometria 3DZ quando apenas um ponto tem três coordenadas, enquanto todos os outros pontos têm duas coordenadas no 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))