- Catégories :
ST_ASGEOJSON¶
Si la valeur est de type GEOGRAPHY ou GEOMETRY, renvoie la représentation GeoJSON de cette valeur.
Syntaxe¶
ST_ASGEOJSON( <geography_or_geometry_expression> )
Arguments¶
geography_or_geometry_expression
L’argument doit être une expression de type GEOGRAPHY ou GEOMETRY.
Renvoie¶
Un OBJECT au format GeoJSON.
Notes sur l’utilisation¶
Pour les objets GEOMETRY :
L’objet GEOMETRY renvoyé utilise le même système de coordonnées que l’objet GEOMETRY en entrée.
Notez que la spécification GeoJSON exige que la géométrie soit dans le système de coordonnées WGS84 (SRID = 4326). Cependant, la fonction ST_ASGEOJSON n’applique pas cette règle.
La fonction n’ajoute pas les SRID ou toute autre information CRS à la sortie.
Exemples¶
Exemples GEOGRAPHY¶
L’exemple suivant illustre la fonction ST_ASGEOJSON :
create table geospatial_table (id INTEGER, g GEOGRAPHY); insert into geospatial_table values (1, 'POINT(-122.35 37.55)'), (2, 'LINESTRING(-124.20 42.00, -120.01 41.99)');select st_asgeojson(g) from geospatial_table order by id; +------------------------+ | ST_ASGEOJSON(G) | |------------------------| | { | | "coordinates": [ | | -122.35, | | 37.55 | | ], | | "type": "Point" | | } | | { | | "coordinates": [ | | [ | | -124.2, | | 42 | | ], | | [ | | -120.01, | | 41.99 | | ] | | ], | | "type": "LineString" | | } | +------------------------+La conversion de la sortie VARIANT en VARCHAR entraîne les résultats suivants :
select st_asgeojson(g)::varchar from geospatial_table order by id; +-------------------------------------------------------------------+ | ST_ASGEOJSON(G)::VARCHAR | |-------------------------------------------------------------------| | {"coordinates":[-122.35,37.55],"type":"Point"} | | {"coordinates":[[-124.2,42],[-120.01,41.99]],"type":"LineString"} | +-------------------------------------------------------------------+
Exemples GEOMETRY¶
L’exemple suivant illustre la fonction ST_ASGEOJSON avec un objet GEOMETRY en entrée :
SELECT ST_ASGEOJSON(TO_GEOMETRY('SRID=4326;LINESTRING(389866 5819003, 390000 5830000)')) AS geojson;+------------------------+ | GEOJSON | |------------------------| |{ | | "coordinates": [ | | [ | | 389866, | | 5819003 | | ], | | [ | | 390000, | | 5830000 | | ] | | ], | | "type": "LineString" | |} | +------------------------+