地图可视化神器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中字典创建、遍历、添加等实用操作技巧合集
Jun 02 Python
python 捕获shell脚本的输出结果实例
Jan 04 Python
Python实现Smtplib发送带有各种附件的邮件实例
Jun 05 Python
Python中浅拷贝copy与深拷贝deepcopy的简单理解
Oct 26 Python
Python实现的爬取百度文库功能示例
Feb 16 Python
总结Python图形用户界面和游戏开发知识点
May 22 Python
Python装饰器使用你可能不知道的几种姿势
Oct 25 Python
Django实现WebSSH操作物理机或虚拟机的方法
Nov 06 Python
在flask中使用python-dotenv+flask-cli自定义命令(推荐)
Jan 05 Python
Python如何存储数据到json文件
Mar 09 Python
Python切割图片成九宫格的示例代码
Mar 10 Python
Python wordcloud库安装方法总结
Dec 31 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
2021年最新CPU天梯图
2021/03/04 数码科技
在Windows中安装Apache2和PHP4的权威指南
2006/10/09 PHP
php读取mysql乱码,用set names XXX解决的原理分享
2011/12/29 PHP
php中计算程序运行时间的类代码
2012/11/03 PHP
PHP版 汉字转码的实现详解
2013/06/09 PHP
php上传文件并显示上传进度的方法
2015/03/24 PHP
PHP通过调用新浪API生成t.cn格式短网址链接的方法详解
2019/02/20 PHP
JavaScript 异步调用框架 (Part 3 - 代码实现)
2009/08/04 Javascript
jquery选择器(常用选择器说明)
2010/09/28 Javascript
使用Jasmine和Karma对AngularJS页面程序进行测试
2016/03/05 Javascript
关于网页中的无缝滚动的js代码
2016/06/09 Javascript
Bootstrap和Angularjs配合自制弹框的实例代码
2016/08/24 Javascript
使用JavaScript解决网页图片拉伸问题(推荐)
2016/11/25 Javascript
JavaScript手风琴页面制作
2017/05/17 Javascript
Node.js 使用递归实现遍历文件夹中所有文件
2017/09/18 Javascript
javaScript日期工具类DateUtils详解
2017/12/08 Javascript
angular4 共享服务在多个组件中数据通信的示例
2018/03/30 Javascript
微信小程序wx.uploadfile 本地文件转base64的实现代码
2018/06/28 Javascript
python批量生成本地ip地址的方法
2015/03/23 Python
把MySQL表结构映射为Python中的对象的教程
2015/04/07 Python
Python在不同目录下导入模块的实现方法
2017/10/27 Python
Python探索之爬取电商售卖信息代码示例
2017/10/27 Python
好的Python培训机构应该具备哪些条件
2018/05/23 Python
opencv-python 提取sift特征并匹配的实例
2019/12/09 Python
解决Tensorflow 使用时cpu编译不支持警告的问题
2020/02/03 Python
Pytorch 解决自定义子Module .cuda() tensor失败的问题
2020/06/23 Python
Python数据可视化实现多种图例代码详解
2020/07/14 Python
Python字符串函数strip()原理及用法详解
2020/07/23 Python
基于python实现操作redis及消息队列
2020/08/27 Python
CSS3美化表单控件全集
2016/06/29 HTML / CSS
享誉全球的多元化时尚精品购物平台:Farfetch发发奇(支持中文)
2017/08/08 全球购物
面料业务员岗位职责
2013/12/26 职场文书
农民入党思想汇报
2014/01/03 职场文书
后勤服务中心总经理工作职责
2014/03/03 职场文书
违纪学生保证书
2015/02/27 职场文书
2016年秋季运动会加油稿
2015/12/21 职场文书