'2010/06'에 해당되는 글 5건

  1. 2010.06.22 Google Maps API v3 를 살펴보니
  2. 2010.06.10 구글맵 내비게이션 11개국 확대지원 ... 그 수많은 please 댓글을 보고
  3. 2010.06.09 세계평화지수 지도 - GPI Map
  4. 2010.06.09 ArcGIS.com, geodata.gov, data.gov
  5. 2010.06.08 Change Blindness - 주의맹(注意盲)
2010.06.22 14:16

Google Maps API v3 를 살펴보니

한달쯤 전에 구글맵의 공식 API 가 v3로 바뀌었다. 동시에 기존의 API v2는 공식적으로 사용을 권하지 않는다(deprecated)고 명시됐다. v2는 이후로 최소 3년이상은 존속한다고 한다. 1년 전쯤에 v3가 소개되었으니 근 1년만의 정식 무대 데뷔라 하겠다. 이와 함께 v2에서는 지원되었지만 v3에서는 안되었던 기능들이 거의 보강되었다.

Google Geo API Landscape



Google Maps JavaScript API 의 변화는 JavaScript 기반의 Object Based 또는 Prototype Based Programming 의 발전 흐름과 그 궤를 같이 하며 발전하고 있다는 느낌이다. 애초에 엉성히 설계된 자바스크립트 라는 언어가 가진 한계를 극복하며 Crockford의 책 제목(JavaScript: The Good Parts)대로 좋은 점만을 적극 활용하려는 시도가 많았는데 그러한 내용들이 v3에 들어서 대폭 반영되었다고 할 수 있다. 또한 데스크탑 기반의 웹브라우저 중심의 지도서비스 제공에 상대적으로 특화되어 있던 지도서비스와 API를 데스크탑과 모바일 환경에 모두 최적화시킨 지도와 API로서의 v3로의 변화가 있었다. 또한 API Key가 더이상 필요치 않게 되었으며 StreetView 서비스에 있어서도 기존과는 다르게 플래시를 필요로 하지 않는다.(아이폰 때문에 그랬는가 싶다...)

Google I/O 에서 발표된 Stepping up: Porting v2 JavaScript Maps API applications to v3 에 따르면 다음과 같은 다섯가지 항목을 주요 변화로 꼽는다.

  • 모바일 브라우저 지원 : 안드로이드, 아이폰
  • 퍼포먼스
  • 새로운 아키텍쳐 : MVC
  • 네임 스페이스 지원 : google.maps.*
  • 새로운 기능들 : Biking Direction, Elevation Service 등

이증 퍼포먼스에 대한 부가 내용으로 소개된 것이 아래와 같다. 전체적으로 다운로드할 용량이 대폭 줄었으며 이는 모바일 환경에 특히 장점으로 작용할 것이다.

v2, v3 퍼포먼스 비교


구글의 Geo 플랫폼 환경에서는 후진국이나 다름없는 우리나라 현실은 구글에서 제공하는 여러가지 지도 관련 기능들을 사용할 수 없게 하곤 한다. 어찌된 일인지 v3 상에서는 Map Type를 지형(Terrain)으로 했을시 국내 지역 지도가 서비스 되고 있지 않는 상황이다. 또한 StyledMap 같은 서비스도 우리나라만 아직 예외다.

StyledMap은 지도에 나타나는 주요 개체들(도로, 건물, 국경 등)을  피쳐(feature)라 하고 이러한 각각의 피쳐에 대해 사용자가 원하는 색상을 입힐 수 있는 기능이다. 하나의 피쳐에 해당하는 도로에 대해서도 이를 지오메트리와 라벨이라는 엘리먼트로 구분하여 각각의 엘리먼트에 원하는  스타일 적용이 가능하다. 이러한 타일 이미지를 실시간!으로 렌더링하여 사용자에게 제공하는 것인데 지도학적 관점에서 매우 관심을 가지고 바라볼 만한 내용이기도 하다. 아래는 road 피처의 geometry 엘리먼트에 대해 hue 와 saturation 을 #00ff00, 100 으로 지정하고 landscape 피처의  geometry 엘리먼트에 대해 hue, saturation, lightness 를 각각 #000000, 75, -100 으로 설정했을 시의 구글맵으로서 중국 북경을 바라볼 때의 지도 모습이다. 전세계 모든 지역을 이런 식으로 볼 수 있다. 단, 지도가 없는 가난한 나라랑 우리나라만 빼고... 이처럼 구글맵에 대해 피쳐별로 원하는 스타일링을 지정하여 자신만의 느낌을 전할 수 있는 지도를 만들 수 있다.




