地图可视化神器kepler.gl python接口的使用方法


Posted in Python onDecember 22, 2020

1 简介

kepler.gl作为开源地理空间数据可视化神器,也一直处于活跃的迭代开发状态下。而在前不久,kepler.gl正式发布了其2.4.0版本,下面我们就来对其重要的新特性进行介绍:

地图可视化神器kepler.gl python接口的使用方法

2 kepler.gl 2.4.0重要新特性

2.1 增量时间窗口

在这次更新中,为时间序列数据的可视化新增了增量时间窗口功能,在上一个版本2.3.2中,当我们的数据集带有时间类型字段时,在添加对应的Filters之后,显示出的时间窗口是这个样子的:

地图可视化神器kepler.gl python接口的使用方法

而在2.4.0版本中,时间窗口如图所示:

地图可视化神器kepler.gl python接口的使用方法

在如下图一样从默认的Moving Time Window模式切换到Incremental Time Window模式之后,就可以使用增量时间窗口模式,画面中的数据会从起点开始持续叠加:

地图可视化神器kepler.gl python接口的使用方法

2.2 Python接口新增_repr_html_()方法

而这个更新不仅针对原生的kepler.gl,还针对其面向Python的接口keplergl新增_repr_html_()方法,使得将kepler.gl与flask等进行结合更加方面,就像folium中的_repr_html_()方法一样:

结合flask

from flask import Flask
from keplergl import KeplerGl

app = Flask(__name__)

@app.route('/')
def index():
  
  map_1 = KeplerGl()
  
  return map_1._repr_html_()

if __name__ == '__main__':
  app.run(debug=True)

而如果你对dash有所了解,那么纯Python快速开发出一个嵌入kepler.gl的交互式web应用将会变得非常容易,就像下面这个简单的例子一样:

地图可视化神器kepler.gl python接口的使用方法

import dash
from keplergl import KeplerGl
import dash_html_components as html
import dash_core_components as dcc
from dash.dependencies import Input, Output
import requests

app = dash.Dash(__name__)

app.layout = html.Div(
  [
    html.H1("Dash结合Kepler.gl:"),
    dcc.Dropdown(
      id='demo-dropdown',
      options=[
        {'label': '重庆', 'value': '重庆'}
      ],
      style={'width': '300px'}
    ),
    html.Iframe(id='iframe',
          style={'height': '800px', 'width': '1900px'})
  ]
)

@app.callback(
  Output('iframe', 'srcDoc'),
  [Input('demo-dropdown', 'value')]
)
def switch_area(selected_area):

  if selected_area == '重庆':
    map_1 = KeplerGl(data={
               selected_area: requests.get('https://geo.datav.aliyun.com/areas_v2/bound/500000_full.json').json()
             },
             config={
               "mapState": {
                 "bearing": 0,
                 "dragRotate": False,
                 "latitude": 29.751819,
                 "longitude": 107.441431,
                 "pitch": 0,
                 "zoom": 6,
                 "isSplit": False
               }
             })

    return map_1._repr_html_().decode()

  else:
    map_1 = KeplerGl(data={
               selected_area: requests.get('https://geo.datav.aliyun.com/areas_v2/bound/100000_full.json').json()
             },
             config={
               "mapState": {
                 "bearing": 0,
                 "dragRotate": False,
                 "latitude": 29.751819,
                 "longitude": 107.441431,
                 "pitch": 0,
                 "zoom": 3,
                 "isSplit": False
               }
             })

    return map_1._repr_html_().decode()

if __name__ == '__main__':
  app.run_server()

以上就是地图可视化神器kepler.gl python接口的使用方法的详细内容,更多关于python 地图可视化神器kepler.gl的资料请关注三水点靠木其它相关文章!

