ST_GeomFromGeoJSON - Amazon Redshift

Amazon Redshift unterstützt ab dem 1. November 2025 nicht mehr die Erstellung neuer Python-UDFs. Wenn Sie Python-UDFs verwenden möchten, erstellen Sie die UDFs vor diesem Datum. Bestehende Python-UDFs funktionieren weiterhin wie gewohnt. Weitere Informationen finden Sie im Blog-Posting.

ST_GeomFromGeoJSON

ST_GeomFromGeoJSON konstruiert ein Geometrieobjekt aus einer GeoJSON-Darstellung einer Eingabegeometrie. Weitere Informationen zum GeoJSON-Format finden Sie unter GeoJSON bei Wikipedia.

Wenn es mindestens einen Punkt mit drei oder mehr Koordinaten gibt, ist die resultierende Geometrie 3DZ, wobei die Z-Komponente für die Punkte null ist, die nur zwei Koordinaten haben. Wenn alle Punkte in der GeoJSON-Eingabegeometrie zwei Koordinaten enthalten oder leer sind, gibt ST_GeomFromGeoJSON eine 2D-Geometrie zurück. Der Spatial-Reference-Identifier-Wert (SRID) der zurückgegebenen Geometrie ist immer 4326.

Syntax

ST_GeomFromGeoJSON(geojson_string)

Argumente

geojson_string

Ein Wert des Datentyps VARCHAR oder SUPER oder ein Ausdruck, der zu einem VARCHAR-Typ ausgewertet wird, der eine GeoJSON-Darstellung einer Geometrie ist.

Rückgabetyp

GEOMETRY

Wenn geojson_string null ist, wird null zurückgegeben.

Wenn geojson_string nicht gültig ist, wird ein Fehler zurückgegeben.

Beispiele

Die folgende SQL-Anweisung gibt eine 2D-Geometrie zurück, die in der GeoJSON-Eingabegeometrie dargestellt wird.

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

Die folgende SQL-Anweisung gibt eine 3DZ-Geometrie zurück, die in der GeoJSON-Eingabegeometrie dargestellt wird.

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)

Die folgende SQL gibt eine 3DZ-Geometrie zurück, wenn nur ein Punkt drei Koordinaten hat, während alle anderen Punkte zwei Koordinaten in der GeoJSON-Eingabegeometrie haben.

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))