여행에 있어서 가장 중요한 것을 꼽으라면, 망설임없이 지도를 꼽고 싶다. 예전 같으면 종이지도를 분책하여 가지고 다녔겠지만 지금은 GPS 나 휴대폰을 이용해서 현재의 위치와 앞으로의 경로, 지금까지의 이동 경로등을 실시간으로 확인할 수 있다.
더이상 길을 잃어버릴 걱정이 없는 것이다. 내가 대만과 일본 여행을 무리없이 소화할 수 있었던 것도 GPS 의 도움이 크다. 말도 통하지 않는 곳에서 게다가 자전거로 일주를 하기위해서는 현재 위치의 파악은 매우 중요하다.
여기서는 크게 GPS, 휴대폰의 경우로 나눠 설명한다. 이미 작성했던 관련 글들을 참고해도 된다.
지도를 만들기 위해 가장 우선적으로 해야 하는 것이 바로 여행 루트를 정하는 일이다. 여기서는 구글맵을 이용해서 만들 것이다. 구글맵의 경로를 GPX 파일로 추출해주는 크롬 플러그인이 있다. 'GMaps2GPX - Google Maps to gpx' 을 검색하여 설치한다. 상단 표시줄에 퍼즐모양을 클릭하여 활성화 시키면 아이콘이 생긴다.
'Open Google maps' 를 클릭하면 구글맵 페이지가 뜨는데 여기서 루트를 지정하면 다운로드 창이 뜬다. 무료버전의 경우, 출발지와 경유지, 도착지 이렇게 3곳만으로 경로를 지정하여 GPX 파일을 다운로드 할 수 있다. 경유지가 2곳 이상은 안되는 것이다. 따라서 3개씩 나눠서 만들어야 하는 번거로움이 있다.
앞선 과정을 통해 받은 GPX 파일은 사이즈가 꽤나 크고 고도 정보도 포함되어있지 않다. 고도 정보를 추가하는 방법은 2가지가 있다.
이를 위해 'GPS Rout Editor' 라는 프로그램을 사용한다.
http://www.gpsnote.net/ 에서 최신버전을 다운로드 받아 사용한다. 프로그램에서 해당 GPX 파일을 열고 고도정보를 추가한다. 그리고 저장하면 기존보다도 파일크기가 절반이하로 줄어든다.
이렇게 만든 GPX 파일은 가민 GPS 에서 '트랙로그저장' 라는 이름으로 표시된다. 파일이 하나라면 상관없지만, 여러 개라면 어떤 것이 원하는 GPX 파일인지 일일이 지도로 확인해야 한다. 각각의 이름을 표시하기 위해서는 GPX 파일의 수정이 필요하다.
해당 GPX 파일을 편집기 프로그램(Visual Studio Code)으로 연다. 아래와 같이 'name' 태그 부분을 추가해준다.
<wpt lat="-24.8406961" lon="-65.4100385"> <name>Depto Carolina</name> <desc>Depto Carolina, Salta</desc> </wpt> <trk> <name>Puente Wierna to Depto Carolina</name> // 추가 <trkseg> <trkpt lat="-24.6894637" lon="-65.3920395"> <ele>-1</ele> </trkpt> <trkpt lat="-24.688394" lon="-65.3991928"> <ele>-1</ele> </trkpt> ...
저장 후에 GPS 에 저장해서 보면 이름이 보일 것이다.
https://www.gpsvisualizer.com/convert_input 에서 해당 GPX 파일을 선택하고, 옵션을 아래와 같이 선택한다.
output format | GPX |
Add DEM elevation data | best available source |
'Convert' 를 누르면 고도데이터가 추가된 GPX 파일을 내려받을 수 있다.
GPX_merge_combine 라는 프로그램을 사용해서 여러개의 GPX 파일들을 하나의 파일로 합칠 수도 있다. https://realizm.tistory.com/62 에서 다운로드 할 수 있다. 만일 파일을 찾을 수 없다면, 여기 에서 다운로드 한다. 생성된 파일의 사이즈는 합친 각각의 파일의 합과 같다(당연하게도).
이렇게 만들어진 GPX 파일을 GPS(가민 오레곤 550) 또는 휴대폰에 저장하여 활용할 수 있다.
여행하는 내내 인터넷에 연결되어 있다면, 굳이 지도 데이터를 별도로 만들 필요가 없다. 오프라인 환경에서 사용하기 위해서는 지도 데이터를 만들어야 한다.
어떤 기기에서 사용할 것 인지에 따라 만드는 지도 데이터가 달라진다. 여기서는 GPS(가민 오레곤 550) 와 휴대폰(안드로이드)을 기준으로 설명하겠다.
지도 데이터를 만들기 위해서 필요한 목록은 아래와 같다.
GPS | Gamin Oregon 550 |
Phone | Galaxy Note 3(리니지 롬 / 안드로이드 11) |
Software(for PC) | Mobile Atlas Creator(MOBAC) http://mobac.sourceforge.net/ |
Software(for Phone) | Locus Pro |
PC | Lenovo X1 Carbon(Win 7) |
Etc | Micro SD Card(32GB) |
PC 용이든 모바일 용이든 공통적으로 필요한 프로그램이다. 공식 웹사이트에서 최신버전을 받아서 설치한다. 실행 시에 JDK 가 필요하기 때문에 별도로 설치해야한다.
현재(2022/11) 가장 최신 버전은 2.3.1 이다. 별도의 설치과정 없이 압축을 풀고 실행파일을 클릭하면 된다.
구글맵은 라이센스 문제 때문에 최신버전에 빠져있다. 따라서 구글맵을 다운로드 받기 위해서는 별도의 작업이 필요하다.
위의 파일을 다운로드 받아서 압축을 풀고, Mobile Atlas Creator 2.3.1/mapsources 디렉토리 아래에 복사한다. 그리고 나서 프로그램을 실행하면, 맵소스에 'Google 코리아 한국어 표기' 라는 항목이 보일 것이다. 이것을 클릭하면 구글맵이 표시될 것이다.
Mobile Atlas Creator 를 실행하고, 왼쪽의 중간 창에 'New' 를 클릭한다. 포맷을 지정해야 하는데, 'RMaps SQLite' 를 선택한다. 지도에서 데이터를 만들고 싶은 영역을 드래그 한 뒤, 레벨을 지정한다.
숫자가 높을 수록 자세한 지도가 만들어지지만 시간이 오래걸리고 파일용량도 늘어난다.
'Add selection' 을 클릭한다. 'Create Atlas' 를 누르면 다운로드를 시작한다.
완료가 되면, 설정된 위치에 파일(Unnamed atlas.sqlitedb) 이 생성된다.
휴대폰 앱스토어에 Locus Pro 를 검색하여 설치한다. 상용이기 때문에 돈을 지불해야 한다. 그리고 앞서 만들어진 파일(Unnamed atlas.sqlitedb)을 휴대폰으로 옮긴다. Locus Pro 프로그램을 실행하고, 지도 파일을 불러오면 방금전에 PC 화면으로 본 지도가 출력될 것이다.
여기서 사용하는 가민 GPS 의 경우, 별도로 구매해야하는 전용 지도 데이터가 있다. 하지만, 여기서는 무료로 사용가능한 지도 데이터 파일(.jnx)을 만들 것이다. 무료인 대신 많은 시간이 소요된다.
순정상태의 가민 GPS 기기에서는 사용할 수 없기 때문에, 약간의 해킹이 필요하다.
http://whiter.brinkster.net/en/JNX.shtml 사이트를 참고한다.
http://whiter.brinkster.net/FirmwarePatcher.html 에서 파일(FirmwarePatcher380.zip)을 다운로드하고 압축을 푼다. 만일 파일을 찾을 수 없다면, 여기에서 다운로드한다.
http://whiter.brinkster.net/generated/LatestGarminFirmwares.html 에서 해당기기의 펌웨어를 다운로드 한다.
오레곤 550(Oregon x50)는 https://download.garmin.com/software/Oregonx50_WebUpdater__660.gcd 이다. 만일 파일을 찾을 수 없다면 여기에서 다운로드한다.
FirmwarePatcher.exe 파일을 실행한다. 'Browse' 버튼을 눌러 앞서 받은 펌웨어를 선택한다. 패치가 완료되면, 같은 디렉토리에 'Oregonx50_WebUpdater__660_Patched.gcd' 파일이 생성된다. 이파일을 GPS 기기의 'Garmin' 디렉토리 아래에 복사한다. 그리고 재부팅한다.
버전 정보를 보면, 'Patched Version' 이라고 명시되어 있다.
GPS 기기는 준비가 되었으니, 본격적으로 지도데이터를 만들 차례다.
앞서 설치한 Mobile Atlas Creator 를 실행하고, 'New' 에서 'OSMTracker Tile Storage' 를 선택한다.
지도 데이터를 만들 지역을 지정하고, Zoom Levels 을 설정한다. 이때 유의할 점은 최대 5개 레벨까지만 지정해야 한다는 것이다. 숫자가 높아질수록 자세하지만 파일사이트가 커지고 소요시간이 늘어난다. 개인적으로는 13,11,9,7,5 와 같이 1씩 차이를 두고 선택한다.
참고로 15 레벨은 200m, 16 레벨은 80m 거리 지도까지 표시된다.
맵 다운로드가 완료되면, 저장된 경로 아래에 디렉토리가 생성된다. 예를 들면, 'Unnamed atlas_2022-11-06_223937' 만들어졌다.
들어가보면, 지정한 줌레벨의 숫자로 된 하부 디렉토리가 보인다.
이 파일들을 jnx 파일로 만들어줄 프로그램(mobat2jnx)이 필요하다. http://www.the-thorns.org.uk/mapping/help/jnx.html 를 참고한다. http://www.the-thorns.org.uk/net/mobat2jnx.zip 를 다운로드한다. 압축을 풀고 설치한다. 만일 파일을 찾을 수 없다면, 여기 에서 다운로드한다.
참고로 이 프로그램은 도스창에서 명령어를 입력해서 실행하는 프로그램이다.
설치한 이후, 실행파일의 path 가 안걸려 있기 때문에, 환경변수 등록을 해야 한다.
'내컴퓨터' 아이콘의 오른쪽버튼 후 속성 클릭 - '고급 시스템 설정' 클릭 - '환경변수' 클릭 - 'Path' 를 클릭한다.
;C:\Program Files (x86)\MOBAT2JNX
를 마지막에 추가한다. 도스창을 열고, 아래와 같이 나오면 정상이다.
C:\Users\wjkim>mobat2jnx MOBAT2JNX ver 1042 Usage : mobat2jnx <directory> <<maxtiles>> <directory> contains the zoom levels 10,12,14 etc Tile format must be z\x\y.png or z\x\y.jpg Output is <diretory>\jnx.jnx Maxtiles default is 48000; if exceeded output is cut into two or more pieces Alternative : mobat2jnx <directory> -sas to process SAS Planet tile stores (Zz\y\x.png) Use -trimnn to trim to extent of level nn tiles. e.g -trim12 Use -jpegn to control the image quality -jpeg5 is best; -jpeg1 is worst Use -bounds(N,W,S,E) to set coordinates, eg -bounds(51.5,-3,51.2,-2.5) Use -noread to remove the ReadLIne after successful completion Use -tilelist <filename> to specify a list of tiles instead of scanning a directory Use -noblock to stop the aggregation of 256 px tiles to 1024 Requires Freeimage 3.13 Ver108 updated for March 2011 firmware changes Ver1029 build bigger blocks within the JNX -copyjpeg reinstated but requires -noblock Ver1036 to copy PID to sub-header 3/2014 Ver1039 to pass 2GB limit Ver1040 to resize tiles Ver1041 Birdseye fix Ver1042 -block512 option Hit ENTER to exit
앞서 'Unnamed atlas_2022-11-06_223937' 디렉토리가 있는 곳으로 이동한다.
C:\>cd Users\wjkim\Downloads\Mobile Atlas Creator 2.3.0\atlases\Unnamed atlas_2022-11-06_223937 C:\Users\wjkim\Downloads\Mobile Atlas Creator 2.3.0\atlases\Unnamed atlas_2022-11-06_223937>mobat2jnx 4uMaps(디렉토리 이름) MOBAT2JNX ver 1042 Processing 4uMaps JnxLevel=3 Jnxscale=130.2084 Maxtiles=48000 Trim=99 JPEG Quality=4 Sas format=False Bounds NWSE : 91,-181,-91,181 4uMaps\tile.list tilelist Tile list sorted levels=5 1 tiles scanned at level 4 1 tiles scanned at level 6 1 tiles scanned at level 9 1 tiles scanned at level 10 1 tiles scanned at level 12 Max lat/lon 37.5097258429375 126.73828125 Min lat/lon 37.4399740522706 126.650390625 1 tiles rescanned at level 4 1 tiles rescanned at level 6 1 tiles rescanned at level 9 1 tiles rescanned at level 10 1 tiles rescanned at level 12 1 tiles written at level 4 1 tiles written at level 6 1 tiles written at level 9 1 tiles written at level 10 1 tiles written at level 12 Done
4uMaps 디렉토리 아래에 가보자. 'jnx.jnx' 파일이 보일 것이다. 축하한다. jnx 파일을 성공적으로 만든 것이다. 이 파일을 GPS 기기의 SD 카드 BirdsEye 디렉토리 아래에 복사한다. 재부팅 후에 설정에서 방금전에 만든 jnx 파일을 인식하는지 확인한다. 선택 후, 지도가 화면에 뿌려진다면 성공이다.
줌 레벨을 올릴수록 jnx 파일 사이즈가 커지는데, 이런 파일의 경우 GPS 기기가 제대로 부팅되지 못하는 경우가 있다. 또는 인식이 제대로 되지 않는 경우도 있다. 또다른 증상으로는 GPS 조작 속도가 무척 느려진다.
따라서 만들 때, 적당한 줌 레벨을 지정하고, 하나의 파일보다는 여러개의 작은 파일로 나누는 것이 좋다.
여러가지 이유로 앞서 만든 지도 파일(.sqlitedb)을 읽어오지 못할 때가 있다. 파일의 사이즈가 너무 크거나, 잘못 만들어진 경우가 대부분이다.
에러메세지가 발생하는데, 해당 지도 파일(.sqlitedb)을 삭제해도 계속해서 앱을 실행할 때마다 에러메세지가 나온다는 것이다.
이 에러메세지를 없애는 방법을 설명하겠다. '지도관리자 - 오프라인 탭에서 지도 불러오기 선택 - 기본 디렉터리 선택 - 에러가 났던 지도 파일 삭제' 하면 된다.
만들어진 JNX 파일이 지도의 어느 부분인지, 그리고 제대로 만들어졌는지 확인해야 할 때가 있다. 아무래도 PC 에서 확인하는 것이 더 빠르고 편리하기 때문에 방법을 설명한다.
가민에서 만든 'BaseCamp' 라는 프로그램과 JNX 파일(확인할)을 복사할 SD 카드가 필요하다.
BaseCamp 를 설치하고, SD 카드의 최상위 경로에 Garmin/BirdsEye 디렉토리를 만들고, 확인하려는 jnx 파일을 아래에 복사한다. 이 작업을 하는 이유는 BaseCamp 프로그램에서 하드디스크의 파일은 읽어들이지 못하고 오직 외장 드라이브의 특정 디렉토리 아래에서만 파일을 읽어들이기 때문이다.
준비가 되었으면, BaseCamp 프로그램을 실행한다. 왼쪽 상단 창에 '장치 - 메모리카드 - 사용자데이터' 디렉토리가 보일 것이다. 클릭하면, 아래 복사한 jnx 파일의 목록들이 출력된다. 각각을 선택하면, 오른쪽 창에 해당 지도가 보인다.
휴대폰에서 오프라인 맵으로 사용하는 sqlitedb 파일 역시 PC 에서 확인할 수 있는 방법이 있다.
예를들어 설명하겠다. 1.sqlitedb 파일을 확인하려고 한다. 이 파일은 'C:\Users\wjkim\Downloads\Mobile Atlas Creator 2.3.3\atlases' 디렉토리 아래에 있다.
'C:\Users\wjkim\Downloads\Mobile Atlas Creator 2.3.3\mapsources' 디렉토리 아래에 1.xml 이라는 파일을 만들고, 아래 내용을 입력한다.
<?xml version="1.0" encoding="UTF-8"?> <localTileSQLite> <name>1_MyMap</name> <sourceFile>C:\Users\wjkim\Downloads\Mobile Atlas Creator 2.3.3\atlases\1.sqlitedb</sourceFile> <atlasType>RMaps</atlasType> <backgroundColor>#000000</backgroundColor> </localTileSQLite>
저장한 후, Mobile Atlas Creator 를 실행한다. 왼쪽 상단의 'Map Source' 창의 목록에 '1_MyMap' 이 보일 것이다. 선택하면, 오른쪽 창에 해당 지도가 보인다.