ST_AsGeoJSON
ST_AsGeoJSON은 입력 지오메트리 또는 지오그래피의 GeoJSON 표현을 반환합니다. GeoJSON에 대한 자세한 내용은 Wikipedia의 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이 반환됩니다.
결과가 64KB VARCHAR
보다 크면 오류가 반환됩니다.
예시
다음 SQL은 라인스트링의 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은 라인스트링의 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]]}