geodetic to UTM or UTM to geodetic

가끔 좌표 문제 나오면 머리뜯는 경우가 생기는데 생각보다 어렵지도 않지만 그렇다고 생각보다 쉽지도 않습니다. 일단 지구라는 둥글둥글한 세상을 이게 지도든 혹은 우리가 사용하는 도메인이든 어디든 투영하려고 하면 이걸 어디서부터 시작해야하는지 당황할때가 종종 있죠.

만약 ‘지도’에 대해 좀더 공부하고 싶으시다면
John P. Snyder씨의 Map Projections –  A working Manual을 1장, 2장 3장, ~ 8장까지만 읽어보셔도 됩니다만 이 아저씨가 워낙 깨알같이(폰트가 작아요 ㅠㅠ) 써놔서 읽기 힘듭니다.
심심할때 교양서적 읽듯이 읽어도 사는 데 많은 도움(지도의 역사, 지도의 종류등등)이 될겁니다.

각설하고..
첨부한 파일은 mod_geo.f90이라는 모듈파일, 테스트 프로그램 test_geo.f90 파일 그리고  친절한 make파일입니다. 간단하게 사용법을 설명하자면..

lflag는 optional로 선언되어 있어서 디버깅을 원하시면 숫자값을 아무거나 넣어주시면 되고..
필요없으시면 안넣어주면 됩니다.

call utm_zone (latit, longi, lflag)
longi값에 따라 utm_zone을 계산해줍니다. false easting과 false northing이 나오는데 이건 그냥 기준점으로부터 거리 구할 때 마이너스 값 나오는거 방지용입니다.

call geo2utm (latit, longi, utmx, utmy, lflag)
이건 latit, longi값을 넣으면 utmx, utmy값을 ‘미터’단위로 계산해줍니다. 중요한 건 ‘미터’단위를 사용한다는 겁니다.

call utm2geo (latit, longi, utmx, utmy, lflag)
이건 반대로 utmx, utmy값을 latit, longi값으로 바꿔줍니다.
utmx, utmy는 기준점으로부터의 거리를 나타내기 때문에 이걸로 latit, longi값을 찾기 위해서는 기준점이 어디인지 알려줘야 합니다. 다시 말하면 utm zone 어디에서의 x, y좌표인지 알려줘야한다는 이야기입니다.

프로그램 설명을 통해 알아채셨을지도 모르지만..
utm좌표계는 특정 기준점을 잡고 (utm zone이라고 공용으로 정의되어 있습니다) 그 기준점으로부터 거리로 x,y를 나타냅니다. 이게 UTM좌표계의 가장 중요한 핵심입니다.

http://www.apsalin.com/utm-zone-finder.aspx

http://www.apsalin.com/convert-geodetic-to-universal-transverse-mercator.aspx

http://www.apsalin.com/convert-universal-transverse-mercator-to-geodetic.aspx

포트란 프로그램은 요청하시면 메일로 보내드립니다.

4 thoughts on “geodetic to UTM or UTM to geodetic

  1. 안녕하세요. 구글링중에 들러보았습니다. 다름이 아니오라 위의 좌표 변환 포트란프로그램을 얻을 수 있을 까 하여 이렇게 리플을 남김니다. 혹, 이에 응해주신다면 akfls7266@naver.com으로 보내주시면 대단히 감사드리겠습니다.

    Reply
  2. wgs-84 -> utm-k 또는 utm -> utm-k로 좌표변황 예제나 공식 좀 공유바랍니다,

    Reply

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s