'독도'에 해당되는 글 1건

  1. 2009.06.01 OSM 작업노트 #8: 새로운 지도 1
작업노트#7에서 언급한 지도 작업은 약 2주쯤 지연되었다.

사용자 삽입 이미지

2주 전에는 약 1주일 동안 OSM에 독도 그리기 작업을 했다. 그 동안 OSM 한국 지도에 독도가 없었다. 독도가 OSM에 아주 콩알만하게 나와 망망대해에서 섬을 찾을 방법이 사실상 없어 울릉도와 독도 사이에 관광 여객선 루트를 넣었다. google을 뒤져보니 누군가 울릉도에서 유람선을 타고 독도로 가는 동안 트랙로그를 남겨둔 것을 찾아서 작업은 쉽게 끝났다. 하는 김에 동해와 울릉도 관광선 경로도 완성했다.

사용자 삽입 이미지

아쉽지만 정확한 POI 정보가 없어 옛 선착장과 새 선착장 정도를 그리고, 어디서 줏어온 완전하지 않은 아웃라인(coastline)을 그려넣는 정도로 만족했다. 한국인의 독도에 대한 대단한 관심과 열정과 달리, 언제나 그렇지만(당연하게도) 데이터는 없다. 저 꾀죄죄한 독도의 몰골을 개선해줄 획기적인 방법은 없을까?

독도는 그렇다치고, topo 10m 작업과 전국 도로를 넣으니 자료가 무척 그럴듯하다.

사용자 삽입 이미지
사용자 삽입 이미지
완성된 두 지도를 MapSource에서 비교했다. 북한산 백운대 부근. 위엣 것은 SRTM3 10m, 아랫것은 비지니스 GIS에서 얻은 Topomap 30x30m 짜리. 파일 크기는 거의 비슷하지만, 등고선만 봐도 확연히 차이가 난다. OSM에는 topo map을 올릴 수 없다. 자료 자체가 너무 커서. 아래 지형도는 오차가 있는 듯 한데, 현재는 동측(easting) -30m, 북측(northing) -300m를 오프셋으로 주고 어거지로 맞춘 것이다. 전국의 4개 측점을 기준으로 재 보았으니 대충은 맞겠지만 아무래도 계산대로 나온 것이 아니라서 불안하다. 사실 등고선 지도의 정밀도를 측정할 방법이 없다. GPS자체도 믿을 수가 없고.

사용자 삽입 이미지


사용자 삽입 이미지
Map Level이 달라 두 지도의 등고선 표시 형태가 다르나, 어쨌든 그건 무시하고, 표준 도로 때문에 고속도, 국도, 지방도, 그리고 광역시에서는 시전역 주요도로 등이 나타난다. 아울러 이전 지도에서 도시 정도만 표시된 것과 달리 새 지도에서는 행정구역 대부분(시군구읍동리)을 보여준다. 여기에 water body(저수지, 호수 따위)도 추가되었다. 모든 주요 도로에는 번호와 이름이 붙어 있고 교차로 역시 이름을 갖는다. 그래서 POI가 15만개 가량으로 늘었다. 안 세봐서 정확한 숫자는 모르겠다.


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

그런데 문제가 있다. 지도는 한국에서 가장 작업이 잘 되어 있어 언제나 예로 들기 만만한 대전광역시. OSM에 있는 기존 도로와 표준 도로가 겹친다. 이걸 확대해 보면,

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

표준 도로는 중앙선 분리가 되어 있고 기존 도로는 중앙선 분리를 안 했다. 표준 도로는 중앙선으로 분리된 두 도로편의 벡터가 맞게 설정되어 있지만 기존 도로는 1차선 편도로 그려놓았기 때문에 방향 설정이 맞지 않다. 새 도로는 다른 도로와 연결(join)되어 있지 않다.

문제는, 추후 routable map을 만들 때 올바르게 방향이 설정된 도로 벡터가 필요하므로 표준 도로를 사용해야 하는데, 이렇게 되면 나를 포함한 남들이 수개월에 걸쳐 정성들여 작업한 기존 도로를 모두 지우고(그렇다. 그들의 노고가 완벽한 과거의 삽질이 된다) 연결이 안되어 있는 새도로의 연결을 일일이 손을 만들어줘야 한다(프로그램으로 자동으로 하려다가 대체 어떻게 해야 할 지 끔찍해서 중단).

일단 내가 작업한 도로(motorway, primary, secondary)는 자동으로 지우는 작업을 할 수 있을 것 같다. 이것도 시간이 걸리는 일이다. 남들이 만든 도로를 지울 때 어떻게 말해야 하나 싶다.

여하튼, 이 자료만 OSM에 올리면 사실상 한국 지도가 완성된다. 앞으로 진행할 작업을 생각하면 한숨이 나오지만...

이번 작업 정리:

사용자 삽입 이미지

남한 자료는 OSM 호스팅하는 Cloudmade에서 다운로드. 표준도로들.osm은 이전 표준도로 자료에서 레이어별로 뜯어낸 .mp 파일을 .osm으로 편의상 변환한 것들(곧 JOSM 등의 프로그램으로 OSM에 업로드할 것이다)로 여러개다. *.img는 topomap용 dem 데이터(다운로드 링크). globalmapper로 변환하니약 1시간 정도 걸렸다. mkgmap.jar는 *.mp 및 *.osm 파일을 입력으로 받아 garmin용 맵을 생성해준다. mkgmap.jar에는 이상한 버그가 있어 확장자가 .mp처럼 소문자이어야지만 처리한다. mkgmap.jar로 garmin map 파일 생성하는데 걸리는 시간은 대략 30분.

globalmapper용 파라미터 및 스크립트는 OSM 작업노트 #7: 작업 중간정리 참조.
mkgmap.jar 실행 파라미터:

java.exe -enableassertions -Xmx512m -jar "D:\gps\tool\mkgmap\mkgmap.jar"  --description="(C) 2009, luke" --mapname="34100000" --family-id=440 --product-id=1 --country-name="South Korea" --country-abbr="KOR" --code-page="1252" --name-tag-list="name:en,name:ko_rm,name" --transparent --ignore-osm-bounds --no-poi-address --add-pois-to-areas --lower-case --tdbfile --overview-mapname="44000000" *.mp *.osm

표준도로 데이터는 앞으로 1-2개월 안에 OSM 안에 삽입할 예정이다. 그러므로 부러 다운받도록 어딘가 올려둘 필요는 없을 것 같다. 나중에는 cloudmade.com에서 south_korea.osm.bz2만 다운받으면 되니까. 표준도로들의 원래 파일리스트:

고속도로.osm
국도.osm
지방도.osm
도심로.osm
교차로및지명.osm
국립공원.osm
저수지및호수.osm

GlobalMapper가 유료 프로그램이라 DEM의 MP 변환은 소스를 알려 줘도 쉽지 않은 일이 될 것 같다. 25개의 *.mp 파일들은 합쳐서 약 1GB 쯤 되는 데이터라 압축해도 어디 올려놓기는 뭣하다. 사실 정밀도 문제 때문에 공개한다는게 의미있는 일인지, 일단 한동안 검증부터 해봐야지 싶다.

한가할 때 최종 출력 파일만 공개할 생각이다. 설치도 번거로우니 간단한 인스톨러를 만들어야겠다.

,