기타

[NaverMap] 네이버 지도, 카카오맵 좌표계

보겸삼촌 2020. 7. 27. 12:25

# 문제상황

기존 네이버지도에서는 Utmk 좌표계에 대한 값으로 제공하고 있었는데 EPSG:5179 코드로 변경되어 제공하고 있음을 확인

 

 

# 설명

EPSG 코드는 전세계 좌표계 정의에 대한 고유한 명칭

EPSG 코드의 상세 정의는 prj4, wkt라는 문자열로 이루어 져있으며 wkt는 좌표계의 다양한 제원값을 정해진 문자열로 제공하고 있음

 

 

http://epsg.io/

 

EPSG.io: Coordinate Systems Worldwide

EPSG.io: Coordinate systems worldwide (EPSG/ESRI), preview location on a map, get transformation, WKT, OGC GML, Proj.4. http://EPSG.io/ made by @klokantech

epsg.io

 

 

# EPSG.io 사이트 이용해서 coorinates 좌표로 변환

 

http://epsg.io/transform#s_srs=3857&t_srs=4326&x=14133868.1879552&y=4517830.8603810

 

EPSG.io: Coordinate Systems Worldwide

EPSG.io: Coordinate systems worldwide (EPSG/ESRI), preview location on a map, get transformation, WKT, OGC GML, Proj.4. http://EPSG.io/ made by @klokantech

epsg.io

 

 

 

 

1. EPSG: 5179 (네이버, 도로명주소)

  : GRS80 타원체의 UTMK 직각 좌표계로 네이버, 도로명주소 DB에서 사용

# 제원값

+proj=tmerc +lat_0=38 +lon_0=127.5 +k=0.9996 +x_0=1000000 +y_0=2000000 +ellps=GRS80 +units=m +no_defs

  

▶ 실제로 작업해본 결과

  네이버 지도에서 제공하는 좌표(x, y)값을 webMercatorCoord 객체로 변경해서 lat, lng 값으로 추출하여

LatLng 객체에 넣으면 출력이 가능

var webMercatorCoord: WebMercatorCoord = WebMercatorCoord(14149393.809388664, 4509992.918682303)

val marker3 = Marker()
marker3.position = LatLng(webMercatorCoord.toLatLng().latitude, webMercatorCoord.toLatLng().longitude)
marker3.map = naverMap // 지도에 마커 추가



 

2. ESPG:5181 (카카오맵)

  : GRS80 타원체의 중부원점이며 Y축으로 500000미터만큼 이동시킨 좌표계

# 제원값

+proj=tmerc +lat_0=38 +lon_0=127 +k=1 +x_0=200000 +y_0=500000 +ellps=GRS80 +units=m +no_defs

 

 

3. EPSG:3857, EPSG:900913, EPSG:102113 (구글맵)

# 제원값

+proj=merc +a=6378137 +b=6378137 +lat_ts=0.0 +lon_0=0.0 +x_0=0.0 +y_0=0 +k=1.0 +units=m +nadgrids=@null +no_defs

 

 

 

 

 

[참고] EPSG 코드

http://www.gisdeveloper.co.kr/?p=8942

 

대한민국 EPSG 코드 – GIS Developer

EPSG 코드는 전세계 좌표계 정의에 대한 고유한 명칭입니다. EPSG 코드에 대한 상세 정의는 prj4와 wkt라는 문자열로 되어 있으며, proj4와 EPSG의 wkt는 좌표계의 다양한 제원값을 정해진 문자열로 구성

www.gisdeveloper.co.kr