오픈 레이어스를 사용하게 되면 필연적으로 만나게 되는 좌표계 ESPG:4326 와 ESPG:3857
각각 무엇인지, 결론적으로 뭘 써야 할 지 알아보도록 하자.
만약 Openlayers를 이용하여 지도를 그리는 방법이 궁금하다면 지도그리기 포스트를 참고하자!
ESPG(European Petroleum Survey Group)?
먼저, 들어가기 전에 ESPG가 무엇을 의미하는지 간단히 알아보자.
ESPG코드는 전 세계 좌표계 정의에 대한 고유한 명칭으로 상세 정의는 PROJ.4와 wkt라는 문자열로 이루어 진다.
ESPG 공식 페이지에서 볼 수 있는 ESPG:3857와 ESPG:4326는 아래와 같다.
<PROJ.4 - ESPG:3857>
+proj=merc +a=6378137 +b=6378137 +lat_ts=0 +lon_0=0 +x_0=0 +y_0=0 +k=1 +units=m +nadgrids=@null +wktext +no_defs +type=crs
<PROJ.4 - ESPG:4326>
+proj=longlat +datum=WGS84 +no_defs +type=crs
각 PROJ.4에서 투영체를 의미하는 +proj 부분을 살펴보면
ESPG:3857의 경우, +proj=merc로 메르카토르 투영법을 사용 했다는 것을,
ESPG:4326의 경우, +proj=longlat으로, WGS84 타원체의 경위도 좌표계를 의미한다.
이렇듯, PROJ.4만 읽어도 각 좌표계가 어떤 인자를, 어떤 투영체를 사용하는지에 대한 정보를 알 수 있다. 하지만, 이 부분은 필요할 때마다 찾아보고 넘어가도록 한다.
ESPG:4326
ESPG:4326은 우리가 흔히 알고 있는 좌표, 위도(latitude), 경도(longitude)를 사용하는 CRS(Coordinate Reference System)입니다. 우리나라 좌표를 생각하면 가장 먼저 떠오르는 위도 37, 경도 127가 바로 그것이다.
이 방식의 특징은 지구의 타원체 모델을 사용하고, 곡률을 계산하여 지구의 표면을 나타내, 거리계산을 할 수 있다는 점이 있다.
타원체 모델을 사용하는 만큼 타원형 지구를 보여주는 Google Earth에서, 그리고 정확한 위치계산 및, 거리계산이 가능하다는 점에서 GIS에서 사용하고 있다.
ESPG:3857
ESPG:3857의 경우, 메르카토르 투영법을 사용하는 좌표계로써, Google Maps, OpenStreetMap, Bing, ArcGIS, ESRI 등에서 사용하고 있다.
이 방식의 특징은 타원형의 지구를 2D 평면 지도에 표시한 좌표계 라는 것에 있다.
따라서 당연히 오차가 발생 할 수 밖에 없고, 이 좌표계로는 거리 계산이 불가능한 점이 있다.
결론 - 뭘 써야 할 까?
개인적으로
단순히 웹페이지에서 지도를 보여주기 위함이라고 한다면, ESPG:3857을 사용하는 것이,
만약, 지도 데이터가 longitude, latitude방식으로 저장되어 있거나 거리계산과 같은 정밀함이 필요하다면 ESPG:4326를 사용하는 것이 맞다고 결론을 내렸다.
특히나 나의 경우, 자동차 주행 데이터가 위도, 경도로 저장이 되어 있고, 거리 등을 계산해야 하는 부분이 필요하여 ESPG:4326을 사용하기로 했다.
<참고링크>
'Openlayers' 카테고리의 다른 글
[Openlayers] 3 - 지도 위에 아이콘(custom marker) 출력 (2) | 2023.05.30 |
---|---|
[Openlayers] 2 - 지도 클릭 이벤트로 좌표 출력 (1) | 2023.05.15 |
[ Openlayers ] 1 - OSM 지도 그리기 (0) | 2023.05.15 |