'KOTM'에 해당되는 글 5건

  1. 2010.08.18 KOTM v3.5 10
  2. 2009.10.26 KOTM v3,1 3
  3. 2009.10.16 KOTMv3
  4. 2009.08.07 OSM 작업노트 #15: KOTM v2.5 공개
  5. 2009.06.30 OSM 작업노트 #12: 지도 공개 및 도로 2

KOTM v3.5

GPS 2010. 8. 18. 22:10
약 1년여 동안 수집한 POI와 개선된 등고선 지도를 포함한 새 버전의 KOTM을 만들었다. 버전은 3.5. 동호회에만 올리고 깜빡, 바빠서 작업 노트 올리는 걸 잊고 있었다. 누구 보라고 쓰는 글은 아니지만 나중에 내가 한 작업을 정리해 두지 않으면 어김없이 길을 잃을 것이다.

올초에 OSM 사이트에서 massive upload top 10에 뽑혔다(아마 3위던가?) . 덕택에 POI의 소재, 특히 저작권 문제를 지적하는 사람들이 생겼고(적절한 지적이다) OSM에 업로드한 POI를 전면 재개정하기로 약속했다. 4월 쯤에 시간나는 대로 올리겠다고 뉴스그룹에 공지했다가 (POI 정리가 어느 정도 끝나서) 그동안 바빠서 작업이 정체되었다.

이러저러한 귀찮은 작업을 거쳐 POI를 정리하고(근접 지역의 같은 이름과 같은 tag를 가진 POI를 합쳐주거나 태그가 없는 POI를 제거하는 등) 상당히 많은 양의 자료를 추가, 삭제, 수정하는 작업을 남겨 놓은 상태였다.

어차피 취미 생활인데 목숨 걸고 할 것도 아니라서 대충 시간을 흘려보냈더니, 어느새 6개월이 흘렀고, 지금은 만사가 귀찮아져(POI 검증이 무지 신경 쓰이고 시간을 잡아먹는 일이면서 소득이라고는  잘해봤자 본전이라) 그보다는 늦기 전에 그냥 손쉽게 해치울 수 있는 KOTM 새 버전이나 만들기로 했다. 사실 4월 이후부터 주욱 KOTM v3.5를 사용하고 있지만 남들에게 공개할 수준이 아닌데다, 설치 방법이나 설치 중 오류에 관해, 배포  전에 여러 종류의 각기 다른 시스템에서 무수한 테스트를 거쳐야 하는 등, POI 작업처럼 검증이 필요해 미루던 것이다.

테스트: 삼성 M4650과 노키아 N5800의 각기 다른 os에서 작동하는 Garmin Mobile XT 두 버전, 버전이 다른 두 종류의 MapSource, XP SP3, Windows 2008, Windows 7 등의 요새 많이들 사용하는 os , Garmin Vista HCx 등등 여러 조건에서 설치를 다양하게 해봤다. 그래도 안 되요, 에러 나요, 다운 되요 등등 별별 일이 다 생길 것이다.

일단 설치본에서 배포본만 남기고 제작본은 제거했다. 제작본 제작 방법에 관해 문의해 오는 사람도 없을 뿐더러 사람들이 제작에는 관심이 없어 보였다.

인스톨러는 WinRAR 대신 Nullsoft NSIS를 사용했다. NSIS 사용법을 배우고 비교적 쉽게 만들었다.

transparent 문제 때문에 GMAPSUPP.IMG를 만들 때 영문, 한글 TYP 파일을 각기 다른 것을 사용했다.

OSM 외에 별도로 수집한 12만개의 POI를 거르고 걸러 만들어 놓은 59000개의 비교적 오류가 없는 POI 리스트를 포함했다.

OSM의 bus_stop과 hospital tag는 4월 무렵 대부분 정리가 끝났다.

OSM의 orphan node와 name tag를 며칠에 걸쳐 여러 차례 개정했다. 지난 수 개월 동안 한국 지도는 장족의 발전을 거듭했다.

