地图可视化神器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图像处理之反色实现方法
May 30 Python
用Python写冒泡排序代码
Apr 12 Python
实例解析Python中的__new__特殊方法
Jun 02 Python
python django 增删改查操作 数据库Mysql
Jul 27 Python
Python用for循环实现九九乘法表
May 31 Python
python实现textrank关键词提取
Jun 22 Python
Python2和Python3中urllib库中urlencode的使用注意事项
Nov 26 Python
python粘包问题及socket套接字编程详解
Jun 29 Python
Python 时间戳之获取整点凌晨时间戳的操作方法
Jan 28 Python
在Anaconda3下使用清华镜像源安装TensorFlow(CPU版)
Apr 19 Python
Python run()函数和start()函数的比较和差别介绍
May 03 Python
python元组打包和解包过程详解
Aug 02 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的几个常用数字判断函数代码
2012/04/24 PHP
ThinkPHP和UCenter接口冲突的解决方法
2016/07/25 PHP
phpstudy后门rce批量利用脚本的实现
2019/12/12 PHP
JS查看对象功能代码
2008/04/25 Javascript
javascript instanceof 内部机制探析
2010/10/15 Javascript
JS弹出对话框返回值代码(asp.net后台)
2010/12/28 Javascript
JS弹出层的显示与隐藏示例代码
2013/12/27 Javascript
jquery实现左右无缝轮播图
2020/07/31 Javascript
移动端Ionic App 资讯上下循环滚动的实现代码(跑马灯效果)
2017/08/29 Javascript
删除table表格行的实例讲解
2017/09/21 Javascript
vue 运用mock数据的示例代码
2017/11/07 Javascript
在ES5与ES6环境下处理函数默认参数的实现方法
2018/05/13 Javascript
jQuery的Ajax接收java返回数据方法
2018/08/11 jQuery
layui使用label标签的方法
2019/09/14 Javascript
vue自定义插件封装,实现简易的elementUi的Message和MessageBox的示例
2020/11/20 Vue.js
Vue如何实现验证码输入交互
2020/12/07 Vue.js
[56:35]DOTA2上海特级锦标赛C组小组赛#1 OG VS Archon第二局
2016/02/27 DOTA
[01:19]DOTA2城市挑战赛报名开始 开启你的城市传奇
2018/03/23 DOTA
使用Python抓取模板之家的CSS模板
2015/03/16 Python
Python排序算法之选择排序定义与用法示例
2018/04/29 Python
200行python代码实现2048游戏
2019/07/17 Python
Python操作Mongodb数据库的方法小结
2019/09/10 Python
Python各种扩展名区别点整理
2020/02/27 Python
Python嵌入C/C++进行开发详解
2020/06/09 Python
python Yaml、Json、Dict之间的转化
2020/10/19 Python
Html5页面上如何禁止手机虚拟键盘弹出
2020/03/19 HTML / CSS
新加坡领先的时尚生活方式零售品牌:CHARLES & KEITH
2018/01/16 全球购物
JD Sports丹麦:英国领先的运动时尚零售商
2020/11/24 全球购物
分别介绍一下Session Bean和Entity Bean
2015/03/13 面试题
餐饮收银员岗位职责
2014/02/07 职场文书
网站客服岗位职责
2014/04/05 职场文书
未受刑事制裁公证证明
2014/09/20 职场文书
幼儿园教师师德表现自我评价
2015/03/05 职场文书
公司处罚决定书
2015/06/24 职场文书
纪律委员竞选稿
2015/11/19 职场文书
Valheim服务器 Mod修改安装教程 【ValheimPlus】
2022/12/24 Servers