다각형의 LAT / LONG을 표시하는 방법은 무엇입니까?
Aug 19 2020
나는 기하 구조 필드와 테이블이 (종류 : geometry
)
의 값을 polygon
위도 / 경도 로 표시하고 싶습니다 .
내가 어떻게 해 ?
나는이 포스트를 보았다 :
https://gis.stackexchange.com/questions/95373/convert-geometry-to-latitude-longitude-using-postgis-st-transform/95376
하지만 기능은 ST_X
, ST_Y
단지 작동 POINT
하지에 POLYGON
.
Geom 필드 (폴리곤 포함)를 위도 / 경도 형식으로 표시하려면 어떻게해야합니까?
답변
3 RubenHelsloot Aug 19 2020 at 17:15
원하는 출력에 따라 ST_ASGEOJSON이 이미 원하는 모든 작업을 수행 할 수 있지만 그렇지 않은 경우 ST_DUMPPOINTS 를 사용 하여 다각형의 모든 개별 지점을 가져올 수 있습니다 .
SELECT polygon.id,
( SELECT ARRAY_AGG(ST_Y(geom ORDER BY path))
FROM ST_DUMPPOINTS(polygon) AS points ) as latitudes,
( SELECT ARRAY_AGG(ST_X(geom ORDER BY path))
FROM ST_DUMPPOINTS(polygon) AS points ) as longitudes
FROM polygons
폴리곤 당 위도 및 경도의 정렬 된 목록을 반환합니다. 결합하려면 JSON을 사용하십시오 .
SELECT polygon.id,
( SELECT ARRAY_AGG(
JSON_BUILD_OBJECT(
'latitude', ST_Y(geom),
'longitude', ST_X(geom)
) ORDER BY path)
)
FROM ST_DUMPPOINTS(polygon) AS points )
FROM polygons