mkgmap r1667 버전으로 업그레이드 했다. style이 많이 바뀌었고 그에 따른 불가피한 수정을 하고 TYP 파일도 여러 차례 손보았다.

드디어 routable map을 만들었다. 하지만 내비게이션 테스트 결과는 처참했다. OSM의 도로 연결이 아직 제대로 안 되어 있는 탓이 크다. 하지만 라우터블 맵을 만들어봤자 뭘하나? 여전히 POI의 한글 검색이 안 되는데.

Topo Map은 DEM 파일을 추출하는 방식을 개선하고 세선화 단계를 줄였다. 등고선의 정밀도는 향상되었지만 등고선 데이터 크기가 엄청나게 커져서 등고선을 줄이느라 등고선 사이의 간격이 일정치 않았다. 용량 때문에 어쩔 수 없다. GPSr에서 랜더링하는 속도 부터 저장공간을 차지하는 문제까지, 가능한 맵 크기를 줄이기 위해 노력했다.

이렇게 해서 지난 4월 이후 별 진전없이 찔끔찔끔 진행되던 KOTM v3.5 제작을 약 일주일 동안 결론을 짓고 완결했다. KOTM v3.1이 작년 10월에 만든 것이니 v3.5는 사실상 10개월만에 업그레이드 되는 셈이다. 10개월 동안 꽤 많은 것들이 바뀌었지만 뭘 했는지 기억나는 게 별로 없어 작업노트라고 적을 만한 것이 없다.

8월 15일 광복절 기념판으로 만들려고 했으나, 공교롭게 주말에 가족여행이 있어 하루 늦게 설치본 제작과 테스트를 끝마쳤다.

소개 문서를 영문으로 작성하고 유명 사이트에 한국 지도라고 올려놓을까 하다가, 지도 설치와 운용 에 관한 귀찮은 문의를 '국제적으로' 받을 것 같아 관뒀다.

사용자 삽입 이미지
놀고있던 M4650에 KOTMv3.5를 설치했다. Nokia N5800을 Bluetooth GPS로 만들어주는 ExtGPS 프로그램을 사용해서 M4650으로 N5800에 연결하면 M4650의 Garmin Mobile XT에서 사용이 가능한데, 사실 Mappy를 사용하는게 더 나을 듯.

KOTM v3.5 소개, 다운로드, 설치: http://cafe.daum.net/GPSGIS/BSrL/1572

KOTM 다음 버전은 3.6이 되던가 4.0이 되던가 아직 모르겠다. 아직 등고선이 만족스러운 수준은 아니다. 아쉽게도 dem이나 topo map 자료를 얻을 수 있는 방법이 없어 상대적 비교조차 해 본 적이 없다. OSM의 POI는 언젠가는 정리해야 한다. 마냥 미룰 수도 없는 일이다.

OSM 한국 지도 제작자가 작년에 비해서 많이 늘긴 했지만 그렇다고 한국 지도 전반이 획기적으로 달라진 것은 없다. 주소체계 정비가 본격화되면서 사실상 도로명 대부분을 개정하는 작업이 진행되어야 한다.

그래도 그 사람들 덕에 무료 지도를 자유롭게 사용할 수 있는 것이다. 작업자들 만세!


,

KOTM v3,1

GPS 2009. 10. 26. 23:46
KOTM 3.0을 올린 후 Garmin Mobile XT에서 한글이 깨진다는 댓글을 보고 문제를 열심히 찾아 보았다. 내 경우엔 한글이 깨지다가 안 깨지다가 제멋대로였고 Mobile XT를 사용하지 않아 별로 신경을 안 썼지만 이왕 올린 것, 문제점을 알았으면 수정해서 올려야 겠다고 생각했다. 직원에서 블루투스 GPS를 빌려 Garmin Mobile XT를 하루 정도 테스트했다.

