地图可视化神器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通过colorama模块在控制台输出彩色文字的方法
Mar 19 Python
在Python中操作字符串之rstrip()方法的使用
May 19 Python
python从入门到精通(DAY 1)
Dec 20 Python
Python中的FTP通信模块ftplib的用法整理
Jul 08 Python
python 数据清洗之数据合并、转换、过滤、排序
Feb 12 Python
python 读取DICOM头文件的实例
May 07 Python
Python在cmd上打印彩色文字实现过程详解
Aug 07 Python
Python中list循环遍历删除数据的正确方法
Sep 02 Python
python tkinter之顶层菜单、弹出菜单实例
Mar 04 Python
Python如何定义有可选参数的元类
Jul 31 Python
python 如何停止一个死循环的线程
Nov 24 Python
python中zip()函数遍历多个列表方法
Feb 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的list()的一步操作给一组变量进行赋值的使用
2011/05/18 PHP
php实现在限定区域里自动调整字体大小的类实例
2015/04/02 PHP
使用Huagepage和PGO来提升PHP7的执行性能
2015/11/30 PHP
情人节专属 纯js脚本1k大小的3D玫瑰效果
2012/02/11 Javascript
Jquery利用mouseenter和mouseleave实现鼠标经过弹出层且可以点击
2014/02/12 Javascript
js 绑定键盘鼠标事件示例代码
2014/02/12 Javascript
JavaScript阻止浏览器返回按钮的方法
2015/03/18 Javascript
百度地图给map添加右键菜单(判断是否为marker)
2016/03/04 Javascript
JavaScript希尔排序、快速排序、归并排序算法
2016/05/08 Javascript
全面解析JS字符串和正则表达式中的match、replace、exec等函数
2016/07/01 Javascript
jQuery插件Easyui设置datagrid的pageNumber导致两次请求问题的解决方法
2016/08/06 Javascript
用JS中split方法实现彩色文字背景效果实例
2016/08/24 Javascript
jQuery实现两个select控件的互移操作
2016/12/22 Javascript
js中开关变量使用实例
2017/02/24 Javascript
详解在Angularjs中ui-sref和$state.go如何传递参数
2017/04/24 Javascript
vue 实现全选全不选的示例代码
2018/03/29 Javascript
在vue中更换字体,本地存储字体非引用在线字体库的方法
2018/09/28 Javascript
Jquery和CSS实现选择框重置按钮功能
2018/11/08 jQuery
vue点击页面空白处实现保存功能
2019/11/06 Javascript
基于JS实现视频上传显示进度条
2020/05/12 Javascript
利用js canvas实现五子棋游戏
2020/10/11 Javascript
Python list操作用法总结
2015/11/10 Python
Python聚类算法之DBSACN实例分析
2015/11/20 Python
python2.7的编码问题与解决方法
2016/10/04 Python
利用Python-iGraph如何绘制贴吧/微博的好友关系图详解
2017/11/02 Python
解决django 新增加用户信息出现错误的问题
2019/07/28 Python
pyinstaller打包opencv和numpy程序运行错误解决
2019/08/16 Python
python中return的返回和执行实例
2019/12/24 Python
Django使用Profile扩展User模块方式
2020/05/14 Python
python能自学吗
2020/06/18 Python
亚洲独特体验旅游专家:eOasia
2018/08/15 全球购物
C#软件工程师英语面试题
2015/06/07 面试题
计算机应用专业毕业生求职信
2013/10/24 职场文书
主题教育活动总结
2014/05/05 职场文书
vue-element-admin项目导入和导出的实现
2021/05/21 Vue.js
Windows server 2016服务器基本设置
2022/08/14 Servers