地图可视化神器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缩进区别分析
Feb 15 Python
利用打码兔和超人打码自封装的打码类分享
Mar 16 Python
Python操作json数据的一个简单例子
Apr 17 Python
解读Django框架中的低层次缓存API
Jul 24 Python
利用 Monkey 命令操作屏幕快速滑动
Dec 07 Python
pandas数据清洗,排序,索引设置,数据选取方法
May 18 Python
Django框架登录加上验证码校验实现验证功能示例
May 23 Python
Python作用域与名字空间原理详解
Mar 21 Python
Python爬虫抓取指定网页图片代码实例
Jul 24 Python
用python批量移动文件
Jan 14 Python
Python数据模型与Python对象模型的相关总结
Jan 26 Python
python中pymysql包操作数据库方法
Apr 19 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实现多城市切换特效
2015/08/09 PHP
WordPress开发中自定义菜单的相关PHP函数使用简介
2016/01/05 PHP
Laravel 实现数据软删除功能
2019/08/21 PHP
人人网javascript面试题 可以提前实现下
2012/01/05 Javascript
javascript实现div浮动在网页最顶上并带关闭按钮效果实例
2013/08/13 Javascript
通过js简单实现将一个文本内容转译成加密文本
2013/10/22 Javascript
代码获取历史上的今天发生的事
2014/04/11 Javascript
javascript内置对象操作详解
2015/02/04 Javascript
如何改进javascript代码的性能
2015/04/02 Javascript
最简单的JavaScript验证整数、小数、实数、有效位小数正则表达式
2015/04/17 Javascript
纯css实现窗户玻璃雨滴逼真效果
2015/08/23 Javascript
Js的Array数组对象详解
2016/02/22 Javascript
Bootstrap菜单按钮及导航实例解析
2016/09/09 Javascript
Vue.js手风琴菜单组件开发实例
2017/05/16 Javascript
Angular2使用Angular CLI快速搭建工程(一)
2017/05/21 Javascript
详解react服务端渲染(同构)的方法
2017/09/21 Javascript
使用vue开发移动端管理后台的注意事项
2019/03/07 Javascript
详解keep-alive + vuex 让缓存的页面灵活起来
2019/04/19 Javascript
JavaScript TAB栏切换效果的示例
2020/11/05 Javascript
[02:11]2016国际邀请赛中国区预选赛全程回顾
2016/07/01 DOTA
盘点提高 Python 代码效率的方法
2014/07/03 Python
Python标准库与第三方库详解
2014/07/22 Python
Python实现截取PDF文件中的几页代码实例
2019/03/11 Python
Django 简单实现分页与搜索功能的示例代码
2019/11/07 Python
pytorch之添加BN的实现
2020/01/06 Python
Python3 ID3决策树判断申请贷款是否成功的实现代码
2020/05/21 Python
详解基于python的图像Gabor变换及特征提取
2020/10/26 Python
局部内部类是否可以访问非final变量?
2013/04/20 面试题
Linux上比较文件的命令都有哪些
2012/02/24 面试题
员工离职通知函
2015/04/25 职场文书
盗窃案辩护词
2015/05/21 职场文书
小平您好观后感
2015/06/09 职场文书
人生遥控器观后感
2015/06/11 职场文书
法制工作总结2015
2015/07/23 职场文书
幽默口才训练经典句子(48句)
2019/08/19 职场文书
Html分层的box-shadow效果的示例代码
2021/03/30 HTML / CSS