원인을 찾았다. mapset 중 하나라도 코드페이지가 949가 아니면 한글이 깨진다. 꽤 희안한 버그라서 사실 좀 믿기지가 않지만 뭐 현상이 그런 걸 어쩌겠나. 하루 종일 틈만 나면 지도를 빌드하면서 원인을 찾은 것. 일단 문제는 찾았지만 압축을 풀면 1GB가 넘는 데이터를 올리면서 고작 그런 버그 하나 때문에 여러 사람들 불편하게 한 것이 미안해서 원래 KOTM 3.5에 적용하려던 것들 몇 가지를 3.1에 급히 쓸어 담았다. 대표적으로, Makefile로 지도를 빌드하게 해 놓았다. 그리고 스타일(*.TYP)을 전면 적용. map feature의 아이콘을 대폭 수정했다. 그 두 가지는 혹시나 있을지도 모를 지도 작업자들을 위해 기본적인 작업 환경을 제공한다는데 의미가 있는 것들이라 일반적으로 지도를 사용하기만 하는 사람들에겐 별 의미가 없는 것들이지만.

업무 시간을 제외한 대부분의 가용 시간을 KOTM v3.1을 빌드하고 테스트하는데 보냈다. 10시간에  30번 가량 빌드 & 테스트를 해 볼 수 있다. 뭐 상당수는 MapSource에서 미리 확인하고 지도의 맵 피쳐가 잘 들어간 부분을 오려내어 테스트 스윗을 구성하고 일부분만 테스트해 보는 것이지만, 아이콘을 만들고 컬러 지정해서  TYP 파일 만들고 제대로 적용되었는지 확인하는 것은, 어떻게 생산적으로 잘 할 수 있는지 방법을 알아도, 작업의 절대시간을 단축할 수 없다는 점 때문에 생 노가다다.

그건 그렇고, 지도 제작을 좀 해봤거나 GIS 관련 계통 일을 하시는 분들이 보기엔 KOTM은 별 거 아닌 지도다. 자료의 규모나 품질 면에서 상용 지도에 비해 현저하게 질이 떨어진다.

KOTM v3.1은 저번 주 금요일 퇴근 전에 대충 마무리해 GPSGIS에 올렸다.
http://cafe.daum.net/GPSGIS/BSrL/1554




,

KOTMv3

GPS 2009. 10. 16. 18:15
mkgmap r1177 버전 이후로 topo map이 일부 깨지는 현상을 목격했다. 리비전 간의 차이를 알아내기 위해 꽤 삽질해서 밝혀낸 것이다.

사용자 삽입 이미지
mkgmap 개발자인 Steve에게 일단 email을 보냈다. 이 문제 때문에 지체되었고, 그 동안 바빠서 KOTMv3부터는 OSM 한국 지도를 다운 받아 사용자가 직접 지도를 만들 수 있도록 하겠다는 계획도 미뤘다.

오랫동안 기다리던 sea polygon이 mkgmap r1200 언저리의 리버전부터 포함되었다. 속도는 매우 느리지만 그래도 사용하고 싶다.

일부는 올해까지는 mkgmap에 GUI를 붙일 지도 모르겠다고 스티브가 말한 때문도 있었다. 그래서  내가 만들어 사용하는 osm2img를 굳이 공개하지 않아도 될 것 같다. mkgmap 프로그램의 옵션이 하도 많고 까다로워 GUI front end가 없으면 그 옵션들을 이해하면서 적절히 사용하여 지도를 제작할 사람이 몇이나 있을지 장담할 수 없다...

어느 리비전부터인지 정확히 기억은 안 나는데 multi-core cpu에서 threading을 지정할 수 있게 하는 옵션 덕택에 지도 제작은 30분에서 5분으로 단축되었다. 그래서 지도 만드는게 더 이상 부담스럽지가 않다.

여기저기 산을 돌아다니며 산 정상의 마루에서 GPS를 들고 제자리를 맴돌았다. 누가 보면 정신이 약간 이상한 사람처럼 보였을 지도 모르겠다. TM좌표계를 사용하는 DEM 원본 자료의 오차 때문이다. 최소한 세 군데의 최고점에서 삼각 측량을 하면 오차를 줄일 수 있으리라 여겼다. 그렇게 해서 DEM 지도의 수평 및 수직 정밀도를 KOTMv2.5 때보다 25m 가량 향상시켰다. globalmapper로 DEM의 전체 재작업을 진행 했다. globalmapper 새 버전은 지금 내가 사용하는 버전과 비교해 상당히 많이 좋아졌다. 언젠가는 사용하지 싶다.

