カテゴリ:

地理空間関数

ST_ASGEOJSON

GEOGRAPHY 型の値を指定すると、その値の GeoJSON 表現を返します。

構文

ST_ASGEOJSON( <geography_expression> )

引数

地理式

引数は GEOGRAPHY 型の式でなければなりません。

戻り値

GeoJSON 形式の OBJECT。

次の例は、 ST_ASGEOJSON 関数を示しています。

create table geospatial_table (g GEOGRAPHY);
insert into geospatial_table values
    ('POINT(-122.35 37.55)'), ('LINESTRING(-124.20 42.00, -120.01 41.99)');
select st_asgeojson(g)
    from geospatial_table;
+------------------------+
| ST_ASGEOJSON(G)        |
|------------------------|
| {                      |
|   "coordinates": [     |
|     -122.35,           |
|     37.55              |
|   ],                   |
|   "type": "Point"      |
| }                      |
| {                      |
|   "coordinates": [     |
|     [                  |
|       -124.2,          |
|       42               |
|     ],                 |
|     [                  |
|       -120.01,         |
|       41.99            |
|     ]                  |
|   ],                   |
|   "type": "LineString" |
| }                      |
+------------------------+

VARIANT 出力を VARCHAR にキャストすると、次のようになります。

select st_asgeojson(g)::varchar
    from geospatial_table;
+-------------------------------------------------------------------+
| ST_ASGEOJSON(G)::VARCHAR                                          |
|-------------------------------------------------------------------|
| {"coordinates":[-122.35,37.55],"type":"Point"}                    |
| {"coordinates":[[-124.2,42],[-120.01,41.99]],"type":"LineString"} |
+-------------------------------------------------------------------+