地图可视化神器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 Sleep休眠函数使用简单实例
Feb 02 Python
使用Python操作excel文件的实例代码
Oct 15 Python
Django中STATIC_ROOT和STATIC_URL及STATICFILES_DIRS浅析
May 08 Python
pandas进行数据的交集与并集方式的数据合并方法
Jun 27 Python
Python实现的json文件读取及中文乱码显示问题解决方法
Aug 06 Python
浅谈pycharm下找不到sqlalchemy的问题
Dec 03 Python
Python根据成绩分析系统浅析
Feb 11 Python
对Python获取屏幕截图的4种方法详解
Aug 27 Python
python通过nmap扫描在线设备并尝试AAA登录(实例代码)
Dec 30 Python
django之导入并执行自定义的函数模块图解
Apr 01 Python
python操作微信自动发消息的实现(微信聊天机器人)
Jul 14 Python
MATLAB数学建模之画图汇总
Jul 16 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
漫威DC即将合作联动,而双方早已经秘密开始
2020/04/09 欧美动漫
PHP中func_get_args(),func_get_arg(),func_num_args()的区别
2013/09/30 PHP
php输出1000以内质数(素数)示例
2014/02/16 PHP
浅谈PHP面向对象之访问者模式+组合模式
2017/05/22 PHP
PHP实现QQ、微信和支付宝三合一收款码实例代码
2018/02/19 PHP
javascript获取web应用根目录的方法
2014/02/12 Javascript
js键盘事件的keyCode
2014/07/29 Javascript
jQuery validate+artdialog+jquery form实现弹出表单思路详解
2016/04/18 Javascript
使用Bootstrap框架制作查询页面的界面实例代码
2016/05/27 Javascript
将json转换成struts参数的方法
2016/11/08 Javascript
js实现hashtable的赋值、取值、遍历操作实例详解
2016/12/25 Javascript
JS 中document.write()的用法和清空的原因浅析
2017/12/04 Javascript
Node.js中的cluster模块深入解读
2018/06/11 Javascript
JavaScript学习笔记之图片库案例分析
2019/01/08 Javascript
Vue批量图片显示时遇到的路径被解析问题
2019/03/28 Javascript
JavaScript实现原型封装轮播图
2020/12/27 Javascript
[01:27:43]VGJ.S vs TNC Supermajor 败者组 BO3 第三场 6.6
2018/06/07 DOTA
python实现简单的计时器功能函数
2015/03/14 Python
python实现数组插入新元素的方法
2015/05/22 Python
Python实现多并发访问网站功能示例
2017/06/19 Python
Python编程实现微信企业号文本消息推送功能示例
2017/08/21 Python
Python实现基于二叉树存储结构的堆排序算法示例
2017/12/08 Python
Python基础教程之内置函数locals()和globals()用法分析
2018/03/16 Python
详解Python图像处理库Pillow常用使用方法
2019/09/02 Python
运行tensorflow python程序,限制对GPU和CPU的占用操作
2020/02/06 Python
浅谈多卡服务器下隐藏部分 GPU 和 TensorFlow 的显存使用设置
2020/06/30 Python
python中实现词云图的示例
2020/12/19 Python
高中学生期末评语
2014/04/25 职场文书
2014酒店客房部工作总结
2014/12/16 职场文书
学校食品安全责任书
2015/01/29 职场文书
六一晚会主持词开场白
2015/05/28 职场文书
费城故事观后感
2015/06/10 职场文书
《静夜思》教学反思
2016/02/17 职场文书
JavaWeb实现显示mysql数据库数据
2022/03/19 Java/Android
Tomcat starup.bat 脚本实现开机自启动
2022/04/20 Servers
Python如何加载模型并查看网络
2022/07/15 Python