티스토리 뷰

test2.html
0.86MB

dailyheumsi.tistory.com/145?category=854906

 

[지도 데이터 시각화] Part 5. Mapboxgl 살펴보기

Mapbox 는 WebGL 기술을 이용해, 브라우저에 지도 데이터를 렌더링해주는 해주는 자바스크립트 라이브러리입니다. (물론, 모바일용, Unity 용으로도 있습니다.) Mapbox 의 주 기능은 무엇보다 '이쁘게'

dailyheumsi.tistory.com

이 분의 튜토리얼을 따라가보았다. 


import mapboxgl #mapboxgl 가져옴
from mapboxgl.viz import * 

실제 연습은 다른 데이터로 했는데 대외비라서 튜토리얼과 같이 서울시 데이터를 끌어왔다. 

geo_data = 'older_seoul.geojson'

사실 .geojson 파일을 이번에 처음 봤다고 함^^; 

import json
with open(geo_data) as f:
    data = json.loads(f.read())
import os
from mapboxgl.utils import create_color_stops
token = 'my_code'

토큰을 환경변수에 집어넣어서 하는 방법도 아는데, 이상하게 그걸로 하니까 끌어와지지가 않음; 

그래서 결국 직접 집어넣어줬다. 

center = [126.986, 37.565]

서울시가 지도에 뜰 수 있게 위도·경도를 이렇게.

color_breaks = [0, 10000, 20000, 30000, 40000, 50000]
color_stops = create_color_stops(color_breaks, colors='RdBu')

원래 코드에는 colors=BuPu로 되어 있지만…. 시각화 튜토리얼 따라해볼 때마다 색깔만 열심히 바꿔보기 때문에. 이번에도 바꿔보았다. 좀더 화사한 느낌으로 결과물이 나오더라는.

viz = ChoroplethViz(
    access_token = token,
    data = data,
    color_property = '인구',
    color_stops = color_stops,
    center = center,
    zoom=10
)

'인구' 컬럼을 나타내어 볼 것이다. 

viz.show()

귀찮으니까 그냥 스샷했지만 html로 내보내려면 이렇게 하면 되더라. 

viz.create_html('filename.html')

as_iframe이라고 iframe으로 내보내는 메소드도 있었다. 

어케 티스토리에 달아보려고 했는데 뭐가 너무 복잡해서(ㅠㅠ) 포기.