백문이 불여일견! 구글맵 API v3 의 개발자 문서를 모두 살펴보고 거기에 소개된 여러가지 API v3 기반의 지도 샘플을 정리해 보았다. 영어로 된 API 문서 홈페이지에도 별도의 샘플 페이지가 있지만 개발자 문서에 있지만 누락된 샘플들이 많이 있으며 모든 샘플들이 우리와는 딴 동네를 대상으로 하고 있기에 가능한 모든 샘플들을 우리나라를 대상으로 하게끔 바꾸었다. GIS를 공부했던 사람으로서 공부했던 거의 모든 내용들이 외국 지역을 대상으로 한다는 점에서 흥미를 떨어뜨렸던 경험이 많았기에 우리가 잘 아는 지역을 대상으로 실험할 수 있게끔 바꾸었다. 구글이 전세계적으로 제공하는 지도 서비스가 국가별로 어떤 차이가 있는지는 이 구글 스프레드시트를 보면 알 수 있다. 스프레드시트를 보면 알 수 있드시 우리나라에서는 교통(Traffic)이나 스트리트뷰, 경로 안내(Driving Direction) 등의 서비스가 제공되지 않는다. 그래서 API 샘플중 국내를 대상으로 테스트 할 수 없는 것들을 원래 샘플을 옮겨놨다. 관심가는대로 마구마구 눌러보시고 Ctrl + U를 눌러(파이어폭스의 경우) 소스코드를 보시면 되겠다.

제가 수정한 구글맵 API v3 샘플 링크

Google Map 에 대해 관심 많으신 분들은 Google Geo Developers Blog 의 Geo at Google I/O 2010 을 참고하시면 되겠다. 주요 내용이 Maps API v3 에 초점을 둔 내용들이다. 또한 공부할만한 책을 찾으시는 분께는 안타까운 얘기지만 Google Maps API v3에 대한 서적은 얼마간은 나올 거 같지 않다. v2에 대한 책을 쓴 이후 v3에 대한 책을 준비하던 이들도 빠른 기술 변화에 책쓰기를 포기하고 올해초부터 Google 측의 API 문서를 참고할 것을 권했으며 유명 출판사에서 정식 서적 출판 전에 편집본을 온라인으로 공개하는 시리즈에서도 이에 대한 내용을 찾을 수 없다. 수정합니다. 아마존에 가보니 몇개 있네요. Beginning Google Maps API v3 라는 책이 얼머 안 있어 나올거 같고 Map Scripting 101 이라는 놈도 막 출판을 기다리고 있습니다. 아직 출판이 안된 상황에서 Beginning Google Maps API 3 의 예제 소스코드를 받아 살펴보니 ... 음 배보다 배꼽이다. API 보다도 저자구 샘플에 구현한 JavaScript 프로그래밍 이해하기가 Beginner 에게는 더 어렵게 만들어져 있다. 3장의 가장 첫 샘플의 자바스크립트 코드는 아래와 같다.

(function() {
  window.onload = function() {
	  
	// Creating a reference to the mapDiv
    var mapDiv = document.getElementById('map');
    
    // Creating a latLng for the center of the map
    var latlng = new google.maps.LatLng(37.09, -95.71);
    
    // Creating an object literal containing the properties 
    // we want to pass to the map  
    var options = {
      center: latlng,
      zoom: 4,
      mapTypeId: google.maps.MapTypeId.ROADMAP
    };
    
    // Creating the map
    var map = new google.maps.Map(mapDiv, options);
  }
})();

