본문 바로가기
IT & 코딩

공간 데이터 좌표계 변환 (투영좌표계와 GPS 좌표계)

by 에일라거 2021. 5. 12.

공간 데이터는 지구상의 위치를 표현하는 방법이고, 여기에는 여러가지 방법이 있습니다. 오늘은 간단히 파이썬 코드로 이걸 어떻게 변경하는지 팁 성격으로 소개드릴께요

 

GPS 에서 KATEC 으로 좌표 변환

 


구형좌표계와 투영좌표계

이전에 글을 하나 썼지만, 공간을 표현하는 방식에는 구형 좌표계를 쓰는 방법과 투영좌표계를 쓰는 방법이 있다고 했습니다.

 

 

공간 데이터의 이해 - 공간 데이터란 무엇일까?

공간이란 무엇일까? 보통 3차원 공간이라는 얘기를 많이 하는걸로 봐서는, 우리가 딛는 땅, 하늘, 그리고 지하 이런 것들을 모두 공간이라고 하는 것일 테고, 그러면 공간 데이터라는 건, 공간에

guzene.tistory.com

투영 좌표계는 지구의 중심에서부터 지구 바깥에 스크린이 놓여 있다고 생각하고 쭉 투영한 것이기 때문에 멀어질수록 왜곡이 심해지게 되고, 그래서 투영의 중심점에 따라 모양이 많이 변합니다. 

 

쨌든 그래서 한국에서는 KATEC 이라는 투영좌표계를 많이 사용하고, GPS가 각도 (도/분/초) 로 되어 있는 방면에 KATEC 좌표계는 단위가 미터로 되어 있습니다. 오늘은 이걸 변환하는 파이썬 코드를 가져와 봤어요.

 

 

 

 


좌표계 변환 코드 (파이썬)

코드는 아래와 같습니다. 파일은 아래에 있구요!

 

from pyproj import Proj, transform

# 구형 좌표계 설정 : EPSG:4326
WGS84 = {'proj':'latlong', 'datum':'WGS84', 'ellps':'WGS84',}

# 투영 좌표계 설정 : KATEC
KATEC = {'proj':'tmerc', 'lat_0':'38N', 'lon_0':'128E', 'ellps':'bessel',
   'x_0':'400000', 'y_0':'600000', 'k':'0.9999', 'a':'6377397.155', 'b':'6356078.9628181886',
   'towgs84':'-115.80,474.99,674.11,1.16,-2.31,-1.63,6.43', 'units':'m'}

inProj = Proj(**WGS84)
outProj = Proj(**KATEC)

x1, y1 = 126, 38
x2, y2 = transform(inProj, outProj, x1, y1) # 구형 좌표계를 투영 좌표계로 변환
print(x2,y2)

 

coordinate_transform.py
0.00MB

 

위와 같이 변환하고 나면, 결과로써 "224535.4294218698 601579.7650098474" 이라는 숫자가 얻어집니다.

미터 단위라고 위에서 말씀드린 것처럼, 기준점에서 약 224km / 602km 떨어져 있다는 뜻입니다.

 

 

 


 

 

오늘은 좌표계 자체보다도 어떻게 변환하는지 간단히 코드 팁으로 알아봤습니다. 사실 이거 알아낸다고 개고생을...ㅠㅠ 어딘가 명확히 설명된 데가 없더라고요... 그래서 걍 제가 알아낸 거 정리 차원에서 포스팅해 봤습니다.

 

오늘도 글 보아주셔서 감사하구요, 다음에 더 알찬 글로 돌아오겠습니다!

댓글