(작년 9월에 "Mapaway로 Google Maps 지도를 팜용 지도로 변환해보자"는 포스트를 올린적이 있습니다. 아주 오랫만의 포스팅을 그 후속타로 갈음할 수 있어 매우 기쁩니다 ^^)

작년에 MapAway를 처음 보았을때 상당한 충격을 받았습니다. 대체 이걸 어떻게 만들었을까 궁금하기도 하면서, 또 한편으로는 구글지도 말고 네이버지도나 싸이월드지도를 Pathaway 지도로 만들수는 없을까 호기심이 솔솔 피어올랐었지요.

누군가 그런 일을 해줄 사람이 없을까 생각해보다가, 기다리느니 내가 해보자.. 월급받고 하는따분한 일 말고 재미도 있으면서 세상에 도움도 되는 일 해보면 좋지 않겠나 싶어서 일단 제가 시작했습니다.

이름은 콩나물지도를 Pathaway지도로 변환한다는 의미에서 그냥 심플하게 Congaway라고 지었습니다. 일단 스샷 들어갑니다:

사용자 삽입 이미지

이것이 바로 Congaway


아주 조악한 인터페이스를 갖고있지만, 어쨌든 기능은 충실히 수행합니다. :-)

Visual C++같은걸 쓰려니 성질에도 안맞거니와, 이미 스크립팅 언어들이 세상을 온통 뒤엎고 있는 이 마당에 굳이 고전적 방식으로 프로그래밍하기가 싫어 이리저리 알아보다가, 결국 가장 친숙한 PERL로 만들었습니다.

가장 고민을 많이 했던 게 어느 지도를 가져오느냐였는데, 결국 야후!거기 지도를 소스로 사용했습니다. 네이버지도는 지도이미지가 여러개의 파일로 분할되어있어 다운로드받은뒤에 다시 합쳐주어야 하는 번거로움이 있었고, 싸이월드지도는 아이콘들은 이쁜데 특정건물(시청, 남산타워 등등)이 너무 크게 나오는 문제가 있어서 일단 후보에서 제외했습니다.

야후! 거기는 내부적으로 콩나물 지도를 사용하기 때문에 좌표계가 콩나물 자체 좌표계(그래봐야 TM좌표계의 변형입니다만)라는 단점은 있습니다만, 이미지 퀄리티도 나쁘지 않고, 또한 결정적으로 지도이미지가 통으로 내려오기때문에 별도로 합쳐주는 작업이 불필요하다는 아주 크나큰 장점이 있더군요. :-)

이 툴을 이용해서 만든 지도 위에 블루투스 GPS로 트랙을 그려보았습니다: (중간에 숙대까지 이어져있는 선은 GPS 좌표오류입니다)

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

보시다시피 큰 오류없이 깔끔하게 잘 나오고 있습니다. :-) 일단 이렇게 만든 서울지도를 첨부파일로 올려두었습니다. 필요하신 분들은 아래 링크를 눌러 받아가시면 됩니다.

상세지도:



중간상세지도:




사용한 기술 및 라이브러리는 다음과 같습니다.
  • ActivePerl - 다들 아시는 PERL의 Win32 구현이죠.

  • PWMapConvert - Pathaway를 제작한 MuskokaTech에서, 지도를 만들 수 있는 실행파일과 DLL을 제공하더군요. 처음에는 Win32::API를 이용해서 DLL을 호출했는데, 이상하게 에러가 많이 생겨서 일단 exe를 실행시키도록 변경.

  • WxWidgets - 윈도우, OSX, GTK+ 등의 네이티브 컨트롤을 그대로 사용하는 위젯라이브러리입니다. 레이아웃 개념이 자바의 awt와 유사한 개념이 많아 적응하기 어렵지 않더군요. 펄마니아(http://www.perlmania.or.kr)의 김도형님께서 추천해주셨습니다. (결과적으로 탁월한 선택이었습니다. 다시한번 감사드립니다)

  • WxGlade - Python으로 작성된 WxWidgets GUI 그림툴입니다. 이놈 사용해서 UI 부분은 한줄도 직접 코딩안하고, 마우스질만으로 만들 수 있었습니다.

  • Geo::Proj4 - 좌표변환에 대해서는 네이버지도-구글지도 매쉬업을 만드신 aero님으로부터 많은 도움을 받았습니다. aero님이 추천해주신 좌표계변환 라이브러리.

  • PerlMagick - 궁극의 이미지조작 ImageMagick의 펄 라이브러리죠. 파일포맷 변환에 사용했습니다.

  • GD - ImageMagick이 항상 좋은것만은 아니더군요. Pathaway의 특성상 palette 최적화를 해주어야 했는데, indexed 모드를 지원하지 않는 ImageMagick이 이 부분에서는 GD의 상대가 되지 못합니다. (ImageMagick 수행시간 40초 / GD 2초)

  • LWP::Simple - 웹으로 컨텐츠 긁어오는 펄 로봇이라면 말이 필요없는 필수 부품이죠.

차기 버전 계획:
  • PAR를 이용해서 배포가능한 실행파일을 만들 생각입니다. 이게 잘 되면 누구나 Congaway를 다운로드해서 직접 지도를 만드실 수 있게 될 겁니다.
  • 지도이미지만 덜렁 올라가니 네비게이션처럼 쓸수가 없더군요. algoga.go.kr의 지하철/버스정류장 정보를 긁어서 Waypoint로 만들 생각입니다. 이게 되면 Waypoint를 목표지점으로 설정할 수가 있으니 Pathaway의 쓸모가 더 많아지겠죠.
신고
  1. Favicon of http://hnc197.com BlogIcon hnc197 2007.03.27 17:47 신고 댓글주소 | 수정 | 삭제 | 댓글

    감사합니다:) 잘 쓰겠습니다.

  2. 우왕굳 2008.04.30 15:09 신고 댓글주소 | 수정 | 삭제 | 댓글

    세상에 이바지하시겠다는 그 생각이 너무나 숭고하십니다. 이런 분이 국회의원 되시고 정치를 하셔야하는데 도둑놈들만 우글대고 있으니 그러네요. 어쨌든 감사합니다. 너무 무리하지 마시고 그냥 재미로만 하세요. 글코 저작권 같은거 조심하시구요.

  3. ^^ 2008.07.25 14:22 신고 댓글주소 | 수정 | 삭제 | 댓글

    좋은 자료 감사합니다
    그런데 압축을 풀려고 하니 모든 파일이 헤더 오류가 나오네요
    확인좀 부탁드립니다

  4. mong 2008.09.02 18:11 신고 댓글주소 | 수정 | 삭제 | 댓글

    정말 잘 쓰겠습니다^^ 복받으세요^^~*

  5. dustine 2008.09.13 18:55 신고 댓글주소 | 수정 | 삭제 | 댓글

    실력 대단하시고 정말 좋은 cause 를 가지셨네요.