이는 ExtJS나 기타 유명 Ajax 라이브러리 내에서 대게 초기화 작업이 있을 때 많이 쓰는 자바스크립트 프로그래핑 패턴인데 개인적 생각으로는 절대 Beginner는 이해 못한다.(내가 그랬다^^)  비스므리한게 5장의 세번째 샘플에도 나온다. 아래는 코드 일부다. ... 비슷한가?

// Wrapping the event listener inside an anonymous function 
      // that we immediately invoke and passes the variable i to.
      (function(i, marker) {
       
        // Creating the event listener. It now has access to the values of
        // i and marker as they were during its creation
        google.maps.event.addListener(marker, 'click', function() {

          var infowindow = new google.maps.InfoWindow({
            content: 'Place number ' + i
          });

          infowindow.open(map, marker);

        });

      })(i, marker);

이제 자바스크립트 역사도 꽤 되고 하니 그에 대한 이해를 전제로 하고 GMap V3 에 대한 책이 나온 듯 하다. 이러한 상황에서 개인적으로도 이쪽 공부하시려는 분들이 있다면 API 에 대한 것보다는 JavaScript에 대한 공부를 권하고 싶다. Web 2.0 이후 지금까지 나온 많은 JavaScript 책을 들춰봤지만 권하고 싶은 책은 단 하나가 있는데 Object-Oriented JavaScript 라는 책이다. 이런 책이 국내에 번역되어 나오지 않은 것은 참으로 안타까운 일이다. 프로그래밍 할 때 레퍼런스 용은 아니다. 이 책에 샘플로 소개된 자바스크립트에 대한 설명이 쉽게 나온다. 그것 말고도 많은 내용이 담겨 있다. 다른 책과는 달리 인터프리터 언어로서의 자바스크립트 특징을 살려 FireBug나 크롬의 Developer Tools 에서 즉각 실행하는 방식으로 설명하고 있다. 이런저런 자바스크립트 책을 보았지만 만족 못했던 분들에게 강추할만하다. 솔직히 Closure 개념을 이 책만큼 잘 설명하고 있는 것을 보지 못했다. 국내에서도 자바스크립트를 제대로 공부하고 수준을 올려보고자 AJAXIAN.kr 분들이 노력하고 계신 듯 하다. 공부하시려는 분들께는 많은 도움이 되겠다. ... 지금도 마찬가지지만 몇년전엔 자바스크립트 땜시 정말 맨땅에 헤딩 많이 했는데 요즘은 참 좋은 환경이다..^^
Trackback 0 Comment 0
2010.06.10 10:57

구글맵 내비게이션 11개국 확대지원 ... 그 수많은 please 댓글을 보고

얼마 전에 구글 모바일 블로그 Fun on the Autobahn: Google Maps Navigation in 11 more Countries 포스팅을 통해 기존의 미국과 더불어 오스트리아, 벨기에, 캐나다, 덴마크, 프랑스, 독일, 이탈리아, 네덜란드, 포르투갈, 스페인, 스위스 지역에 대해서도 자신들의 안드로이드 1.6 이상의 플랫폼 기반의 스마트폰에서 구글맵 내비게이션이 사용 가능한 버전 4.2를 공개한다고  발표했다. 얼마 전에 음성 검색 지원 언어를 기존 영어 외에 유럽지역 5개국 언어에 대한 지원으로 확대한다는 소식이 있었는데 그것과 내비게이션을 결합시킬 모양이다.

개인적으로는 어떻게 내비게이션 서비스 가능한 라이센스를 지도 데이터 공급 업체로부터 제공 받았는지가 궁금하지만(아니면 미국처럼 자체 제작을 했던가) 뉴스가 얼마 안된만큼 아직 거기에 대한 소식은 찾기 어려운 상황으로 보인다. 하지만 모르긴 해도 유명 내비게이션 전문 업체들의 주가가 또한번 출렁이게 될 것이니 이를 분석하기 위한 기사가 이 소식과 묶여 보도되기 시작한다면 언급될 것으로 보인다.

