Garmin GPS 수신기용 Vector Map을 작성하는 방법을 설명해 본다.
단, 여기서 이야기하는 것은 다양한 Tool 을 이용한 다양한 방법 중에서 극히 일부분인 것을 이해하시기 바란다.
Garmin의 Vector Map 은 확장자가 .img 로서 아래와 같은 작성 Tool이 있다.
1. 가장 전통적인 Tool로서 cGPSmapper
Text 로 작성한 .mp File을 Compile하여 .img File을 생성해주는 Program.
기본적으로 Command Line Program.
.mp File의 형식은 Poland Programer가 개발하였다 하여 Polish Format(PFM)이라고도 불린다.
비 등록판은 Routable Map의 제작은 불가능하지만 그외는 실용상 거의 제한 없는 Map을 작성할 수 있다.
2. Mapwel
GUI 형식의 .img File 제작 도구로서 비등록판으로 연습이나 시험은 해 볼 수 있으나 제한이 많아서 실제 이용가능한 Map은 만들 수 없다고 봐도 무방하다. 하지만 비등록판으로 Custom Type의 Object를 정의 할 수는 있으므로 Custom Type의 Object를 WYSIWYG으로 만들어 볼 수는 있겠다. Mapwel Home Page
3. GPX2IMG
.gpx 파일을 .img File로 변환해주는 도구
GPX2IMG는 전문적인 Compiler라기 보다는 간단하게 Track등의 자료를 .img로 변환할 수 있는 변환 Tool정도의 프로그램이므로 제외하고, cGPSmapper와 Mapwel 을 비교해보면 개인적인 용도로 비상업용 Map을 작성하기 위한 Licence Fee는 둘다 비슷하므로 취향에 따라 선택하면 되겠지만, Dos를 경험하지 못한 세대에게는 좀 어렵게 느껴질 지 모르겠으나 무엇보다 가볍고, 다음에 설명할 GpsMapEdit 나 GMapTool등에서 Add-On 프로그램으로 동작시킬 수도 있고 깔끔해서 나는 cGPSmapper를 추천한다.
여기서는 그중에서 cGPSmapper를 이용하여 .img File을 작성하는 방법에 대하여 알아보기로 한다.
Raster Image를 Vectorizing하여 Map으로 변환하는 것은 오래전에는 쓸모가 있을 것도 같지만, 품질의 조악함은 말할 것도 없고 GPS 수신기가 Raster Map을 지원하는 현시점에서는 불필요한 작업으로 생각되어, Vector Data 를 .img로 변환하는 방법에 대해서만 설명하기로 한다. 참고로 Mapwel 을 이용하면 일체의 다른 프로그램 필요없이 Mapwel내에서 Raster Image를 Vectorizing하여 바로 .img File을 작성할 수 있다. 필요한 Skill만 익히기에도 부족한 시간에 현 상황에 맞지않는 것까지 공부할 필요는 없다고 생각하지만, 남아도는 시간에 심심해서 공부해 보겠다면 말릴 생각은 없다.
위에서 언급한 것 처럼 cGPSmapper를 이용하여 .img File을 작성하려면 먼저 .mp File을 작성해야 하는데, 그 형식을 여기서 다루기에는 너무 방대한 내용이므로 여기서는 필요한 내용만 설명하기로 하고 자세한 것은 cGPSmapper의 공식 홈페이지에서 사용설명서를 다운받아서 공부하기 바란다. Install Version과 비설치 Version이 있는데, 굳이 설치할 것까지는 없으므로 비설치 Version을 다운받아 적당한 폴더에 압축을 풀어 놓는다.
.mp 파일을 작성하기 위해서는 메모장 같은 Text Editor 프로그램을 사용하여 일일이 직접 작성할 수도 있겠으나, 그건 너무 많은 공부와 수고를 요하게 되므로 변환 프로그램으로서 GPSMapEdit를 시용하기로 한다. 최신버전을 다운받아 설치한다.
그 다음에 별다른 변환작업없이 GPSMapEdit에서 바로 인식할 수 있는 형식(.gpx 등) 이외의 Data(.gtm, .plt, .wpt 등)을 GPSMapEdit에서 인식할 수 있는 형식(.gpx 등)으로 변환하기 위한 Tool도 필요한 바, GpsTrackMaker를 사용하기로 한다. 유료판을 사용하면 활용도가 훨씬 높아지겠지만 비등록판이라도 그다지 부족하지 않다. 역시 다운받아 설치한다.
지금까지 거론한 Tool을 정리해보자.
1. GpsTrackMaker: Source Data를 GpsMapEdit에서 불러올 수 있는 File(.gpx, .shp 등)으로 변환하기 위해 사용
2. GpsMapEdit: Data File을 편집하고 .mp File로 변환하기 위해 사용
3. cGPSmapper: 최종적으로 .mp File을 Compile하여 ,img File을 만들기 위해 사용.
위의 Tool이 준비되었다면, 이제 실제로 .img File을 작성해보기로 하자.
하지만 각 프로그램의 기본적인 사용법(Tool선택, 화면 확대/축소 등)은 설명하지 않을 것이므로 각자가 알아서 대강의 사용법을 익혀두기 바란다.
먼저 Source File로는 다음의 GPS월드 카페의 해외트랙방에 공개되어 있는 백두산DEM 등고선 파일과 Bakdu090731.gpx 파일을 이용하여 .img File을 만들어 보기로 한다.
먼저 백두산DEM 등고선.zip 파일을 다운받아 압축을 풀면 백두산DEM등고선.gtm 파일을 볼 수 있는데 적당한 폴더에 저장해둔다. Bakdu090731.gpx 파일도 다운받아 같은 폴더에 저장해 둔다.
먼저 GpsTrackMaker(이하 GTM)을 실행하고 백두산DEM등고선.gtm File을 불러온다.
이 file을 메뉴바 → File → Save As 메뉴로 .gpx File로 저장하면 되는데, 그전에 약간의 작업을 할 것이 있다. 위 그림을 보면 경위도선 과 등고선 Data가 혼재하고 있는데, GPS Data 역시 DataBase와 마찬가지로 최소의 단위로 분류를 하는 것이 여러모로 편리하다.(DataBase를 공부해보신 분이라면 쉽게 이해하실 듯) 나중에 설명하겠지만 통합작업은 아주 쉽게 할 수 있다.
화면 좌측의 ToolBar에서 가장 윗쪽의 선택Tool이 선택되어 있는 것을 확인후 경위도선중의 아무선위에서나 마우스 왼클릭하여 선택한다. 해당선이 선택된 것을 확인한 후(직접 해보면 알 수 있다,) 메뉴바 → Tools → Tracklogs and Routes → Select Tracklogs by Style을 클릭한다.
그러면, 먼저 경위선중의 하나를 선택한 후 이 메뉴를 열었기 때문에 경위도선의 Style이 선택된 상태로 Dialog 창이 열린다. OK를 클릭한다. 그러면 모든 경위도선이 선택된 상태가 되는데, 이 상태에서 Ctrl-X(잘라내기)를 누른다. 그후 바탕화면의 GTM Icon을 더블클릭하여 GTM 프로그램을 하나 더 연 후 Ctrl-V(붙여넣기를 한다.
이 파일을 메뉴바 → File → Save File As 를 이용하여 "백두산DEM경위도.gpx"의 명칭으로 적당한 폴더에 저장하고 두번째 실행한 GTM창은 닫는다.
원래의 GTM 창으로 돌아와서 역시 메뉴바 → File → Save File As 를 이용하여 "백두산DEM등고선.gpx"의 명칭으로 동일한 폴더에 저장한다.
위에서는 경위도선 과 등고선 Data만 분리하였으나 같은 방법을 사용하여 Point도 따로 분리해 낼 수 있다.
위의 방법은 여러가지 Data(즉, Track, Waypoint 등)이 혼재할 경우 각각을 분리해 내어 따로 따로 저장할 수 있는 방법으로 여러 경우에 사용될 수 있으니 꼭 기억해 둘 것.
자, 이렇게 해서 3개의 .gpx 파일이 준비되었다.
백두산DEM경위도.gpx - 경위도선
백두산DEM등고선.gpx - 등고선
Bakdu090731.gpx - 실제 등반 Track
GpsMapEdit를 실행시키고 먼저 백두산DEM등고선.gpx File을 불러온다.
이상태에서 메뉴바 → File → Save As 를 이용하여 파일형식에서 Polish format(*.mp;*.txt)를 선택하여 "백두산DEM등고선.mp" 라는 이름으로 저장한다.
이렇게 하여 현재 GpsMapEdit에 Load된 파일이 백두산DEM등고선.mp가 되었다.
메뉴바 → Edit → Select → All Track Logs 를 클릭한다.
현재는 .gpx 파일을 불러와서 .mp로 저장한 상태이므로 모든 線들을 GpsMapEdit에서 Track Log로 인식하므로, All Tracj Logs를 클릭하여 모든 선(Line)들을 선택하였다.
다음으로 선택된 선들중 아무 선위에서나 오른클릭하여 나타나는 Pop-Up 메뉴에서 Convert to → Polyline을 클릭하여 모든 선들의 속성을 Polylene으로 변경한다.
그 후 나타나는 Select Type Dialog 창에서 0x0022 Elevation Major land contour(1/1)을 선택하고 Apply 버턴을 누른 후 OK 버턴을 누른다.
다음, 화면의 빈곳을 클릭하여 선택을 해제하면 모든 선들이 등고선으로 변경된 것을 확인할 수 있을 것이다.
위의 그림을 클릭하여 확대해서 살펴보면 중앙의 천지 부근에 Waypoint가 몇개 보이는 데 이 Waypoint들도 변환해 보자.
개체가 Line에서 Point로 변경되었을 뿐 방법은 위에서 설명한 것과 동일하다.
메뉴바 → Edit → Select → All Waypoint를 차례로 선택하고 선택된 Waypoint 중의 하나 위에서 오른 클릭하면 나타나는 Pop-Up 메뉴에서 Convert to → Point를 선택하고 나타나는 Select Type Dialog창에서 0x6600 Land feature를 선택한 후, Apply 버턴을 누르고 OK 버턴을 누른다.
조금 더 보기좋게 편집 해보자.
천지 부근을 확대하여 보면, 천지는 호수인데 일반 등고선만 있을 뿐 호수라는 표시는 없다. 가장 안쪽 등고선을 클릭하여 선택하고 오른 클릭하여 나타나는 Pop-Up 메뉴에서 Modify → Kind → Convert to Polygon...을 선택하고 나타나는 Select Type Dialog창에서 0x003e Medium Lake를 선택하고 Apply 버턴을 누른 후 OK 버턴을 누른다.
여기까지 편집하고 메뉴바 아래의 Tool Bar에서 왼쪽 2번째의 Diskket 모양 Icon을 눌러 지금까지의 작업결과를 저장하고 메뉴바 → File → Close를 선택하여 파일을 닫는다.
이제는 Bakdu090731.gpx 파일을 열고 위에서와 마찬가지로 일단 .mp 파일로 저장한다.
그다음에, Track을 클릭하여 선택한 후, 오른 클릭하여 나타나는 Pop-Up 메뉴에서 Convert to → Polyline을 선택, 나타나는 Select Type Dialog창에서 0x0016 Walkway/trail을 선택한 후, Apply 버턴을 누르고 OK 버턴을 누른다.
Bakdu090731.mp 파일도 닫는다.
백두산DEM경위도.gpx는 위의 파일들로 .img 파일을 만들어 GPS에서 사용할 경우 수신기화면에서 자체적으로 경위도가 표시되어, 불필요하고 화면만 복잡해지므로 무시한다. 만약 어떠한 이유로 경위도선이 필요하다면 위와 같은 방법으로 변환하여 사용하면 될 것이다.
이렇게 해서 백두산DEM등고선.mp 와 Bakdu090731.mp 2개의 파일을 만들었다.
이 .mp 파일들은 내용이 일반 Text이므로 메모장등의 Text Editor 프로그램으로 열어서 확인하고 편집할 수도 있는데, PFM 파일의 Format을 공부한 후 시도해 보기 바란다.
이제 드디어 .img 파일을 만들 단계.
GpsMapEdit 프로그램에서 메뉴바 → File → Open을 선택하고 열기 Dialog 창에서 조금전에 만든 백두산DEM등고선.mp 파일과 Bakdu090731.mp 파일을 복수 선택하여 한꺼번에 불러온다.
메뉴바 → File → Save as를 클릭하고 백두산.mp 라는 명칭으로 저장한다.
그다음 메뉴바 → File → Map Properties를 선택하여 열리는 Map Properties Dialog 창에서 Hearder 탭을 선택한 후 아래그림을 참조하여 입력하고, Levels, cGpsMapper 탭도 아래그림들을 참조하여 입력한다.
화면상에 요약 설명이 있지만 조금 부연 설명을 하자면
Header 탭
ID는 8자리 숫자 - 31467822로 입력
Name은 Map의 명칭
Code Page는 문자셋의 Page 번호(한글은 949, DropDown List에서 선택) 옆의 Detect 버턴을 클릭하면 프로그램이 찾아서 지정해주기도 한다.
Code Schema 역시 DropDown List에서 선택하는데, 클릭해보면 직관적으로 알 수 있을 것이다.
Level 탭
굉장히 중요한 부분인데, 간단하게 이야기하자면 어떤 상세도(정밀도)의 Layer가 GPS의 어떤 Scale에서 보이는 가를 지정해 주는 것이다. 여기에 관해서는 일전에 따로 Posting 해둔 글이 있으므로 읽어보고 반드시 이해해 둘 것.
cGpsMapper 탭
TRE size는 허용되는 최대 지역크기를 의미하며 등고선 지도라면 1,000~2,000, 市街圖f라면 2,000~5,000, 국가전체의 지도라면 6,000~10,000 의 범위에서 입력해준다. 숫자를 보고 눈치 챘을 수도 있겠지만 Map 구성요소(Element)의 수량에 따라 범위를 넓게 혹은 좁게 잡는 것이다. 즉, 등고선 지도처럼 Map 구성요소가 많은 경우에는 그 (Map Tile의)범위를 적게 잡고 Map 구성요소가 듬성듬성 있어 개수가 많지않을 경우에는 (Map Tile의)범위를 크게 잡는 것이다.
RGN limit는 Region Limit를 의미하며 위의 TRE size에서 정해준 범위의 Map Tile내에 최대 몇개의 Map구성요소를 입력할 것이냐를 설정하는데, 50~1,024 의 숫자를 입력하면된다. 단, 50 미만의 숫자를 입력해서는 안되고, cGPSmapper 매뉴얼에 따르면 최근의 실험에서 이 설정값이 Map의 Performence에 영향을 미치지는 않는 것 같았으니 최고값인 1,024로 입력해도 무방하다고 한다. TRE Size 및 RGN Limit에 관해서는 아래의 추가설명 참조
Map is transparent는 Background의 투명 여부를 지정, 불투명으로 하면 다른 지도 위에 오버랩 시켰을 경우 아래의 Map이 보이지 않을 것이다. 그림처럼 설정해두면 무난.
그아래의 설정값들은 상용버전에 해당되는 항목이므로 여기서는 해당없어 Pass.
위그림의 각항목에 관하여 더 자세한 내용은 도움말이나 매뉴얼을 통해 직접 공부해 보기 바란다. 여기서 다루기에는 그 내용이 너무 많다.
그다음 메뉴바 → File → Export → Garmin IMG / cgpsmapper.exe를 클릭하고 나타나는 다른 이름으로 저장 Dialog 창에서 폴더를 지정하고 적절한 명칭(예: BaekDuSan.img)를 부여한 후 저장 버턴을 누른다. 그러면 나타나는 아래 그림의 Export to cgpsmapper.exe Dialog창에서 Path to cgpsmapper.exe 입력란에 오른쪽의 ... 버턴을 이용하여, 다운 받고 압축풀어서 저장해둔 cgpsmapper.exe의 경로를 지정해 준다.
참고로, cGPSmapper 프로그램은 기본적으로 Command Line 프로그램으로 Command Prompt(Dos)창에서 실행해야 되지만, 이 경우처럼 GpsMapEdit의 Add-On 프로그램으로 실행시킬 수도 있다. Command Prompt에서 실행시킬 경우에는 Batch 파일을 작성하여 이용하면 편리하다.
그다음 Run 버턴을 클릭하면 cGPSmapper가 Compile 작업을 시작하게 된다.
작업이 완료되어 위의 그림과 같은 확인 창이 나타나면 확인 버턴을 클릭하고 Export to cgpsmapper.exe Dialog 창도 Close버턴을 클릭하여 닫는다.
이제 아까 지정한 폴더에서 BaekDuSan.img 파일을 찾아, 구형 수신기라면 SendMap 등의 Utility를 이용하여 GPS로 전송해야 할 것이고, 신형이라면 기기로 바로 복사하여 GPS에서 사용하면 된다. 이 경우 Map의 명칭을 변경해야 되는 경우도 있을 수 있고, 자신의 기기에 맞는 방법으로 사용하여야 할 것이다. 또, 현재 OruxMaps 앱도 Garmin의 .img 파일을 지원하므로 OruxMaps에서도 사용할 수 있을 것이다.
이렇게 하여 단 3개의 Tool을 이용하여 어려운 과정을 거치지 않고서도 .img파일을 만들 수 있다는 것을 설명하였는데, 지금까지의 과정을 요약하면 "어떤 Source Data를 .mp 파일로 변환하고 .mp 파일을 cGPSmapper 프로그램으로 Compile하여 .img 파일을 만든다." 라는 말이 되는 데, Source Data 파일의 종류(.dxf, .shp 등)에 따라 사용하는 Tool이 다를 수는 있어도 동일한 원리이므로 나머지 는 자신이 직접 연구해 보기 바란다.
나는 cGPSmapper의 매뉴얼을 다운받아 인쇄하고 인근 대학가 복사집에서 2천원 주고 스프링 제본하여 읽어보고 옆에 두고 참고하고 있는데, Garmin 기기 소유자라면 이 정도투자는 할 만한 가치가 있을 것으로 생각한다.
여기서 이야기한 것은 GpsMapEdit를 중심으로한 간단한 작성방법을 설명한 것에 불과하고, 목적지가 같아도 도달할 수 있는 길은 여러가지가 있을 수 있듯이 마찬가지로 Map 작성에도 다양한 Tool과 방법이 존재한다. 또 공부를 해보면 Map상의 Object를 표시함에 있어 cGPSmapper 프로만으로도 자신만의 모양(Custom Type)을 정의하여 표시하는 방법도 알게 될 것이다. 그정도 수준에 도달하려면 cGPSmapper를 각종 Switch를 부가하여 Command Prompt 상에서 실행시키는 방법도 익숙해 질 필요가 있다. 또, 여기서 한가지 이야기하고 싶은 것은 기기의 기능향상과 더불어 불과 얼마전과 비교해서도 여러가지 면에서 비약적으로 Map 작성이 쉬워 졌다는 것이고(예: 60CSX vs Oregon), 먼저 같은 길을 걸었던 동호인들의 시행착오를 포함한 정보공개도 후답자들에게 많은 도움이 되고 있다는 사실이다.
참고로, 학습의욕 고취를 위해 만들어둔 .img 파일의 MapSource와 Oregon에서의 화면캡쳐를 첨부한다.
지적도
지리산길 트랙으로 만들어본 .img지도, 종류별로 형태와 색상을 달리하여 제작
조은산님의 1대간 9정맥 산행트랙으로 만든 .img지도, 역시 종류별로 색상과 형태를 달리하여 제작
박하님의 영남알프스 종합트랙과 국제신문의 영남알프스 둘레길 트랙을 합쳐 제작한 .img지도
다음에는 여기서 만든 .img 파일을 MapSource 설치판으로 만들어 MapSource에서 이용할 수 있는 방법에 관해서도 Posting해 보기로 한다.
TRE Size 및 RGN Limit에 관한 고찰
아래의 내용은 cGPSmapper 사용설명서에는 명확한 설명이 없어, 내 나름대로 추측한 것이므로 틀릴 수도 있는 내용이므로 참조만 할 것.
먼저 TRE Size는 Tile Region Size의 의미로 추측했다.
위 그림과 같은 Map이 있다고 가정했을 때, 한장의 Map은 여러장의 작은 Map(Tile)이 모여서 완성되고 하나 하나의 작은 사각형은 어떤 범위(region)의 지역을 표현 하고 있으므로 작은 사각형을 Tile로 Tile이 표현하는 지역을 Region이라고 하면, Tile Region Size란 하나 하나의 Tile이 표현하는 범위의 크기가 된다.
여기에서 Map Data의 원활한 처리를 위해 하나 하나의 Tile에 표시할 개체(Map Element, Map 구성요소)가 많으면 그 범위를 작게 잡고, 표시할 개체가 적으면 크게 잡는다는 개념으로 이해했다.
그리고 위 그림에서 설명하고 있는 것처럼 TRE Size를 크게 설정하면 GPS상에서의 Map표시는 늦지만 Map File의 크기는 작아지게 된다.
또 RGN Limit는 하나 하나의 Map Tile에 입력할 수 있는 개체의 갯수이며 cGPSmapper 사용설명서에 따르면 50 ~ 1024 범위의 값이라고 하며 50 미만은 입력할 수 없다고 한다. 즉, 1개의 Map Tile에 입력할 수 있는 개체의 최대 갯수는 1024개 이고, 또 개체가 50개 미만이더라도 무조건 50이상으로 입력해야 된다는 이야기가 되겠다.
위에 기슬한 내용을 바탕으로 생각해보면, TRE Size 값에의해 Map Tile의 크기를 결정하고 RGN Limit 값에 따라 각 Tile내의 개체수를 결정한다는 결론을 내릴 수가 있는데, 각 Tile당 개체수는 입력값을 참조는 하겠지만 어느정도 유동적인 것으로 생각된다. 또 ,이 값이 Map Performence에 영향을 미친다면 대략의 값을 파악하여 입력하여야 겠지만, cGPSmapper 사용설명서에는 최근의 실험에서 이 설정값이 Map의 Performence에 영향을 미치지는 않는 것 같았으니 최고값인 1,024로 입력해도 무방하다고 설명되어 있다.
'GPS > Garmin Oregon' 카테고리의 다른 글
MapSource 설치본 제작 (2) | 2012.08.12 |
---|---|
cGPSmapper의 Level 과 Zoom (0) | 2012.08.10 |
지리산길 2.2 버전 (2) | 2012.07.20 |
지리산길 2.1 (1) | 2012.03.05 |
1대간 9정맥 (0) | 2011.10.30 |
일본 지형도를 JNX 파일로 얻기 (0) | 2011.10.23 |
MAPC2MAPC를 이용한 JNX 파일의 작성과 사용방법 (16) | 2011.10.05 |
cGPSmapper Custom Type 적용 map (2) | 2011.08.17 |
트랙을 Garmin의 img 지도로,,, (5) | 2011.08.03 |
OutDoor 전용 GPS 수신기를 장만하다. (0) | 2010.03.16 |