mapboxgl-jupyter로 OpenStreetMap에 그리기
5428 단어 mapbox-gl-jsJupyterOpenStreetMap
import os
import pandas as pd
from mapboxgl.utils import create_color_stops, df_to_geojson
from mapboxgl.viz import CircleViz
# ベースとなるレイヤの定義(OpenStreetMap)
style_json = '''
{
"version": 8,
"sources": {
"osmSource": {
"type": "raster",
"tiles": [
"https://a.tile.openstreetmap.org/{z}/{x}/{y}.png",
"https://b.tile.openstreetmap.org/{z}/{x}/{y}.png"
],
"tileSize": 256
}
},
"layers": [
{
"id": "osmLayer",
"type": "raster",
"source": "osmSource",
"minzoom": 0,
"maxzoom": 22
}
]
}
'''
style = json.loads(style_json)
# サンプルデータDL -> DataFrame
data_url = 'https://raw.githubusercontent.com/mapbox/mapboxgl-jupyter/master/examples/data/points.csv'
df = pd.read_csv(data_url)
# DataFrame -> GeoJsonに直変換(簡略化のためファイルには起こさない)
df_geo = df_to_geojson(df,
properties=['Avg Medicare Payments', 'Avg Covered Charges', 'date'],
lat='lat', lon='lon', precision=3,
)
# 色設定
color_breaks = [0,10,100,1000,10000]
color_stops = create_color_stops(color_breaks, colors='YlGnBu')
# 描画
viz = CircleViz(df_geo,
style=style,
height='400px',
color_property = "Avg Medicare Payments",
color_stops = color_stops,
center = (-95, 40),
zoom = 3,
)
viz.show()
완벽하지는 않지만 그리기에 성공
(Payments 값이 10000 밖에 그려지지 않은 파일에서 발생하지 않기 때문에 데이터 점수 때문입니까?)
참고
Reference
이 문제에 관하여(mapboxgl-jupyter로 OpenStreetMap에 그리기), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/leo-mon/items/95cffc808d3c1d2f2046텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)