Python 相关文章推荐
python实现带验证码网站的自动登陆实现代码
Jan 12 Python
Python编程中实现迭代器的一些技巧小结
Jun 21 Python
python结合selenium获取XX省交通违章数据的实现思路及代码
Jun 26 Python
Pandas 数据处理,数据清洗详解
Jul 10 Python
python实现图书借阅系统
Feb 20 Python
华为2019校招笔试题之处理字符串(python版)
Jun 25 Python
在Python函数中输入任意数量参数的实例
Jul 16 Python
Matplotlib scatter绘制散点图的方法实现
Jan 02 Python
Python+Selenium实现自动化的环境搭建的步骤(图文)
Sep 01 Python
python实现图书馆抢座(自动预约)功能的示例代码
Sep 29 Python
python脚本使用阿里云slb对恶意攻击进行封堵的实现
Feb 04 Python
matplotlib部件之套索Lasso的使用
Feb 24 Python
Python实现Word文档转换Markdown的示例
Dec 22 #Python
python爬虫利用selenium实现自动翻页爬取某鱼数据的思路详解
Dec 22 #Python
Django中ORM的基本使用教程
Dec 22 #Python
python通用数据库操作工具 pydbclib的使用简介
Dec 21 #Python
Python 多进程原理及实现
Dec 21 #Python
python-图片流传输的思路及示例(url转换二维码)
Dec 21 #Python
python 用pandas实现数据透视表功能
Dec 21 #Python
You might like
PHP 可阅读随机字符串代码
2010/05/26 PHP
wamp下修改mysql访问密码的解决方法
2013/05/07 PHP
基于PHP的简单采集数据入库程序
2014/07/30 PHP
Yii框架模拟组件调用注入示例
2019/11/11 PHP
Jquery知识点三 jquery表单对象操作
2011/01/17 Javascript
js 调用本地exe的例子(支持IE内核的浏览器)
2012/12/26 Javascript
使用javascript为网页增加夜间模式
2014/01/26 Javascript
什么是MEAN?JavaScript编程中的MEAN是什么意思?
2014/12/18 Javascript
JavaScript获取页面中超链接数量的方法
2015/11/09 Javascript
jQuery1.9.1源码分析系列(十六)ajax之ajax框架
2015/12/04 Javascript
在WordPress中加入Google搜索功能的简单步骤讲解
2016/01/04 Javascript
indexedDB bootstrap angularjs之 MVC DOMO (应用示例)
2016/06/20 Javascript
BootStrap 动态添加验证项和取消验证项的实现方法
2016/09/28 Javascript
深入理解Node.js的HTTP模块
2016/10/12 Javascript
原生js实现鼠标跟随效果
2017/02/28 Javascript
深入理解ES6学习笔记之块级作用域绑定
2017/08/19 Javascript
Node.js中DNS模块学习总结
2018/02/28 Javascript
vue内置组件transition简单原理图文详解(小结)
2018/07/12 Javascript
微信小程序中使用自定义图标(阿里icon)的方法
2018/08/20 Javascript
分享5个顶级的JavaScript Ajax组件库
2018/09/16 Javascript
详解jQuery中的getAll()和cleanData()
2019/04/15 jQuery
浅谈vuex中store的命名空间
2019/11/08 Javascript
Vue实现图书管理小案例
2020/12/03 Vue.js
使用JS实现鼠标放上图片进行放大离开实现缩小功能
2021/01/27 Javascript
[01:08]2014DOTA2展望TI 剑指西雅图LGD战队专访
2014/06/30 DOTA
[原创]python爬虫(入门教程、视频教程)
2018/01/08 Python
python一键去抖音视频水印工具
2018/09/14 Python
Python tkinter的grid布局及Text动态显示方法
2018/10/11 Python
PyQt5实现简单数据标注工具
2019/03/18 Python
详解Python3之数据指纹MD5校验与对比
2019/06/11 Python
Python求均值,方差,标准差的实例
2019/06/29 Python
在python中,使用scatter绘制散点图的实例
2019/07/03 Python
django rest framework serializer返回时间自动格式化方法
2020/03/31 Python
python中读入二维csv格式的表格方法详解(以元组/列表形式表示)
2020/04/24 Python
2014教师党员自我评议总结
2014/09/19 职场文书
初中生活随笔
2015/08/15 职场文书