【python】GeoJson和bokeh-1
阿新 • • 發佈:2018-11-11
GeoJson 文件
{
"type": "FeatureCollection",
"features": [
{
"geometry": {
"type": "Polygon",
"coordinates": [
[
[
3,
1
],
[
3,
2
],
[
4 ,
2
],
[
4,
1
],
[
3,
1
]
]
]
},
"type": "Feature",
"properties": {
"perimeter": 0,
"vista": "mim",
"provincia": "右側正方形" ,
"objectid": 24,
"prov": 0,
"bounds": [
0,
0
],
"provif3_": 27.0,
"ogc_fid": 26,
"provif3_id": 26.0
}
},
{
"geometry": {
"type": "Polygon",
"coordinates": [
[
[
1 ,
1
],
[
1,
2
],
[
2,
2
],
[
2,
1
],
[
1,
1
]
]
]
},
"type": "Feature",
"properties": {
"perimeter": 0,
"vista": "mim",
"provincia": "左側正方形",
"objectid": 24,
"prov": 0,
"bounds": [
0,
0
],
"provif3_": 27.0,
"ogc_fid": 26,
"provif3_id": 26.0
}
}
]
}
from bokeh.io import show, output_notebook, output_file
from bokeh.models import (
GeoJSONDataSource,
HoverTool,
LinearColorMapper
)
from bokeh.plotting import figure
from bokeh.palettes import Viridis6
with open(r'argentina.json', 'r', encoding='utf8') as f:
geo_source = GeoJSONDataSource(geojson=f.read())
color_mapper = LinearColorMapper(palette=Viridis6)
TOOLS = "pan,wheel_zoom,box_zoom,reset,hover,save"
p = figure(title="正方形", tools=TOOLS, x_range=[1, 10], y_range=[1, 10], width=500, height=500)
p.grid.grid_line_color = None
p.patches('xs', 'ys', fill_alpha=0.7, fill_color={'field': 'objectid', 'transform': color_mapper},
line_color='white', line_width=0.5, source=geo_source)
hover = p.select_one(HoverTool)
hover.point_policy = "follow_mouse"
hover.tooltips = [("Provincia:", "@provincia")]
output_file("test.html", title="Testing Polygon in bokeh")
show(p)