인상적인 것은 구글 모바일 포스팅에 달린 댓글이다. 현지 시각으로 새벽 4시에 올려진 글에 이 글쓰는 현재 시점까지 81개의 댓글이 달려 있으며 거의 대부분의 댓글이 한결같이 "please...my country..." 비슷한 내용이라는 것이다. 호주는 왜 빠졌느냐? 스웨덴이나 노르웨이도 지원해 달라... 싱가포르, 홍콩, 말레이지아도...   아 물론 korea 를 외치는 댓글도 있었다. 그런데 신기한 것은 원망이나 욕하는 내용이 별로 없어 보인다는 점이다. 지금껏 다른 서비스에서 그래 왔듯이 좀 늦기는 하더라도 구글의 은총?이 언젠가는 자신들의 국가에도 미칠 것으로 기대하고 있으니 다만 그 시점이 빠르면 좋겠다는 바램의 표현으로 느껴진다고나 할까? 이런 훌륭한 서비스를 제공하는 것에는 반드시 trade off가 있기 마련임에도 불구하고 사용자들이 기꺼이 자신의 프라이버시와 정보를 제공하려고 이렇게까지 please 를 외치는 상황은....  지난달에 소개한 BBC의 Virtual Revolution 시리즈에는 이에 대한 내용이 담겨 있는데 이미 디지털 시대의 신세대들은 자신의 프라이버시와 정보를 공개하고 암묵적으로 제공하면서 공짜로 신문을 보고, 검색을 하고, 내비게이션 서비스를 받는 이러한 상황을 이미 자연스런 환경으로 받아들이고 있다고 얘기하고 있다. 이러한 트렌드의 변화를 가장 잘 이용한 것이 두말할 나위도 없이 구글이고 Facebook Twitter ...

이런 추세로 나가면 아마도 GPS 기반의 내비게이션 전용기기 산업계 전체의 파괴로 이어지게 될 것으로 보이는데... 재밌는 것은 구글이 아이폰에서도 지금까지와 같은 서비스 지원을 계속 할 것인가 하는 점이다. 아이폰의 킬러 애플리케이션 상당수는 구글의 어플리케이션 기반 서비스이거나 앱임을 부정할 수 없다고 본다. 비지니스 모델은 앞서갔지만 결국 컨텐츠가 미흡한 애플이 언제까지 스마트폰의 선두주자로서 인터넷에 기반한 컨텐츠 제왕 구글과 맞짱 뜰 수 있을지 궁금할 뿐이다. 개인적으로 생각할 때 향후 가장 큰 돈밭이 되는 위치기반 광고 시장에 있어 위 포스팅과 같은 서비스로 확실한 시장 장악을 위한 굳히기 작업에 들어갔는데 말이다. 어찌 됐건 아이폰 4에 대한 여러 소식으로 볼때 애플이 그저 하드웨어만 만드는 국내 모 회사보다는 정확한 미래 비전에 기반하는 물건을 만들어 내는 것으로 보인다. 지리공간정보 분야에서 볼때 아이폰4는 고해상도의 카메라와 액정, 3차원 공간상에서의 물체 움직임과 비전을 정확히 잡아내는 여러 센서들의 추가로 인해 증강현실 서비스를 위한 현존 최고의 기기라는 평가들이 나타나고 있는 상황이니 말이다




Trackback 0 Comment 0
2010.06.09 15:36

세계평화지수 지도 - GPI Map

