地图可视化神器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基础教程之python消息摘要算法使用示例
Feb 10 Python
asyncio 的 coroutine对象 与 Future对象使用指南
Sep 11 Python
python 中random模块的常用方法总结
Jul 08 Python
python爬取亚马逊书籍信息代码分享
Dec 09 Python
解决python super()调用多重继承函数的问题
Jun 26 Python
python实现静态web服务器
Sep 03 Python
Flask框架路由和视图用法实例分析
Nov 07 Python
pytorch 利用lstm做mnist手写数字识别分类的实例
Jan 10 Python
使用 Python 处理3万多条数据只要几秒钟
Jan 19 Python
Python中Selenium库使用教程详解
Jul 23 Python
python中的插入排序的简单用法
Jan 19 Python
Python获取字典中某个key的value
Apr 13 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网站地图生成类示例
2014/01/13 PHP
JavaScript 事件的一些重要说明
2009/10/25 Javascript
jquery 文本上下无缝滚动,鼠标放上去就停止 小例子
2013/06/05 Javascript
jquery 获取表单元素里面的值示例代码
2013/07/28 Javascript
js获取指定日期前后的日期代码
2013/08/20 Javascript
各种常用的JS函数整理
2013/10/25 Javascript
jQuery插件Slider Revolution实现响应动画滑动图片切换效果
2015/06/05 Javascript
在JavaScript中操作时间之getUTCDate()方法的使用
2015/06/10 Javascript
jQuery实现带有上下控制按钮的简单多行滚屏效果代码
2015/09/04 Javascript
微信小程序 视图容器组件的详解及实例代码
2017/01/19 Javascript
vue-cli的webpack模板项目配置文件分析
2017/04/01 Javascript
vue中eventbus被多次触发以及踩过的坑
2017/12/02 Javascript
Vue 进阶之路(三)
2019/04/18 Javascript
微信小程序页面传多个参数跳转页面的实现方法
2019/05/17 Javascript
React中使用外部样式的3种方式(小结)
2019/05/28 Javascript
在 Vue 应用中使用 Netlify 表单功能的方法详解
2019/06/03 Javascript
vue-week-picker实现支持按周切换的日历
2019/06/26 Javascript
解决layui表格的表头不滚动的问题
2019/09/04 Javascript
vue自定义插件封装,实现简易的elementUi的Message和MessageBox的示例
2020/11/20 Vue.js
Python中optionParser模块的使用方法实例教程
2014/08/29 Python
详解Python中__str__和__repr__方法的区别
2015/04/17 Python
python模拟enum枚举类型的方法小结
2015/04/30 Python
Python自动登录126邮箱的方法
2015/07/10 Python
实例解析Python中的__new__特殊方法
2016/06/02 Python
Python3实现发送QQ邮件功能(文本)
2017/12/15 Python
Python中循环引用(import)失败的解决方法
2018/04/22 Python
python+splinter自动刷新抢票功能
2018/09/25 Python
详解Python 爬取13个旅游城市,告诉你五一大家最爱去哪玩?
2019/05/07 Python
Pytorch之contiguous的用法
2019/12/31 Python
python为什么会环境变量设置不成功
2020/06/23 Python
中国电子产品批发商/跨境电商/外贸网:Sunsky-online
2020/04/20 全球购物
生物制药毕业生自荐信
2013/10/16 职场文书
社区工作者先进事迹
2014/01/18 职场文书
2015年政府采购工作总结
2015/05/21 职场文书
单身证明格式样本
2015/06/15 职场文书
护理自荐信
2019/05/14 职场文书