요새 말이 좋아 BMW족이네 뭐네 하지만, 뚜벅이로 산다는거 꽤 불편합니다. 특히 대중교통으로 한번에 가기 난감한 곳(예를들어, 구석진 예식장)에 가야할때는 목적지까지 갈 수 있는 경로를 머리속에 미리 그려두거나 아예 약도를 출력해가야 하죠.

이럴때 웹 기반의 지도시스템에서 자기가 원하는 영역의 지도를 핸드폰으로 쏴주는 서비스가 있으면 좋겠다.. 싶은 생각이 듭니다. 핸드폰에서는 원하는 영역을 찾아가기가 어려우니까 - 또한, 돈이 많이 드니까 - 지도를 선택하는 과정까지는 웹으로 처리하고, 선택된 지도는 MMS로 핸드폰으로 날려주면 좋지 않을까요?

요로코롬~


그냥 지도만 날려주면 좀 심심하니까,
  1. 지도이미지: 요새 핸드폰은 대부분 상하좌우 방향키를 갖추고 있으니까, 오른쪽 방향키를 누르면 지금 보고 있는 지도의 오른쪽 지도를 다시 다운받아주고, 왼쪽 방향키를 누르면 왼쪽 지도를 다운받아주는 식으로 구성
  2. 목적지까지 가는 방법:'2호선 건대입구역에서 하차' -> '화양사거리 방향으로 300m' 와 같은 식의 텍스트
  3. 코멘트: '2시반 XXX 결혼식'과 같은 내용을 웹상에서 직접 입력할 수 있도록 구성
이런 컨텐츠를 한꺼번에 날려주면 유용할 것 같은데 말이죠. 위치정보를 알아낼 수 있는 휴대폰이라면 '지금 보고있는 지도상에서의 자기위치' 같은 것도 함께 표시해주면 더 좋구요.

혹시나 해서 MMS를 이용해서 지도이미지를 날려주는 서비스는 없는지 찾아봤더니, 대부분 전화번호부식 사업모델이더군요. KT에서도 이길로(egillo)라는 이름으로 이런 서비스를 하고 있는데, 돈을 내고 등록한 업소의 지도만 다운받을 수 있는 모델입니다.

이길로 홈페이지


서비스 시작한지는 몇개월 된 것 같은데, 등록돼있는 업체수는 다소 안습이더군요. (대부분이 전화국!!) 어차피 지도도 돈주고 샀겠다, MMS 발송장비도 이미 있겠다, 이왕이면 등록제 모델 말고 좀더 오픈된 형태로 서비스를 하면 좋을텐데.. 조금 아쉽습니다.


'이길로' 말고도 기존 SMS 발송대행업체들이 이길로와 유사한 서비스를 제공하고 있는 상황입니다만, 대부분 생일케잌 이미지 보내기 등 '좀더 이쁜 SMS' 정도인 것 같더군요.

무선네트워크 환경이 발전하고 커버리지가 늘어날수록 LBS(Location-Based Service, 위치기반서비스)의 비중은 커질 수밖에 없습니다. (이런 형태의 지도서비스는 - 자기 위치 보여주는 부분을 제외한다면 - 정확한 의미에서 LBS라고 할수는 없습니다만)

SK텔레콤의 휴대폰 전략이 웹라이크 전략이라고 하죠. 휴대폰의 퍼포먼스는 계속 좋아지고 있고, 괜히 WAP같이 별도의 프로토콜과 UI를 또 만드느니, 웹브라우저의 모든 기능을 갖는 모바일 브라우저를 만들어 직접 웹에 붙이는 방향 말입니다.

개인적으로 웹라이크 전략에 반대하지 않습니다만, 그래도 휴대폰을 단순히 '들고다니는 웹브라우저'로 만들어버리지 않도록, 휴대폰의 고유한 특징 - 제한된 화면크기, 한정된 입력방법, 사용한만큼 부과되는 사용요금 - 을 딱 포착해주는 서비스들이 좀더 많아졌으면 좋겠습니다.
신고





티스토리 툴바