2010 세계평화지수가 발표됐다는 기사들이 떴다. 인용문 아래 관련 기사들 링크를 걸어본다.
영국의 경제·평화연구소(IEP)가 경쟁력분석기관인 이코노미스트 인텔리전스 유니트(EIU)와 공동 조사해 8일 공개한 ‘세계평화지수(GPI)’ 연례 보고서에 따르면 149개국 중 한국은 43위(1.715점), 북한은 139위(2.855점)에 올랐다. 한국은 지난해 33위(1.627점)에서 10계단, 북한은 131위(2.717점)에서 8계단 떨어진 순위다.


링크된 기사를 보면 각국 순위를 표로 정리한 것이 대부분이고 지도를 참고자료로 사용하지는 않았다. 그래서 구글 검색을 통해 Vision of Humanity 에서 세계평화지수(Global peace Index)를 발표하고 지도로 표현해 놓은 것을 찾았다. 원래는 플래시로 구현되어 있으며 슬라이드를 통해 년도별 정보를 보게 되어 있다. 전체적으로 유럽과 캐나다, 일본, 뉴질랜드가 살기에 평화로운 지역으로 구분되어 있었으며 흥미롭게 느껴진 것은 미국이 거의 100위에 육박할 정도로 그다지 평화스런 동네가 아니라는 점이었다. 미국은 2007년부터 96, 97, 83, 85 위에 해당하는 점수를 받았다. 또한 며칠 있으면 월드컵 경기가 개최되는 남아프리카 공화국은 거의 북한 수준에 육박하는 121위(2010년)에 해당하는 수준이니 최근 요하네스버그에서의 언론 취재팀들이 당한 사고가 우연이 아님을 느끼게 해 주었다.



각 국가별 정보도 플래시 지도를 통해 확인할 수 있는데 우리나라의 년도별 점수는 아래와 같았다. 뉴스 보도대로 최근의 천안함 사건 등이 고려되지 않은 점수라면 내년에는 올해보다도 더 많은 등수 하락도 우려된다고 할 수 있겠다.



Trackback 0 Comment 0
2010.06.09 14:03

ArcGIS.com, geodata.gov, data.gov

이 블로그를 통해 미국의 geodata.gov 나 data.gov 에 대해서는 많이 언급을 했기에 ArcGIS.com 에 대해 ESRI의 Jack Dangermod가 직접 Where 2.0에서 설명한 ArcGIS.com 에 대한 내용을 보시는게 낫겠다.



마침, 내일(6월 10일) 한국 ESRI에서 주최하는 신기술 세미나에서 ArcGIS.com 과 클라우드GIS 라는 타이틀로 발표도 있다고 한다. 아마도 위 동영상 비슷한 얘기를 하지 않을까 싶다.

ArcGIS.com 을 가지고 ESRI판 neogeography tool 이라 말하는 사람도 있지만... 개인적 생각으로 Jack 이 참으로 이상한(어찌보면 Jack 다운) 사이트 타이틀을 만들었다 생각한다. 위 동영상을 보면 아시겠지만 사이트 특성은 한마디로 "Map for everyone" 이다. 그런데 어찌하여 ESRI 의 타이틀 제품명을 사이트 이름으로 만들 생각을 했을까? 물론 ArcGIS 사용자를 주된 대상으로 하겠지만 타겟은 Everyone 이지 않은가? 사실 ... 구글 서비스에 익숙한 나에게 그다지 새로운 것도 없어 보일 뿐더러 너무나 미국 중심이라 우리나라의 경우에는 베이스맵조차 안습인 상황이다. 한국 ESRI로서는 한숨만 나올 일일게다.

