들어가기 앞서
GPS에서 받은 위도 경도를 이용하여 UTM 좌표를 변환하기 위해 다음과 같은 수식을 거쳐야 한다.
ㅋㅋㅋㅋㅋ 모르겠다
참고로 필자는.. 고등 교육의 수학을 제대로 배우지 못한 사람... 따라서 차근차근 따라가 보도록 한다.
GPS는 어떻게 좌표를 나타내는가?
일단 GPS가 어떻게 좌표를 나타내는지 부터 확인해야 한다.
왜냐하면 공식에서 GPS 좌표가 어떻게 형성되었기 때문에~ 어떤 수식을 사용해서 X, Y 격자로 바꾸는지를 확인해야 하기 때문이다.
WGS84 (World Geodetic System, 세계 지구 좌표 시스템)
지도 제작 , 측지학 및 GPS를 포함한 위성 항법 에 사용되는 표준[위키]이다.
GPS 는 말 그대로 위치를 알려주는 시스템이다. 그럼 위치를 알려주는 기준이 있지 않은가?
위치를 알려주는 기준이란, "내 옆에 50m 떨어져있어~!" 라고 설명할 수 있다.
위와 같은 상대적인 기준이 있는 반면 GPS는 지구의 중심을 기준으로 알려주게 된다.
이게 무슨말인가?
이제 보이는가? 위도는 지구를 중심으로부터 나오게 된다.
물론 경도도 마찬가지.
따라서 GPS는 해당 좌표 체계(WGS84 )를 기준으로 위도 경도를 알려주게 된다.
UTM (Universal Transverse Mercator Coordinate System) 좌표계란?
전 지구상 점들의 위치를 통일된 체계로 나타내기 위한 격자 좌표 체계이다. [위키]
GPS는 위도 경도 1도당, 약 111.321km로 "내 남자친구랑 3도 떨어져있어~" 라고 했을 때 직관적으로 알아듣기 힘들다.
하지만 UTM좌표는 단위가 1m이기 때문에, 알아듣기 쉬운 장점이 있다.
지구를 경도는 6°도 위도는 8°도 간격의 격자로 나누게 된다.
그럼 동글동글한 지구를 어떻게 평평하게 폈는지 그리고 정확한지 이 과정도 중요하게 작용한다.
Mercator 투영법
UTM 풀네임을 보면, Mercator 라는 단어가 있다.
정잠도법 이라고도 하며, 원통에 동글동글한 지도를 넣어서 평면으로 핀 기법이다.
위키에서는 공식을 다음과 같이 보여주었다
적도를 기준으로 원통을 그리지만, UTM은 횡축 메르카토르 도법을 사용한다.
transverse Mercator projection(획축 메르카토르 도법)
적도 대신 지구본을 옆으로 뉘어서 투영하는 기법이다.
아무리봐도 저 도법에서 UTM이 어떻게 나왔지 싶다.
저렇게 투영시킨 후, 지구를 경도는 6°도 위도는 8°도 간격의 격자로 나누게 된다.
GPS -> UTM
이제 위도 경도를 UTM 좌표로 변환 해 보자.
참고 : https://fypandroid.wordpress.com/2011/09/03/converting-utm-to-latitude-and-longitude-or-vice-versa/
Symbols
lat : 변환 하고자 하는 위도
long : 변환 하고자 하는 경도
long_0 : 중앙 경도(지금부터 _ (언더바) 뒤 숫자는 아래첨자이다.)
lat, long
내가 변환하려고 하는 위도 경도다
중앙경도
중앙 경도란 경도를 6도씩 나누지 않았는가? 그럼 0도~6도 이렇게 한 구역을 이룰 것 이다.
이 구역의 중앙 경도는 3도로 진짜 중앙 경도이다.
K_0 : 스케일링 상수 = 0.9996
e : 이심률
e'^2 = 이심률 제곱
k_0
스케일링 상수로 축척 계수이다.
- 축척 계수란? : 타원체 위 측지선의 길이와 이에 대응하는 평면 좌표상의 거리와의 비
- 이해하기 쉬운 링크 : https://download.mirae-n.com/primary_online/interactive/society/4-1/%EC%84%A0%EC%83%9D%EB%8B%98%EC%9A%A9/%EB%AF%B8%EB%9E%98%EC%97%94_%EC%B4%88%EB%93%B1_%EC%9D%B8%ED%84%B0%EB%9E%99%ED%8B%B0%EB%B8%8C%ED%95%99%EC%8A%B5%EC%A7%80_%EC%82%AC%ED%9A%8C4-1_1_04%EC%B6%95%EC%B2%99%EC%9D%B4%ED%95%B4%ED%95%98%EA%B8%B0_%EC%84%A0%EC%83%9D%EB%8B%98%EC%9A%A9.pdf
- 중앙 경도와 가까울 수록 0.9996이며 경계선에 가까울 수록 1.0010이다.
- 이렇게 하는 이유는 지구의 곡률을 고려한 것
해당 그림을 보면 왜 경계에 가까울 수록 축척 계수가 높아지는지 확실히 알 수 있다.
사실 축척 계수가 UTM에서는 왜 저렇게 정한건지 제일 궁금하다.
애초에 고정 상수가 나오는 공식이라도 있을 것 같은데..
해당 답변은 다음 글에서 생각해보도록 하자.
중앙경도
중앙 경도란 경도를 6도씩 나누지 않았는가? 그럼 0도~6도 이렇게 한 구역을 이룰 것 이다.
이 구역의 중앙 경도는 3도로 진짜 중앙에 있는 경도이다.
이심률
n = (a*b)/(a+b)
rho = a(1-e^2)/(1-e^sin^2(lat)) : 지구 곡률 반경
n 이 무엇인가? 뭘 의미하는거지? 단지 저렇게만 구하는 건가?
흠.. GPT씨 말을 신뢰할 순 없지만, 느낌대로 뭔지 알아가보도록 하자.
참고로 a는 장반경(적도) b는 단반경이다.
rho = 지구 곡률 반경
곡률 반경 공식부터 알아보자.
기준
계산을 하면서 정확도 판단을 위해 서울역을 기준으로 한다.
서울역은 위도 : 37.552987017 경도 : 126.972591728 값을 가지고 있다.
바꾸었더니, x : 320914.231 , y : 4158151.413
이렇게 나왔다.
그럼 위키 공식을 사용해서 위치를 옯긴다고 한다.
x = 반지름 * (현재 경도 - 중앙 경도 )
y = 반지름 * log[tan(파이/4 + 위도/2)]
반지름 : 6,371 km
모두 알고있듯이 지구는 타원체로 반지름이 적도 반지름 극 반지름이 같지 않다. 하지만, 여기서는 동일하게 사용함으로써 위키에서 알려주는 반지름을 사용한다.
중앙경도
중앙 경도란 경도를 6도씩 나누지 않았는가? 그럼 0도~6도 이렇게 구역을 나누었을 것 이다.
이 구역의 중앙 경도는 3도로 정말 중앙 경도이다.
따라서 서울역의 중앙 경도는 129도가 된다. (왜냐하면 경도 126~132 사이에 있기 때문이다.)