- 카테고리:
ST_ASGEOJSON¶
GEOGRAPHY 또는 GEOMETRY 형식의 값이 주어지면 그 값의 GeoJSON 표현을 반환합니다.
구문¶
ST_ASGEOJSON( <geography_or_geometry_expression> )
인자¶
geography_or_geometry_expression
인자는 GEOGRAPHY 또는 GEOMETRY 형식의 식이어야 합니다.
반환¶
GeoJSON 형식의 OBJECT입니다.
사용법 노트¶
GEOMETRY 오브젝트:
반환된 GEOMETRY 오브젝트는 입력 GEOMETRY 오브젝트와 동일한 좌표계를 사용합니다.
GeoJSON 사양에서는 기하 도형이 WGS84 좌표계(SRID = 4326)에 있어야 합니다. 그러나 ST_ASGEOJSON 함수는 이를 적용하지 않습니다.
이 함수는 SRID 또는 기타 CRS 정보를 출력에 추가하지 않습니다.
예¶
GEOGRAPHY 예¶
다음 예는 ST_ASGEOJSON 함수를 보여줍니다.
create table geospatial_table (id INTEGER, g GEOGRAPHY); insert into geospatial_table values (1, 'POINT(-122.35 37.55)'), (2, 'LINESTRING(-124.20 42.00, -120.01 41.99)');select st_asgeojson(g) from geospatial_table order by id; +------------------------+ | 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 order by id; +-------------------------------------------------------------------+ | ST_ASGEOJSON(G)::VARCHAR | |-------------------------------------------------------------------| | {"coordinates":[-122.35,37.55],"type":"Point"} | | {"coordinates":[[-124.2,42],[-120.01,41.99]],"type":"LineString"} | +-------------------------------------------------------------------+
GEOMETRY 예¶
다음 예제에서는 GEOMETRY 오브젝트를 입력으로 사용하는 ST_ASGEOJSON 함수를 보여줍니다.
SELECT ST_ASGEOJSON(TO_GEOMETRY('SRID=4326;LINESTRING(389866 5819003, 390000 5830000)')) AS geojson;+------------------------+ | GEOJSON | |------------------------| |{ | | "coordinates": [ | | [ | | 389866, | | 5819003 | | ], | | [ | | 390000, | | 5830000 | | ] | | ], | | "type": "LineString" | |} | +------------------------+