요즘 이쪽 커뮤니티에서 ArcGIS.com 과 geodata.gov, data.gov 가 한묶음으로 거론되고 있는데 얼마 전에는 James Fee가 ESRI Clarifies Data.gov/ArcGIS.Gov/GeoData.Gov Relationships 라는 글을 통해 ESRI측 해명도 납득하기 어렵다는 얘기를 하고 있다. geodata.gov 와 data.gov 의 통합을 ESRI가 5만 달러라는 거의 헐값으로 미 정부로부터 수주해서 두어달 후에 작업을 끝낼 것이라는 뉴스가 있은 후부터 GeoWeb 커뮤니티 측에서 미국의 Open Data 정책 추진에 ESRI가 관여되는 것을 염려하는 움직임의 일환이라 할 수 있다. ESRI는 미국을 비롯한 세계 최고의 GIS 전문 솔루션 업체이지만 자신들의 지리정보 데이터 포맷을 공개하고 있지 않고 있으며 오픈된 지리정보 생태계의 발전보다는 자신들의 기존의 시장 장악력에 기반한 독자적이고 폐쇄적인(물론 그들은 그렇게 말하지 않지만...) 환경을 만들려 하고 있기 때문이다. James Fee는 ESRI가 ArcGIS.com 을 통해 미 정부 지리정보 데이터의 게이트웨이 역할을 하려 하는 것은 아니냐는 의혹의 눈길을 보내고 있는데... 아직 사실 관계가 명확치 않은 상황이라 논의의 진전을 지켜봐야 할 듯 싶다.

ESRI가 주도했던 geodata.gov 에 대해서는 내가 웹을 통해 접했던 대다수 사람들은 매우 useless 하고 세금낭비의 전형으로 생각하고 있는데 정부정보 투명성 노력을 위한 산물인 data.gov 에 성격상 반대에 있는 ESRI가 관여한다는 것에 대해 히스테리컬한 반응을 보이고 있는 듯 하다. 분명히 geodata.gov와 data.gov 는 단순한 링크 연계 이상의 통합이 필요한 상황이긴 하지만 과거 geodata.gov를 통해 ESRI가 그래왔듯이 데이터 원본을 가리고 단순히 지도 이미지만을 보여주려고 하는 것은 아닌가 하는 염려를 하고 있는 것이다.

Open Data 흐름에 있어 GIS 가 핵심적인 역할을 하고 있다. 우리나라는 MB 정부하에서는 최근의 여러 상황을 볼때 "Open"을 기대할 수 없는 상황이기에... 현재 외국에서 벌어지는 상황이 발전하는 대로 후에 우리나라에도 영향을 끼치게 될 것이다. 현재는 외국에서 벌어지는 여러가지 시행착오를 ... 어쩔 수 없이... 제 3자적 관점에서 지켜보기만 할 뿐이다.
Trackback 0 Comment 0
2010.06.08 12:47

Change Blindness - 주의맹(注意盲)

BBC Election Web Map and Gadget 에 나오는 화면인데 웹 지도 서비스의 나쁜 사례를 언급하며 자신의 견해를 뒷받침하기 위한 자료로 사용되는 영상을 옮겨본다.


Change blindness demo from Breakfast Seminar Series on Vimeo.


인터넷으로 검색해보니 Change Blindness 를 우리말로는 주의맹 이라고 하는가 보다. 기존의 인터넷 지도 서비스들은 요즘과 같은 AJAX 방식을 사용하지 않았기 때문에 지도상의 변화가 있을 때마다 화면이 릴로딩 되면서 깜박이는 문제가 있었다. 그럴 경우 위에서 보는 바와 같이 Change Detection 이 어렵다는 문제가 발생할 소지가 많았다.

원래 우리의 눈은 작은 시각적 변화라도 어렵지 않게 감지할 수 있는 능력이 있으나 이러한 변화 사이에 공백 영상이 삽입되는 경우에는 본연의 기능을 잘 발휘하지 못한다. ... 조그만 변화를 순간적이지만 커다란 변화가 압도하기 때문일까?... 위 영상 마지막에서는 메모리라는 측면에서 설명하고 있다.

패턴 또는 변화 탐지가 주된 활동이 되는 지도 기반의 탐색적 분석 시스템 구현에 있어 참고할만한 사항이다. 비단 지도 뿐만이 아니라 데이터나 정보를 시각화시켜 보여주는 사례가 폭증하는 요즈음, 누구라도 참고할만한 내용이라 생각한다.
Trackback 0 Comment 0


티스토리 툴바