자전거 타고 수원 시가지를 돌아서 수원 도로를 반쯤은 완성했지 싶다. 시간 나는대로 계속 진행할 것이다. 예전에 비하면 OSM 작업자가 늘어 기쁘기도 하다.
 
사용자 삽입 이미지

휴대폰에 Garmin Mobile XT를 설치하고 KOTMv3를 넣으니 Garmin GPS로 보던 지도가 똑같이 나타난다(오히려 WM 기기에서 돌리니 더 느려 보이는데?). Bluetooth GPS만 있으면 지금 휴대폰으로 나돌아다니는데 아무 문제 없을 것 같다.

사용자 삽입 이미지 사용자 삽입 이미지 사용자 삽입 이미지
사용자 삽입 이미지 사용자 삽입 이미지 사용자 삽입 이미지
사용자 삽입 이미지 사용자 삽입 이미지



,
OSM 한국 매퍼가 조금씩 늘고 있다. 지도의 크기는 연초에 비해 무려 17배가 늘었다. OSM 작업 방식, 예를 들면 potlatch나 JOSM 등의 프로그램 사용법 등을 매뉴얼로 만들까 하다가 번번이 그만 두었다. 동영상 강의가 있으니 그거 보면 쉽게 알만한 것이라 따로 설명한다는게 좀... 하지만 OSM 저변을 확대하기 위해 뭔가 하면 좋을 것 같긴 하다.

120개의 시군에 지도 제작자가 각각 한 명씩 있고 그들이 GPS로 트랙로그를 만들어 지도를 그리는 작업을 한다고 가정하면 대략 8개월이면 한국 지도의 상당 부분이 완성될 것 같다. 나 혼자 작업하더라도 GPS 들고 자전거 타고 샅샅이 돌아다니면 시가지 면적 60km^2 정도의 왠만한 중소 도시의 매핑에 한 달이 안 걸릴 것 같다(1주일에 하루 실측을 위해 돌아다니고, 하루 매핑한다고 가정하면 약 4일간 도심에서 400km를 이동). 조만간 한 번 해 볼 것이다. 독일 매퍼들처럼 어느 날 한 도시를 완전히 매핑했노라고 자신만만하게 선언해 보고 싶긴 한데,  한국처럼 역동적인 곳에서 완전한 매핑이란게 말처럼 쉬운 것이 아니다.

OSM 한국 지도를 정기적으로 다운 받아(XAPI 서버가 드디어 복구되었다!) 한글 로마자 변환과 고아 노드를 삭제하고 있다. 깨끗한 지도가 되었지만 남들 작업해 놓은 것을 괜히 임의로 수정한다고 여기지 않을까? 선의로 하는 것이니 부디 그렇게 생각하지 않았으면 좋겠다.  항의가 들어오면 즉각 중단할 것이다.
 
KOTM v2.5 버전을 만들었다.  다음 GPSGIS 동호회에 올린 글로 대체:
http://cafe.daum.net/GPSGIS/BT6Y/862

KOTMv3 이후엔 딱히 더 할 일이 없을 것 같다. 딱 1년 목표로 프로젝트를 시작했는데, 10월이면 프로젝트가 완료되고 따라서 이 작업노트 역시 종료된다.


,
도로 작업 후 파일 크기는 350MB에서 88MB로 극적으로 줄었다. 도트 픽셀이 보이는 해안선과 저수지 및 호수 데이터 역시 크기가 현저하게 줄었다. 하지만 이들을 조합해 Garmin용 이미지를 만들자 파일 크기는 10MB 가량 밖에 줄지 않았다. 용량이 크게 줄지는 않았지만 선의 복잡도가 줄어 GPS에서 지도를 출력하는 시간이 단축되긴 했다. 덕택에 TRE와 RGN 사이즈를 줄일 수 있었다.

