本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
JSON AsGeo
AsGeoJSON 會傳回輸入幾何或地理位置的 GeoJSON 表示法。如需 GeoJSON 的相關資訊,請參閱 Wikipedia 中的 GeoJSON
對於 3DZ 和 4D 幾何,輸出幾何是輸入 3DZ 或 4D 幾何的 3DZ 投影。也就是說,x
、y
和 z
座標存在於輸出中。對於 3DM 幾何,輸出幾何是輸入 3DM 幾何的 2D 投影。也就是說,只有 x
和 y
座標存在於輸出中。
對於輸入的地理位置,ST_ AsGeo JSON 會傳回輸入地理位置的 GeoJSON 表示法。使用指定的精確度顯示地理座標。
語法
ST_AsGeoJSON(geo)
ST_AsGeoJSON(geo, precision)
引數
- geo
-
GEOMETRY
或GEOGRAPHY
資料類型的值,或是評估為GEOMETRY
或GEOGRAPHY
類型的運算式。 - precision
-
INTEGER
資料類型的值。對於幾何,使用指定的精確度 1-20 顯示 geo 座標。如果沒有指定 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 表示法。幾何的座標會使用六位數的精確度顯示。
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]]}