본문 바로가기

Workin'/GIS

[geoserver] postGIS를 이용한 Area 데이터 중심값 구하기

반응형

*참고 reference : https://postgis.net/docs/ST_Centroid.html


[SQL]


select

ST_ASGEOJSON(ST_CENTROID(ST_TRANSFORM(${geometry열}, ${Coordinate})))

from

레이어테이블

where

조건절


[사용 방법]

- ST_Centroid (Geometry g1)


cf. ST_PointOnSurface (Geometry g2) 도 있음.


[(내가 이해한) 두 메소드의 차이점] 

ST_Centroid : MultiPolygon의 특성상 계산을 통해 중심점을 잡았을 경우 실제 Area 영역 이외에 Center가 잡힐 수 있음 

(온전한 다각형의 모양이 아닌 경우)

ST_PointOnSurface : 실제 Area 영역 이내에 Center 값이 잡히게 보정하는 것 


[참고]

1. ST_AsGeoJSON(Geometry g1)

- 현재 Geometry를 GeoJson 형태로 변환하는 함수

2. ST_Transform (Geometry g1, Coordinate)

- 현재 Geometry를 Coordinate의 좌표계로 변환한 값을 반환하는 함수

반응형

'Workin' > GIS' 카테고리의 다른 글

[Geoserver] Java Considerations 부분 번역  (0) 2019.01.02