Google Earth API 마이그레이션 사례: 북한인권정보센터

Tech Case

구글은  2004년 Keyhole Inc.를 인수한 뒤 론칭한 3D 위성 이미지 서비스  Google Earth의 서비스를2017년 1월 11일 부로 종료했습니다. 종료 예정 소식은 2014년에 발표했지만 Google Earth API를 사용하는 서비스 및 비즈니스에 대체 방안을 찾을 시간을 주기 위해 유예기간을 주다 보니 실제 종료는 최근에서야 하게 된 것인데요. 구글이 이로부터 얼마 지나지 않은 지난 4월 18일 웹상에서 사용할 수 있는 새로운 Google Earth를 론칭했지만 API로 사용할 수 있는 형태가 아닌 관계로 기존 Google Earth를 바로 대체할 수는 없는 상황입니다.

이와 같은 배경으로 한국의 북한인권정보센터에서 그동안 Google Earth API를 사용해 제공하던 위치기반 DB 북한인권 정보지도의 지도 플랫폼을 Google Maps Javascript API로 변경했습니다. 이 사업의 개발을 맡은 SPH에서 Google Earth API에서 Google Maps API로의 마이그레이션 절차를 소개해드립니다.

북한인권정보센터는?

북한의 인권개선과 북한인권침해 청산을 주요 목표로 하고 있으며, 북한인권침해 실태조사, 북한인권기록보존소 운영을 통한 북한 인권침해 기록, DB구축 및 관리, 북한 인권침해 구제 및 예방, 북한인권피해자 보호와 정착 지원을 위해 2003년에 설립된 비정부기관입니다.

<북한인권정보센터 홈페이지>

북한인권정보센터의 주 사업중 하나가 바로 북한인권 정보지도인데요. 북한인권 침해사건정보를 구체적인 장소나 위치에 따라 검색할 수 있고 정치범수용소, 구금시설, 공개처형, 강제송환, 종교박해, 여성권 등 6개 테마를 통해 북한인권 실태를 더욱 쉽게 이해할 수 있는 웹지도입니다.

북한인권 정보지도는 북한인권 전문가와 연구자들에게는 효과적인 연구 자료로, 피해자들에겐 향후 사실 규명과 명예회복 및 보상을 위한 기초 자료로활용되고 있으며 특히 영어 버전은 국내외로 북한인권 실태를 효과적으로 알리는 자료로 사용되고 있습니다.

<정치범수용소의 위치와 자세한 정보를 제공하는 북한인권 정보지도 화면>

Google Earth API 에서 Google Maps API로 마이그레이션 하기

이번 사례의 핵심 포인트는 서비스가 종료된 Google Earth API 대신 Google Maps API로 기존에 북한인권 정보지도에서 제공하던 기능을 변함없이 제공하는 것이었습니다. 마이그레이션 절차는 대략적으로 기능 리스트업과 각 기능에 대한 소스코드 분석, 개발 및 검수, 반영으로 이루어졌는데요. 표면적으로는 지도를 교체하는 것 뿐으로 보일 수 있지만 실제로 그 과정에는 여러가지 도전과제가 있었습니다.

1) 시스템 리뉴얼

시스템 마이그레이션에서 가장 중요한 부분은 두 시스템 또는 API의 호환성인데요, Google Earth API와 Google Maps Javascript API의 경우 호환이 쉽게 된다고 보기 어렵습니다. Earth와 Maps는 코드 방식부터 호출 방식, function까지 달라 지도 교체를 넘어 ‘리뉴얼’에 가까운 작업이었습니다. 한가지의 차이에서 나비효과처럼 파생되는 수많은 개발포인트들로 인해 보기보다 복잡하고 많은 고민이 필요한 과정이 된것입니다. 하지만 다시 생각해보면 위치기반 웹서비스에서 그 프레임을 이루는 지도를 바꾼다는 일이 단순하지 않은 것은 당연한 일이기도 합니다.

2) 파편들을 모듈형식으로

Google Maps와 같은 서비스는 쉬지않고 변화합니다. 때문에 새로운 기능과 시스템 방식에 유연하게 대응하려면 파편화된 코드보다는 구조적으로 모듈화 된 소스가 필수적입니다. 이번 마이그레이션 사업에서도 크게 신경을 쓴 부분 또한 ‘모듈화 작업’이었습니다.

 3) 데이터 가공

Google Earth는 디폴트로 KML 데이터 파일 형식을 취합니다. Google Maps도 물론 KML 파일을 읽을 수 있지만 Earth에서 다운받은 파일을 그대로 쓰면 스타일 요소 등을 동일하게 표현할 수 없어 외부 라이브러리를 사용해 가공하는 작업을 거쳤습니다.

4) 새로운 기능

기존 Google Earth에서 쉽게 사용할 수 없었던 기능이 Google Maps로 마이그레이션하면서 가능해졌습니다. 아래와 같은 마커 클러스터링 기능이 그 예입니다. 

<Google Maps Javascript API로 구현한 마커 클러스터링>

이렇게 북한인권정보센터 북한인권 정보 지도의 Google Maps API 마이그레이션이 완료되었습니다. Google Earth에서 Google Maps로의 마이그레이션은 시스템의 세부 기능과 사용 API 따라 그 과정이 각각 다를 수 있습니다. Google Earth 서비스 종료에 따라 향후로도 다양한 케이스가 나올것을 전망하고 있습니다. 다양한 배경의 마이그레이션 사업을 소개해 드릴 수 있길 기대하겠습니다.

SPH는 CARTO, Google Maps, SuperMap 등 다양한 케이스에 적용될 수 있는 다채로운 제품군을 보유하고 있으며 고객의 사례에 꼭 맞는 무료 세미나 및 개별 컨설팅을 제공하고 있습니다. 각 케이스에 맞춰 더욱 자세한 이야기를 나누고 싶으시다면 여기에서 문의 주시길 바라며, SPH에서 발행하는 GIS/로케이션 인텔리전스 관련 최신 소식을 받아보고 싶으신 분들은 페이스북 페이지 또는 뉴스레터를 구독해 주시길 바랍니다. 감사합니다.