Python中GeoJson和bokeh-1的使用讲解

yipeiwu_com6年前Python基础

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)

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对【听图阁-专注于Python设计】的支持。如果你想了解更多相关内容请查看下面相关链接

相关文章

python、Matlab求定积分的实现

python、Matlab求定积分的实现

python求定积分 计算 from sympy import * x = symbols('x') print(integrate(sin(2*x)/(1+x**2), (x,...

Python实现合并两个有序链表的方法示例

Python实现合并两个有序链表的方法示例

本文实例讲述了Python实现合并两个有序链表的方法。分享给大家供大家参考,具体如下: 思路:先选出第一个节点,然后遍历两个链表,把小的作为当前节点的下一个节点,一直到其中一个链表遍历...

Python编程实现的简单神经网络算法示例

Python编程实现的简单神经网络算法示例

本文实例讲述了Python编程实现的简单神经网络算法。分享给大家供大家参考,具体如下: python实现二层神经网络 包括输入层和输出层 # -*- coding:utf-8 -*-...

Python实现的ini文件操作类分享

类代码: # -*- coding:gbk -*- import ConfigParser, os class INIFILE: def __init__(self, filen...

Python自动发邮件脚本

Python自动发邮件脚本

缘起 这段时间给朋友搞了个群发邮件的脚本,为了防止进入垃圾邮件,做了很多工作,刚搞完,垃圾邮件进入率50%,觉得还不错,如果要将垃圾邮件的进入率再调低,估计就要花钱买主机了,想想也就算了...