地图可视化神器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实现生成简单的Makefile文件代码示例
Mar 10 Python
python pandas dataframe 行列选择,切片操作方法
Apr 10 Python
python获取酷狗音乐top500的下载地址 MP3格式
Apr 17 Python
Sanic框架流式传输操作示例
Jul 18 Python
python实现创建新列表和新字典,并使元素及键值对全部变成小写
Jan 15 Python
Python使用itchat模块实现简单的微信控制电脑功能示例
Aug 26 Python
学习Django知识点分享
Sep 11 Python
python PIL/cv2/base64相互转换实例
Jan 09 Python
python super用法及原理详解
Jan 20 Python
Python实现随机生成任意数量车牌号
Jan 21 Python
python代码如何注释
Jun 01 Python
java字符串格式化输出实例讲解
Jan 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中COOKIES使用示例
2015/07/26 PHP
使用WordPress发送电子邮件的相关PHP函数用法解析
2015/12/15 PHP
js玩一玩WSH吧
2007/02/23 Javascript
jQuery中与toggleClass等价的程序段 以及未来学习的方向
2010/03/18 Javascript
DD_belatedPNG,IE6下PNG透明解决方案(国外)
2010/12/06 Javascript
js实现的切换面板实例代码
2013/06/17 Javascript
jQuery实现等比例缩放大图片让大图片自适应页面布局
2013/10/16 Javascript
JavaScript 实现鼠标拖动元素实例代码
2014/02/24 Javascript
JavaScript添加随滚动条滚动窗体的方法
2016/02/23 Javascript
详解jQuery中的DOM操作
2016/12/23 Javascript
Easyui使用Dialog行内按钮布局的实例
2017/07/27 Javascript
layui监听工具栏的实例(操作列表按钮)
2019/09/10 Javascript
layui实现鼠标移动到单元格上显示数据的方法
2019/09/11 Javascript
关于引入vue.js 文件的知识点总结
2020/01/28 Javascript
[02:51]2014DOTA2国际邀请赛 IG战队官方纪录片
2014/07/21 DOTA
Python的词法分析与语法分析
2013/05/18 Python
Python爬虫辅助利器PyQuery模块的安装使用攻略
2016/04/24 Python
浅谈python中set使用
2016/06/30 Python
Python爬取网易云音乐热门评论
2017/03/31 Python
Python多进程库multiprocessing中进程池Pool类的使用详解
2017/11/24 Python
python3+PyQt5实现自定义流体混合窗口部件
2018/04/24 Python
Python异常处理操作实例详解
2018/05/10 Python
django orm 通过related_name反向查询的方法
2018/12/15 Python
Python实现电视里的5毛特效实例代码详解
2020/05/15 Python
解决python调用自己文件函数/执行函数找不到包问题
2020/06/01 Python
CSS3五个技巧给你的网站带来出色的效果
2009/04/02 HTML / CSS
HTML5中使用json对象的实例代码
2018/09/10 HTML / CSS
kmart凯马特官网:美国最大的打折零售商和全球最大的批发商之一
2016/11/17 全球购物
中西医结合临床医学专业大学生自荐信
2013/09/28 职场文书
房地产端午节活动方案
2014/08/24 职场文书
租房协议书
2014/09/12 职场文书
2014年妇幼保健工作总结
2014/12/08 职场文书
开业庆典嘉宾致辞
2015/08/01 职场文书
职工食堂管理制度
2015/08/06 职场文书
2016年村干部公开承诺书(公开承诺事项)
2016/03/25 职场文书
win server2012 r2服务器共享文件夹如何设置
2022/06/21 Servers