地图可视化神器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检测远程端口是否打开的方法
Mar 14 Python
整理Python最基本的操作字典的方法
Apr 24 Python
Python中的hypot()方法使用简介
May 18 Python
基于Python实现一个简单的银行转账操作
Mar 06 Python
Python自动化运维和部署项目工具Fabric使用实例
Sep 18 Python
对Python中gensim库word2vec的使用详解
May 08 Python
python对list中的每个元素进行某种操作的方法
Jun 29 Python
Python基于机器学习方法实现的电影推荐系统实例详解
Jun 25 Python
python代码编写计算器小程序
Mar 30 Python
Python3.8对可迭代解包的改进及用法详解
Oct 15 Python
Python+MySQL随机试卷及答案生成程序的示例代码
Feb 01 Python
Django实现在线无水印抖音视频下载(附源码及地址)
May 06 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简单数据库操作类实例【支持增删改查及链式操作】
2016/10/10 PHP
使用jQuery的将桌面应用程序引入浏览器
2010/11/19 Javascript
jquery图片上下tab切换效果
2011/03/18 Javascript
Extjs显示从数据库取出时间转换JSON后的出现问题
2012/11/20 Javascript
jquery中文乱码的多种解决方法
2013/06/21 Javascript
jQuery的$.proxy()应用示例介绍
2014/04/03 Javascript
详解Angular中$cacheFactory缓存的使用
2016/08/19 Javascript
BootStrap组件之进度条的基本用法
2017/01/19 Javascript
快速理解 JavaScript 中的 LHS 和 RHS 查询的用法
2017/08/24 Javascript
nuxt框架中路由鉴权之Koa和Session的用法
2018/05/09 Javascript
JS实现json对象数组按对象属性排序操作示例
2018/05/18 Javascript
BootStrap table实现表格行拖拽效果
2018/12/01 Javascript
JavaScript实现页面中录音功能的方法
2019/06/04 Javascript
构建Vue大型应用的10个最佳实践(小结)
2019/11/07 Javascript
[42:35]2018DOTA2亚洲邀请赛3月30日 小组赛A组 VG VS OpTic
2018/03/31 DOTA
python发送邮件的实例代码(支持html、图片、附件)
2013/03/04 Python
python实现linux服务器批量修改密码并生成execl
2014/04/22 Python
高质量Python代码编写的5个优化技巧
2017/11/16 Python
Python多线程threading和multiprocessing模块实例解析
2018/01/29 Python
Python连接Redis的基本配置方法
2018/09/13 Python
用Python实现数据的透视表的方法
2018/11/16 Python
浅析python的优势和不足之处
2018/11/20 Python
Python : turtle色彩控制实例详解
2020/01/19 Python
python实现打砖块游戏
2020/02/25 Python
诺心蛋糕官网:LE CAKE
2018/08/25 全球购物
机电专业体育教师求职信
2013/09/21 职场文书
自动一体化专业求职信
2014/03/15 职场文书
公司开业庆典主持词
2014/03/21 职场文书
小学校长汇报材料
2014/08/20 职场文书
医药销售自我评价200字
2014/09/11 职场文书
英文自荐信范文
2015/03/25 职场文书
时尚女魔头观后感
2015/06/04 职场文书
导游词之丹东鸭绿江
2019/10/24 职场文书
java泛型通配符详解
2021/07/25 Java/Android
HTML常用标签超详细整理
2022/03/19 HTML / CSS
Java 数据结构七大排序使用分析
2022/04/02 Java/Android