ST_AsGeoJSON
ST_AsGeoJSON は、入力されたジオメトリもしくはジオグラフィの、GeoJSON 表現を返します。GeoJSON に関する詳細は、ウィキペディアの GeoJSON
3DZ および 4D ジオメトリの場合、出力ジオメトリは、入力の 3DZ または 4D ジオメトリの 3DZ 射影となります。すなわち、出力には x
、y
、および z
座標が含まれます。3DM ジオメトリの場合、出力ジオメトリは入力 3DM ジオメトリの 2D 射影となります。つまり、出力は x
および y
座標のみを含みます。
ST_AsGeoJSON は、入力ジオグラフィの GeoJSON 表現を返します。このジオグラフィの座標は、指定された精度を使用して表示されます。
構文
ST_AsGeoJSON(geo)
ST_AsGeoJSON(geo, precision)
引数
- geo
-
データ型
GEOMETRY
またはGEOGRAPHY
の値、またはGEOMETRY
もしくはGEOGRAPHY
型として評価される式です。 - precision
-
データ型
INTEGER
の値。ジオメトリについての geo の座標は、1~20 で指定された精度を使用して表示されます。precision が指定されていない場合は、デフォルトは 15 です。ジオブラフィの場合、geo の座標は指定された精度を使用して表示されます。precision が指定されていない場合は、デフォルトは 15 です。
戻り型
VARCHAR
geo が null の場合、null が返されます。
precision が null の場合、null が返されます。
結果が 64-KB VARCHAR
よりも大きい場合、エラーが返されます。
例
次の SQL は、LINESTRING の GeoJSON 表現を返します。
SELECT ST_AsGeoJSON(ST_GeomFromText('LINESTRING(3.141592653589793 -6.283185307179586,2.718281828459045 -1.414213562373095)'));
st_asgeojson
----------------------------------------------------------------------------------------------------------------
{"type":"LineString","coordinates":[[3.14159265358979,-6.28318530717959],[2.71828182845905,-1.41421356237309]]}
次の SQL は、LINESTRING の GeoJSON 表現を返します。ジオメトリの座標は 6 桁の精度で表示されます。
SELECT ST_AsGeoJSON(ST_GeomFromText('LINESTRING(3.141592653589793 -6.283185307179586,2.718281828459045 -1.414213562373095)'), 6);
st_asgeojson
-----------------------------------------------------------------------------
{"type":"LineString","coordinates":[[3.14159,-6.28319],[2.71828,-1.41421]]}
次の SQL は、ジオグラフィの GeoJSON 表現を返します。
SELECT ST_AsGeoJSON(ST_GeogFromText('LINESTRING(110 40, 2 3, -10 80, -7 9)'));
st_asgeojson
----------------------------------------------------------------------
{"type":"LineString","coordinates":[[110,40],[2,3],[-10,80],[-7,9]]}