- CompeGPS에서 waypoint 파일을 open
- Waypoints > Waypoint list (shift + W)
- waypoint 목록 창에서 Save as... 버튼 클릭
- 적당한 이름으로 저장
2009/02/15
GPS Waypoint를 다음맵, 구글맵과 연동
CompeGPS에 다음맵이나 구글맵을 연동하는 방법을 찾다보니 GPS에서 맵을 바로 볼게 아니라면
차라리 반대로 하는게 더 낫겠다는 생각이 들었다.
CompGPS의 waypoint 파일을 업로드해서 그걸 다음맵이나 구글맵에 표시하는 방식이다.
이를 위해서 이미 구글맵 API와 다음지도 API 키를 발급받았고, 특정지점의 좌표를 xml파일로 만들어서 맵에 표시하는 기능까지 테스트를 마친 상태이다.
waypoint 파일을 파싱해서 xml로 만들어 서버에 저장하는 기능만 구현하면되는데, wpt 파일 열어보니까 다행이 text 형식으로 저장되있었다. xml 형식이 아닌건 좀 아쉽긴 하지만....
인터넷에서 다운 받은 주요 활공장의 wpt 파일들을 열어보니까 아래와 같은 형식으로 저장되어 있었다.
A type:
공통점
UTM형식의 파일을 WGS84형식으로 변환하는 방법은 이곳을 참조.
차라리 반대로 하는게 더 낫겠다는 생각이 들었다.
CompGPS의 waypoint 파일을 업로드해서 그걸 다음맵이나 구글맵에 표시하는 방식이다.
이를 위해서 이미 구글맵 API와 다음지도 API 키를 발급받았고, 특정지점의 좌표를 xml파일로 만들어서 맵에 표시하는 기능까지 테스트를 마친 상태이다.
waypoint 파일을 파싱해서 xml로 만들어 서버에 저장하는 기능만 구현하면되는데, wpt 파일 열어보니까 다행이 text 형식으로 저장되있었다. xml 형식이 아닌건 좀 아쉽긴 하지만....
인터넷에서 다운 받은 주요 활공장의 wpt 파일들을 열어보니까 아래와 같은 형식으로 저장되어 있었다.
A type:
G WGS 84B type:
W H01 52S 347932.0 3906870.0 27-MAR-62 00:00:00 0.000000 곡성 고달교
w 6,0,0.0,16777215,255,1,7,,-1.0
W H02 52S 365446.0 3897518.0 27-MAR-62 00:00:00 0.000000 하중마을 댐
w 6,0,0.0,16777215,255,1,7,,-1.0
G WGS 84위에서 보인바와 같이 A, B 두가지 형태의 타입이 있었는데, 공통점과 차이점을 분석해보자면
U 1
W *VL001 A 36.5782003857튞 127.9883753912튓 27-MAR-62 00:00:00 191.600000
w 6,0,-1.0,16777215,255,1,7,,0.0
W CL1014 A 36.6272665292튞 127.5282337690튓 27-MAR-62 00:00:00 0.000000
w 6,0,-1.0,16777215,255,1,7,,0.0
공통점
- 각 waypoint 레코드는 W 로 시작한다.
- W 행에는 좌표정보 (이름, 좌표, 고도, 설명...) 가 기술되어 있다.
- W행 아래에는 w 로 시작하는 행이 따라오는데 W에 정의된 좌표의 부가정보를 표시하는 듯 하다.
- waypoint 리스트가 시작하기 전에 G, U 로 시작하는 헤더가 존재한다.
- 각 열에서 컬럼 값을 구분하는 구분자는 space 이다.
- w 열을 제외 하고는 첫 문자 다음에는 두개의 구분자가 있다.
- 열 구분자는 \r\n 이다.
- 헤더에 U 가 있는 파일은 좌표체계를 UTM 방식을, 그렇지 않은 파일은 WGS84 방식을 쓰는 듯 하다.
- UTM방식을 쓰는 파일은 waypoint레코드에서 wapoint 이름 다음에 A 라는 값이 있고, WGS84에서는 52S 가 있는데 아마도 이는 우리나라가 속한 지역은 52번째 섹터라서 그런듯...
- WGS84방식을 쓰는 파일은 좌표값뒤에 이상한 문자가 들어가 있는데, 값을 일정길이로 맞추려고 padding을 추가하면서 그런것 같다. 파싱할때 숫자가 아닌 값은 무시하도록 해야겠다.
UTM형식의 파일을 WGS84형식으로 변환하는 방법은 이곳을 참조.
CompeGPS에서 waypoint와 다음맵 연동
석원형의 요청을 받아서 CompeGPS에서 waypoint파일을 불러와 거기서 다음맵과 매핑 하는 방법을 찾아보기로 했다.
우선은 CompeGPS 자체에도 해당지역의 이미지를 자동으로 불러오는 기능이 있다.
Maps > Open a map from an internet URL 메뉴를 사용하면 된다.
하지만 이 이미지는 해상도가 아주 떨어져서 육지와 강을 구분 하는 정도밖의 의미밖에는 없어보였다.
Maps > Download Internet map for this area 라는 메뉴가 해결 방안이 되리라 생각했었는데, 어떤 이유에선지 "Error unziping the map list" 라는 오류가 나면서 동작하지 않았다.
그 다음 방법은 구글어스나 다음맵에서 해당 지역의 맵을 불러와서 이미지로 저장한 후에
Maps > Calibrate a Map from a bitmap 메뉴를 이용해서 알고 있는 좌표값을 이미지에 찍어서 매핑해주는 방법이다.
이에 관한 방법은 http://www.podoal.pe.kr/43 를 참조하면 될것 같다.
아직 이 방법은 시행하지 않았지만, 이미지 파일을 사용하는 방식이라서 확대/축소 기능은 기대할 수 없을거 같다. 게다가 구글맵이나 다음에서 저장할수 있는 최대 이미지 사이즈는 화면해상도를 넘을수 없어서 넓은 지역을 포함하는 waypoint 전부를 포함하는 이미지 파일을 사용한다면 상세지역의 모습까지 보는것은 기대하기 어렵고 소축척이미지를 여러장 저장해서 각각을 map 파일로 만들어야 할듯 하다.
우선은 CompeGPS 자체에도 해당지역의 이미지를 자동으로 불러오는 기능이 있다.
Maps > Open a map from an internet URL 메뉴를 사용하면 된다.
하지만 이 이미지는 해상도가 아주 떨어져서 육지와 강을 구분 하는 정도밖의 의미밖에는 없어보였다.
Maps > Download Internet map for this area 라는 메뉴가 해결 방안이 되리라 생각했었는데, 어떤 이유에선지 "Error unziping the map list" 라는 오류가 나면서 동작하지 않았다.
그 다음 방법은 구글어스나 다음맵에서 해당 지역의 맵을 불러와서 이미지로 저장한 후에
Maps > Calibrate a Map from a bitmap 메뉴를 이용해서 알고 있는 좌표값을 이미지에 찍어서 매핑해주는 방법이다.
이에 관한 방법은 http://www.podoal.pe.kr/43 를 참조하면 될것 같다.
아직 이 방법은 시행하지 않았지만, 이미지 파일을 사용하는 방식이라서 확대/축소 기능은 기대할 수 없을거 같다. 게다가 구글맵이나 다음에서 저장할수 있는 최대 이미지 사이즈는 화면해상도를 넘을수 없어서 넓은 지역을 포함하는 waypoint 전부를 포함하는 이미지 파일을 사용한다면 상세지역의 모습까지 보는것은 기대하기 어렵고 소축척이미지를 여러장 저장해서 각각을 map 파일로 만들어야 할듯 하다.
피드 구독하기:
글 (Atom)