地图可视化神器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 自动提交和抓取网页
Jul 13 Python
实例讲解Python中的私有属性
Aug 21 Python
python通过装饰器检查函数参数数据类型的方法
Mar 13 Python
Python中查看文件名和文件路径
Mar 31 Python
浅谈python中的占位符
Nov 09 Python
python创建列表和向列表添加元素的实现方法
Dec 25 Python
用Python进行简单图像识别(验证码)
Jan 19 Python
python将每个单词按空格分开并保存到文件中
Mar 19 Python
Python 删除整个文本中的空格,并实现按行显示
Jul 24 Python
关于ZeroMQ 三种模式python3实现方式
Dec 23 Python
opencv之为图像添加边界的方法示例
Dec 26 Python
Python Switch Case三种实现方法代码实例
Jun 18 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+DBM的同学录程序(3)
2006/10/09 PHP
深入理解Yii2.0乐观锁与悲观锁的原理与使用
2017/07/26 PHP
Swoole 5将移除自动添加Event::wait()特性详解
2019/07/10 PHP
PHP实现笛卡尔积算法的实例讲解
2019/12/22 PHP
JSONP 跨域访问代理API-yahooapis实现代码
2012/12/02 Javascript
jquery等宽输出文字插件使用介绍
2013/09/18 Javascript
iframe如何动态创建及释放其所占内存
2014/09/03 Javascript
JS逆序遍历实现代码
2014/12/02 Javascript
使用canvas实现仿新浪微博头像截取上传功能
2015/09/02 Javascript
JavaScript结合Bootstrap仿微信后台多图文界面管理
2016/07/22 Javascript
Jquery Easyui选项卡组件Tab使用详解(10)
2016/12/18 Javascript
用angular实现多选按钮的全选与反选实例代码
2017/05/23 Javascript
基于jquery实现多级菜单效果
2017/07/25 jQuery
vuex中使用对象展开运算符的示例
2017/09/25 Javascript
浅谈webpack 四个核心概念之Entry
2019/06/12 Javascript
uniapp实现可以左右滑动导航栏
2020/10/21 Javascript
[00:32]2018DOTA2亚洲邀请赛Secret出场
2018/04/03 DOTA
[55:26]DOTA2-DPC中国联赛 正赛 Aster vs LBZS BO3 第一场 2月23日
2021/03/11 DOTA
scrapy自定义pipeline类实现将采集数据保存到mongodb的方法
2015/04/16 Python
详谈Python3 操作系统与路径 模块(os / os.path / pathlib)
2018/04/26 Python
python实现猜数字小游戏
2020/03/24 Python
Python爬虫之UserAgent的使用实例
2019/02/21 Python
Django缓存系统实现过程解析
2019/08/02 Python
Django 1.10以上版本 url 配置注意事项详解
2019/08/05 Python
安装Pycharm2019以及配置anconda教程的方法步骤
2019/11/11 Python
Python时间差中seconds和total_seconds的区别详解
2019/12/26 Python
PyTorch和Keras计算模型参数的例子
2020/01/02 Python
tensorflow:指定gpu 限制使用量百分比,设置最小使用量的实现
2020/02/06 Python
Python爬虫实现vip电影下载的示例代码
2020/04/20 Python
Python通过kerberos安全认证操作kafka方式
2020/06/06 Python
英国赛车、汽车改装和摩托车零件购物网站:Demon Tweeks
2018/10/29 全球购物
应届生求职信
2014/05/31 职场文书
2015年度党员自我评价范文
2015/03/03 职场文书
写给女朋友的保证书
2015/05/09 职场文书
公司处罚决定书
2015/06/24 职场文书
2016开学第一课心得体会
2016/01/23 职场文书