ST_AsGeoJSON - Amazon Redshift

ST_AsGeoJSON

ST_AsGeoJSON は、入力されたジオメトリもしくはジオグラフィの、GeoJSON 表現を返します。GeoJSON に関する詳細は、ウィキペディアの GeoJSON を参照してください。

3DZ および 4D ジオメトリの場合、出力ジオメトリは、入力の 3DZ または 4D ジオメトリの 3DZ 射影となります。すなわち、出力には xy、および 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]]}