GIS

ipyleaflet(아이파이리플릿)에서 Vworld XYZ 타일 추가하기

유병혁 2019. 9. 22. 00:49

안녕하세요? 이번 글은 ipyleaflet(아이파이리플릿)에서 Vworld XYZ 타일을 추가하는 방법을 정리해 보겠습니다.

'ipyleaflet'은 Jupyter Notebook(주피터 노트북)에서 대화형 지도를 사용할 수 있는 Jupyter/Leaflet 브리지입니다.


ipyleaflet는 'pip install ipyleaflet(https://pypi.org/project/ipyleaflet/)' 명령어로 간단히 설치하실 수 있습니다.

[1] ipyleaflet 깃허브: https://github.com/jupyter-widgets/ipyleaflet

[2] ipyleaflet Read the Docs: https://ipyleaflet.readthedocs.io/en/latest/


일단 ipyleaflet 패키지를 추가합니다.


위도 38˚, 경도 127˚를 중심으로 줌 레벨 8에 해당하는 Leaflet 지도를 표시해 봅니다.


아래와 같이 Leaflet 지도가 표시되었습니다. 화면 상단 좌측에는 줌 컨트롤이, 하단 우측에는 속성 컨트롤이 기본으로 표시됩니다.


ipyleaflet은 basemaps.py를 통해 기본지도를 제공하고 있는데요, Esri WorldStreeetMap을

기본지도로 표시해 보겠습니다. https://github.com/jupyter-widgets/ipyleaflet/blob/master/ipyleaflet/basemaps.py


이번에는 Esri WorldImagery를 표시해 본 결과입니다. 기본지도를 쉽게 변경할 수 있죠?!


이번에는 지도 중심과 축척을 조정해서 일부 지역으로 확대해 보겠습니다.


자, 이제 Vworld TMS(Tile Map Service: 타일 지도 서비스)를 정의합니다.

공백 부분은 오픈API 인증키인데요, 관련 방법은 아래 글을 참조하시면 됩니다. 

QGIS 3.4에서 Vworld 지도서비스 이용하기 | http://blog.daum.net/geoscience/1295 


ipyleaflet에 VworldBase 타일 레이어를 추가한 결과입니다. 간단하죠?!


앞서 추가한 VworldBase 레이어를 삭제하고 VworldSatellite와 VworldHybrid 레이어를 추가한 결과입니다. 


이번에는 추가한 레이어들을 사용자가 직접 on/Off 할 수 있도록 레이어 컨트롤을 추가해 보겠습니다.

Vworld 영상, 하이브리드, 야간, 회색, 배경 레이어들을 모두 추가하고 레이어 컨트롤을 추가해 봅니다. 


결과를 보면, 기존 줌 컨트롤 밑에 레이어 컨트롤이 추가된 걸 확인하실 수 있습니다.


레이어 컨트롤을 통해 야간지도를 선택해 봤습니다.


이번에는 분할지도(Split Map) 컨트롤을 추가해서 두 영상지도를 불러와 서로 비교해 보겠습니다.

좌측 지도는 Esri가 제공하는 영상지도, 우측 지도는 Vworld가 제공하는 영상지도를 불러와봅니다.

화면 하단의 속성 컨트롤은 해제시켜 봤습니다. 결과를 확인해 볼까요?!


아래와 같이 화면 중앙에 분할지도 컨트롤이 추가되었습니다. 이 컨트롤은 직접 움직여서

좌우 지도를 바로 비교해볼 수 있습니다. 서로 시기가 다른 지도를 비교할 때 유용하겠죠.


자, 여기에 전체화면 컨트롤을 추가해 볼까요?!


전체화면 컨트롤을 추가하면,


아래와 같이 전체화면에 분할지도가 표시되어 육안판독에 도움을 주는 환경이 제공됩니다.


지도를 확대, 축소할  때 마우스 휠 줌이 제공되면 좋겠죠?! 해당 기능을 활성화 합니다.


이제 전체화면 상태에서 마우스 휠 줌을 통해 지도를 확대, 축소하실 수 있습니다. 육안판독에 큰 도움이 되겠죠?!