ST_GeomFromGeoJSON - Amazon Redshift

Amazon Redshift ne prendra plus en charge la création de nouvelles fonctions Python définies par l’utilisateur à compter du 1er novembre 2025. Si vous souhaitez utiliser des fonctions Python définies par l’utilisateur, créez-les avant cette date. Les fonctions Python définies par l’utilisateur existantes continueront de fonctionner normalement. Pour plus d’informations, consultez le billet de blog .

ST_GeomFromGeoJSON

ST_GeomFromGeoJSON construit un objet de géométrie à partir de la représentation GeoJSON d’une géométrie d’entrée. Pour plus d’informations sur le format GeoJSON, consultez GeoJSON dans Wikipédia.

S’il y a au moins un point avec trois coordonnées ou plus, la géométrie résultante est 3DZ, où la composante Z est nulle pour les points qui n’ont que deux coordonnées. Si tous les points de la représentation GeoJSON en entrée contiennent deux coordonnées ou sont vides, ST_GeomFromGeoJSON renvoie une géométrie 2D. La géométrie renvoyée est toujours dotée de l’identifiant de référence spatiale (SRID) 4326.

Syntaxe

ST_GeomFromGeoJSON(geojson_string)

Arguments

geojson_string

Valeur de type de données VARCHAR ou SUPER, ou expression qui correspond à un type VARCHAR, qui est une représentation GeoJSON d’une géométrie.

Type de retour

GEOMETRY

Si geojson_string est null, null est renvoyé.

Si geojson_string n’est pas valide, une erreur est renvoyée.

Exemples

Le code SQL suivant renvoie une géométrie 2D représentée dans la représentation GeoJSON en entrée.

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

Le code SQL suivant renvoie une géométrie 3DZ représentée dans la représentation GeoJSON en entrée.

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)

Le code SQL suivant renvoie la géométrie 3DZ quand un seul point possède trois coordonnées alors que tous les autres points ont deux coordonnées dans la représentation GeoJSON en entrée.

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