Kategorien:

Geodatenfunktionen

ST_ASGEOJSON

Gibt bei einem Wert vom Typ GEOGRAPHY oder GEOMETRY die GeoJSON-Darstellung dieses Werts zurück.

Syntax

ST_ASGEOJSON( <geography_or_geometry_expression> )
Copy

Argumente

geography_or_geometry_expression

Das Argument muss ein Ausdruck vom Typ GEOGRAPHY oder GEOMETRY sein.

Rückgabewerte

Ein OBJECT im GeoJSON-Format.

Nutzungshinweise

GEOMETRY-Objekte:

  • Das zurückgegebene GEOMETRY-Objekt verwendet dasselbe Koordinatensystem wie das GEOMETRY-Eingabeobjekt.

    Beachten Sie, dass die GeoJSON-Spezifikation voraussetzt, dass die Geometrie das Koordinatensystem WGS84 verwendet (SRID = 4326). Die Funktion ST_ASGEOJSON erzwingt dies jedoch nicht.

  • Die Funktion fügt der Ausgabe weder die SRID noch andere CRS-Informationen hinzu.

Beispiele

GEOGRAPHY-Beispiele

Das folgende Beispiel veranschaulicht die Funktion 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)');
Copy
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" |
| }                      |
+------------------------+
Copy

Das Umwandeln der VARIANTAusgabe in VARCHAR führt zu folgenden Ergebnissen:

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"} |
+-------------------------------------------------------------------+
Copy

GEOMETRY-Beispiele

Das folgende Beispiel demonstriert die Funktion ST_ASGEOJSON mit einem GEOMETRY-Objekt als Eingabewert:

SELECT ST_ASGEOJSON(TO_GEOMETRY('SRID=4326;LINESTRING(389866 5819003, 390000 5830000)')) AS geojson;
Copy
+------------------------+
| GEOJSON                |
|------------------------|
|{                       |
|  "coordinates": [      |
|    [                   |
|      389866,           |
|      5819003           |
|    ],                  |
|    [                   |
|      390000,           |
|      5830000           |
|    ]                   |
|  ],                    |
|  "type": "LineString"  |
|}                       |
+------------------------+
Copy