이 지도에는 Open street map과 SRTM3 DEM을 변환한 지형도가 들어 있습니다. 저 자신이 개인적으로 사용하는 것으로 외국인들에게 한국 지도를 소개하기 위해 작업한 것입니다.
상용 지도 수준은 못되고, 영문 GPS에 넣을 마땅한 지도가 없는 분들을 위해 공개하는 것이며 자료의 정확도는 보증할 수 없습니다. 이후에 설명합니다.
다운로드 ========
예전에 지형도를 올렸을 때 많은 분께서 다운을 요청하셨지만 보내드리지 못했습니다. 지금도 250MB 정도의 파일이라 어디 둘 곳이 마땅치 않네요. 일단은 기한이 정해진 대용량 메일과 아주 느리고 한번에 1-2명 밖에 받지 못하는 것으로 추측되는 windows live 계정의 skydrive에 파일을 올려두겠습니다.
Skydrive. 언제든지 다운로드가 가능하나 여러 사용자가 동시에 다운이 안되는 것 같습니다. 그럴 때는 기다렸다가 다시 시도하던가, 다음날 받으세요. 참고: 파일당 50MB의 제한이 있어 여러 개의 파일로 나뉘어 있습니다.
동호회에 매일 들어오는 것이 아니라서 뒤늦게 쪽지를 보내 주시거나 업로드를 요청하시면 보내드리기가 어렵습니다. 위에 링크들에 올리는데만도 몇 시간 걸리네요 ^^; 그렇다고 250MB 짜리 파일을 장기간 보존할 공간이 없다보니, 행여 파일을 다운 받으신 분께서는 상기 대용량 메일 계정으로 자기 자신에게 메일을 보낸 후 다음분들이 쉽게 다운받을 수 있게 다운로드 링크를 댓글로 달아주면 좋겠네요...
설치 ====
0. Korea OSM Topo Map.zip 파일을 C:\Garmin\OSMMap 디렉토리에 압축을 풉니다.
1. GPS에서 지도 보기(맵 복사)
* sendmap.exe로 3*.img 파일을 로드한 후 GPS가 연결된 상태에서 전송. * 또는, GMAPSUPP.IMG 파일을 GPS에 직접 복사. GPS를 USB Storage 모드로 변경한 후 (Garmin Vista HCx의 경우 Setup->Interface) 이동식 디스크의 Garmin 디렉토리에 GMAPSUPP.IMG 파일을 복사
* GPS에서 지형도와 도로를 확인합니다.
2. MapSource에서 지형도 및 도로 지도를 사용하기
* Korea OSM+Topo Map.reg 파일을 더블 클릭하여 registry 파일을 설치합니다.
주의: 만일 C:\Garmin\OSMMap 디렉토리가 아닌 다른 디렉토리에 설치했다면 Korea OSM+Topo Map.reg을 텍스트 에디터에서 읽어와 경로를 수정해 주어야 합니다.
* MapSource에서 'Korea OSM+Topo Map'을 선택하면 지도를 볼 수 있습니다.
자료 및 정밀도 ==============
topo map으로 사용한 SRTM3 자료는 NASA의 suttle survey 미션 때 radar 간섭 측량으로 얻은 자료를 3 arc second(90m x 90m) 단위를 한 픽셀 단위로 만든 것입니다. 픽셀당 고도 평균 오차는 16m로, 이것은 90m x 90m 단위 평면의 평균 고도 오차를 의미합니다. 오차에 관한 더 자세한 내용은 google을 뒤져보시면 될 것 같습니다.
SRTM3 자료 자체가 해상도가 떨어지는 것이라 지형도 데이터는 지형의 형세를 파악하는 목적으로 사용하는 것은 가능하나 산악 트래킹시 믿을만한 자료로 활용하는 데에는 주의를 요합니다. 예를 들어, 깊이 11m, 폭 15m의 협곡은 지형도에 반영되지 않고 얕은 여울로 나타날 수 있으므로 지형도만 믿고 산길을 개척 하다가는 봉변을 당할 수 있습니다.
POI는 아주 많이 불완전합니다. 상용map의 POI 갯수는 300만개 가까이 된다고 하는데 제가 얻은 것은 약 9만개 가량입니다. 자료를 공개한 곳도 없고 얻을 곳도 없고 상용 데이터베이스를 가져와 사용할 수도 없기 때문에 지극히 원시적이고 시간이 많이 걸리는 방법으로 법률에 위배되지 않는 방식으로만 수집하고 입력했습니다. 현재 POI로 포함된 항목들은 기본적이고 필수적이라 할만한 것들로 다음과 같습니다.
초등학교, 중학교, 고등학교, 대학교, 경찰서, 도서관, 병원, 미술관, 박물관 고속도로 휴게소, 우체국, 버스터미널, 호텔, 모텔, 찜질방, 사우나, 야영장, 유스호스텔, 민박, 리조트 서울시 버스 정류장, 지하철역, 기차역, 해수욕장, 사찰, 성당
이들 자료를 google 또는 naver를 통해 명칭만 수집하고 yahoo의 poi 서치를 통해 2주에 걸쳐 좌표를 얻어내고 이들 좌표를 변환하여 osm에 입력한 것입니다. 프로그램을 짜서 돌린 것이라 태깅이 부정확하거나, 어떤 것은 경위도가 바다 한가운데 떠 있는 등 부정확한 것들도 있습니다. -_-;
이들 POI는 한글 로마자 변환과 한글 로마자+영문번역 단계를 거쳐 여러 개의 이름을 가지며 OSM 지도에서는 한글을 사용하고 GPS용 데이터에서는 로마자+영문번역 자료를 사용합니다. 예를 들어 '은평초등학교'는,
한글(name): 은평초등학교 (Eunpyong Elementary School) 로마자 변환(name:ko_en): Eunpyong Chodeunghakgyo 로마자+영문번역(name:en): Eunpyong Elementary School
이러는 이유는 첫째, 로마자 변환 만으로는 지명의 의미를 이해하기 어렵기 때문이고, 둘째, 로마자 변환은 그래도 존재해야 하는 것이 외국인들이 지명 전체를 발음할 수 있어야 하기 때문입니다(한국에 와서 길을 묻거나 할 때).
영문 번역 규칙은 영문 표기 사전(http://englishname.seoul.go.kr/jsp/index.jsp)을 참조했고 일부 영문 번역은 외국인들과 협의해 가용하고 타당한 범위에서 임의 번역했습니다. 이 와중에 로마자 표기에서 camel case와 hyphen 사용을 배제했습니다. 외국인들이 그걸 아주 끔찍해 하더군요.
도로는 대부분 yahoo aerial map을 참조하여 2개월에 걸쳐 손으로 그린 것이고 (yahoo aerial map과 naver의 항공사진은 소스가 같은 것으로 추정됩니다) gps로 자전거 주행 중 도로와의 오차를 검증해 본 결과 상용 수준은 아니라도 참고용으로 사용할 수준은 된다고 판단했습니다.
위 사이트에서 얻은 자료(전국 단위 표준 노드링크 데이터)를 변환하는 작업. 원본 데이터나 polished file은 도로 선로를 2개의 polyline으로 만들었고 접점이 없어 사실상 변환해도 수작업이 들어가야 하고 그 때문에 나중에 routable map을 만들기 어렵다는 문제점이 있다. 그러나 지금처럼 도로를 손으로 그리는 길고 지루한 작업 보다는 자동변환하는 것이 낫다고(없는 것보다는 낫다고) 보고 있다.
위 사이트 자료 적용 궁리. 테스트는 해 봤는데 TM 좌표계가 중앙 기준인 것 같아 동부나 서부의 오차가 어떻게 되는지 아직 테스트를 제대로 안해봤다. 하여튼 기존 SRTM 자료보다는 훨씬 부드럽고 깨끗한 10m 짜리 등고선 지도를 얻을 수 있었다. 자료 자체는 SRTM1과 같은 정밀도의 30m x 30m 인 것 같다.
* 전국 산행로 및 MTB(자전거도로) 지도
개인 및 여러 동호회에서 수집한 트랙 로그를 변환하려고 계획은 했으나, 저작권 등의 문제로 보류. 만약 그 분들이 osm에 트랙로그를 올려주면 공개할 의사가 있다는 뜻으로 받아들일 수 있지만, 동호회 자료를 수집해서 임의 가공하는 것은 문제될 소지가 있다. osm의 가치를 설명하고 설득하는 것이 좋겠지만(산행로 등을 공통 데이터베이스화하면 공공이익에 기여하게 된다 운운) 수개월째 생각만 하고 있는 중.
이 작업은 트랙로그의 GPS 수신 에러를 제거하고 normalize(경로를 단순화)한 후 여러 개의 트랙로그으로부터 경로 평균치를 구하여 편차를 줄인 산행로를 만들어 OSM에 올리는 일련의 작업을 자동화하는 과정이 될 것 같다. 아님 귀찮은데 대충 하고 말던가. 어차피 전국 어디가나 신작로처럼 변해버린 산행로에서 도로 오차가 2-3m쯤 난다고 누가 신경이나 쓸까? :)
DEM(Digital Elevation Model) 파일을 Garmin GPS에서 사용가능한 맵 파일(.img)로 만드는 절차. 구글에서 한국어 웹을 뒤져보면 여러 종류의 문서를 찾을 수 있다. 키워드: gps hgt img
이 과정이 정말 눈물겹다. 올해 2월에 컴퓨터를 처음 구입한 이유가 이 작업을 하기 위해서였는데, 그 때는 변환이 잘 안 되었다. full map을 한 번 만드는데 12시간 이상 걸리니까 옵션 몇 개 바꾸고 테스트 하면서 작업하면 계산상 일주일이 우습게 간다. 그래서 그 동안 죽 시간이 안 나서 미뤘다. 조씨가 자전거에 마운팅해서 쓸 GPS를 구입하면서 쓸만한 지형도를 찾길래 그런 건 없으니 스스로 만들라고 했다. 고생하길래 절차를 알려주는 김에 나도 만들었다. 이 작업으로 이틀을 보냈다. 나도 울고 컴퓨터도 울고 GPS도 울었다.
IDL 7.0을 설치하고(가입해야 다운 받을 수 있으며 license가 없어도 사용가능하다) Dem2Topo를 다운 받아 압축을 풀고 dem2topo.sav 파일 실행
이미지를 클릭하면 확대해서 볼 수 있음
Select DEM File(s)을 눌러 여러 .hgt 파일을 한꺼번에 선택한다.
Minor 를 10m로 해야 GPS에서 해안선이 그나마 덜 뭉개지고 보인다. 아쉽게도 dem2topo는 해안선을 만들어 주지 않는다. Sea Level Threshold를 0m로 해두어도 해안선이 안 보이는 것은 마찬가지다.
Contour Simplify Factor를 크게 하면 윤곽선(contour)이 볼품 없어진다. 파일 크기는 줄어들고 처리시간은 늘어난다. 반대로 factor를 0으로 설정하면 윤곽선 정보를 건드리지 않아 처리시간은 많이 줄지만 파일 크기는 늘어난다. 10이 추천하는 값이다.
Plot Setting의 Enable Plot와 Enable bitmap을 꺼두면 화면 업데이트가 없어지므로 속도가 향상된다.
Create .mp file(s) 버튼을 눌러 polished file을 생성한다.
MapEdit를 실행하여(별도 설치과정 없음), .mp 파일을 여러개 읽어 들인다.
읽어들인 파일을 묶어 단일 파일로 저장하면 변환에 필요한 시간을 줄일 수 있다.
단, 묶어서 저장하는 파일 크기가 지나치게 크면 cGPSMapper에서 변환에 실패할 수 있다.
경험치: 150MB 크기의 .mp 파일을 변환할 때 cGPSMapper가 메모리를 2GB쯤 사용. 250MB의 .mp 파일은 메모리 오류가 나며 변환 실패. 따라서, 개개의 .mp 파일 크기가 클 때는 파일을 merge 하지 않는 것이 바람직.
MapEdit에서 파일을 로드한 후 File->Properties메뉴로 들어간다.
Header Tab에서 unique id(자릿수 맞춰 적당한 숫자)와 Friendly Name을 세팅.
Levels Tab에서 Bits 및 Map Source zoom 레벨을 선택한다. 이 값은 Dem2Topo 프로그램의 help를 보면 기정의되어 있다(사용자가 변경할 수 없다).
cGPSMapper Tab을 세팅한다.
TRE Size: 값이 크면 GPS에서 지도를 그리는데 시간이 많이 걸린다. default=500
RGN Limit: 한 TRE에서 그릴 Region의 갯수를 지정. GPS가 지도를 그리는데 영향을 주지 않는다고 하며 1024를 추천된다. 나는 500으로 선택.
Map is Transparent: Y 또는 S를 선택해야 한다. N이면 지도가 GPS에 표시되지 않는다. S는 cGPSMapper 095 이전 버전에서는 선택할 수 없다.
Preprocessing: Generalization만 선택하면 작업 시간을 30% 줄일 수 있다. topo map인 관계로 intersection을 굳이 처리하지 않아도 된다.
아울러, Tools->Generalize->Nodes of All Polylines & Polygons 가 cGPSMapper의 generalization과 같은 역할을 하는 듯.
MapEdit의 File->Export 메뉴로 cGPSMapper를 실행하거나, 도스 커맨드 라인에서 실행한다. 전자는 변환이 간편한 대신 여러 개의 파일을 변환할 때 시간이 오래 걸린다.
작업 시간이 엄청나게 오래 걸리는 까닭에, 커맨드 라인에서 여러 개의 .mp 파일을 변환하기 위한 .bat 파일을 아래와 같은 형태로 만들어 밤에 걸어 두고 푹 자는 것이 바람직해 보인다.
배치 파일을 실행할 때는 cgpsmapper.exe와 sendg.dll 파일이 같은 디렉토리에 있어야 한다.
cGPSMapper를 실행하기 전에 Windows에서 불필요한 프로그램을 종료해 둔다.
cGPSMapper는 엄청난 양의 메모리를 사용하고 변환에 시간이 많이 걸리는 프로그램이다. 따라서 메모리가 적은 시스템에서는 가상 메모리의 크기를 늘려주어야 할 수도 있다.
AND 브리즈번 4200 2.4GHz, 2GB(가상 메모리는 4GB)에서 한반도 전체를 변환 했을 때 6시간 가량 걸렸다. 097c 버전은 094 버전에 비해 2배 이상 속도가 향상되고 중간에 뻑나던 것들이 사라졌다 -- 예전에는 변환 안되던 것이 지금은 된다. -_-
변환이 끝나면 .img 파일이 생성된다. 변환된 파일들은 sendmap20.exe에서 불러들여 gps에 넣을 수 있다. gps에 기존에 있던 파일은 지워진다.
Garmin MapSource 최신 버전에는 원래 GPS 장치에 있는 세계 지도보다 좀 더 정밀한 세계지도(basemap)가 포함되어 있다. img를 생성할 때 이 파일을 함께 합치면 해안선과 고속도로, 주요 도로 및 도시명(POI) 검색이 가능하다. 보통 c:\garmin\TRIPWPT4\TRIPWPT4.img 파일이다.
버튼 중 'Create GMAPSUPP.IMG'을 선택하면 GPS 없이 GMAPSUPP.IMG 파일을 생성한다. GPS를 USB Storage Mode로 전환하고 GMAPSUPP.IMG 파일을 GPS의 \garmin 디렉토리에 복사할 수도 있다.