저수지 및 호수 데이터를 작업하고 나서 이전의 bulk_upload.py로 예전 자료를 삭제하고 신규 자료를 업하려고 하다가... bulk_upload.py의 버그로 이전 자료가 두번 업로드되고 말았다. 파이썬 프로그램을 좀 더 자세히 살펴봤어야 하는데, 사후약방문이라고 나중에야 이상해서 소스를 보니 bulk_upload.py는 말그대로 업로드만 가능했다. 소스 중에는 delete와 modify도 되게끔 하는 부분이 있지만 제대로 작동하지 않을 뿐더러 순서가 잘못 되어 있었다.

즉시 지우려고 보니 OSM 서버 업그레이드 후 XAPI 서버가 맛이 간 상태라 한반도 데이터를 다운받을 수가 없다. 6월 13일 다운된 xapi 서버는 6월 29일까지도 복구되지 않았다. 천상 중복 업로드된 데이터를 교정하려면 매주 수요일 업데이트 되는 planet.osm을 다운받아 한반도만 뜯어내 잘못된 저수지 영역을 모두 선택하여 삭제하는 작업을 다시 해야 한다.

그렇게 하면 되는 작업이지만, 이제는 좀 짜증이 난다. API 0.6 업그레이드 후 뭐 하나 잘못되서 수정하려면 며칠씩 걸리고 API 0.6 자체의 엉성함 때문에(transaction도 아니고 그렇다고 transaction이 아닌 것도 아닌 아주 애매한 컨셉) 가외로 까먹는 시간이 상당하다. 0.6은 또 속도가 느려 잘못 업로드된 저수지및 호수(약 10MB) 자료의 절반을 데이터베이스에서 삭제하는데 27시간이 걸렸다. 그나마도 제대로 되면 좋겠는데, 제대로 되지도 않아 툭하면 서버가 다운되어 접속이 안되거나 영 바보스러운 응답을 늘어놓기 일쑤였다. 하여튼 0.6 API로 스트레스 받지 않고 OSM 배치 작업을 하는 사람들이 영 신기하기만 하다. 솔직히 뭐 이따구로 아마추어스럽게 설계했나 싶다.

아... 아마추어들이지 참.

그럴 때도 되었지 싶어 이번 주 월요일에는 그간의 OSM 지도와 도로 작업 데이터/해안선 따위등을 긁어모아 KOTMv2(Korea OSM & Topo Map version 2.0)을 만들었다. 이번에 만들어서 공개하면 세번째가 되는데, KOTM이란 이름을 사용하게 된 것은 두 번째 이고, 앞으로 그 이름으로 통일하려고 v2.0이 되었다. 이번에는 SFX에 설치하며서 registry 파일을 자동으로 등록해주는 간단한 인스톨러를 포함했다.

KOTMv2 소개

다음 버전에는 제대로 된 인스톨러를 만들어야겠다. 사용자가 설치 디렉토리를 다른 곳으로 변경할 때 해당 디렉토리로 자동 변경하여 .reg 파일 없이 registry에 등록하고, Garmin GPS용 IMG와 MapSource용 이미지를 선택할 수 있도록. 아예 내친 김에 Sendmap.exe로 GPS에 자동 설치까지 가능하게? Winrar의 SFX가 이 정도면 훌륭한 편이라 vbs 스크립트 하나 추가하는 정도로 해도 될 듯 싶지만.

OSM의 비전: 아이팟 터치, 안드로이드, WM6 기계에서 오픈 스트릿 맵 타일을 다운받거나(wifi online) 벡터 데이터를 원본 그대로 가공하여 랜더링하는 엔진을 만들어(offline) GPS로 연동하면 그 이상의 활용이 있을까? 렌더러 소스가 공개되어 있으니 모바일 장치용 프로그래밍을 좀 하면 되는데, 뭐 이미 누군가가 하고 있으니 기다리다보면 나오지 싶다.



,