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

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)

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对我们的支持。如果你想了解更多相关内容请查看下面相关链接

(0)

相关推荐

  • Python中shapefile转换geojson的示例

    shapefile转换geojson import shapefile import codecs from json import dumps # read the shapefile def shp2geo(file="line出产.shp"): reader = shapefile.Reader(file) fields = reader.fields[1:] field_names = [field[0] for field in fields] buffer = [] for

  • Python XML转Json之XML2Dict的使用方法

    1. Json读写方法 def parseFromFile(self, fname): """ Overwritten to read JSON files. """ f = open(fname, "r") return json.load(f) def serializeToFile(self, fname, annotations): """ Overwritten to write JSO

  • Python实现去除列表中重复元素的方法总结【7种方法】

    这里首先给出来我很早之前写的一篇博客,Python实现去除列表中重复元素的方法小结[4种方法],感兴趣的话可以去看看,今天是在实践过程中又积累了一些方法,这里一并总结放在这里. 由于内容很简单,就不再过多说明了,这里直接上代码,具体如下: # !/usr/bin/env python # -*- coding:utf-8 -*- ''' __Author__:沂水寒城 功能: python列表去除方法总结(7种方法) ''' import sys reload(sys) import copy

  • Python字符串逆序输出的实例讲解

    1.有时候我们可能想让字符串倒序输出,下面给出几种方法 方法一:通过索引的方法 >>> strA = "abcdegfgijlk" >>> strA[::-1] 'kljigfgedcba' 方法二:借组列表进行翻转 #coding=utf-8 strA = raw_input("请输入需要翻转的字符串:") order = [] for i in strA: order.append(i) order.reverse() #将列

  • Python字符串逆序的实现方法【一题多解】

    https://www.jb51.net/article/156406.htm https://www.jb51.net/article/156407.htm 1. 使用索引 >> strA = 'abcdefg' >> strA[::-1] 'gfedcba' 2. 使用 list 的 reverse 方法 >> l = [c for c in strA] >> l.reverse() >> ''.join(l) 'gfedcba' 3. 使用

  • Python遍历文件夹 处理json文件的方法

    有两种做法:os.walk().pathlib库,个人感觉pathlib库的path.glob用来匹配文件比较简单. 下面是第二种做法的实例(第一种做法百度有很多文章): from pathlib import Path import json analysis_root_dir = "D:\\analysis_data\json_file" store_result="D:\\analysis_data\\analysis_result\\dependency.csv&qu

  • python解析含有重复key的json方法

    python自带的json包能够方便的解析json文本,但是如果json文本中包含重复key的时候,解析的结果就是错误的.如下为例 {"key":"1", "key":"2", "key":"3", "key2":"4"} 经过解析,结果却如下所示: { "key":"3", "key2"

  • 强悍的Python读取大文件的解决方案

    Python 环境下文件的读取问题,请参见拙文 Python基础之文件读取的讲解 这是一道著名的 Python 面试题,考察的问题是,Python 读取大文件和一般规模的文件时的区别,也即哪些接口不适合读取大文件. 1. read() 接口的问题 f = open(filename, 'rb') f.read() 我们来读取 1 个 nginx 的日至文件,规模为 3Gb 大小.read() 方法执行的操作,是一次性全部读入内存,显然会造成: MemoryError ... 也即会发生内存溢出.

  • Python常用的json标准库

    当请求 headers 中,添加一个name为 Accept,值为 application/json 的 header(也即"我"(浏览器)接收的是 json 格式的数据),这样,向服务器请求返回的未必一定是 HTML 页面,也可能是 JSON 文档. 1. 数据交换格式 -- JSON(JavaScript Object Notation) http 1.1 规范 请求一个特殊编码的过程在 http1.1 规范中称为内容协商(content negotiation) JSON 特点

  • Python基础之文件读取的讲解

    with open(filename) as fp: dataMat = [] for line in fp.readlines(): # fp.readlines()返回一个list,list of strs # 也即line类型为`str` curLine = line.strip().split('\t') # 只有`str`类型才有strip()成员函数, # 在经过split()分割,得到list类型 # 也即curLine类型为list # curLine 仍然是由字符串构成的lis

随机推荐