地图可视化神器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 json模块使用实例
Apr 11 Python
Python迭代和迭代器详解
Nov 10 Python
Python中Selenium模拟JQuery滑动解锁实例
Jul 26 Python
详解python实现读取邮件数据并下载附件的实例
Aug 03 Python
python的pip安装以及使用教程
Sep 18 Python
对Python定时任务的启动和停止方法详解
Feb 19 Python
Python3获取电脑IP、主机名、Mac地址的方法示例
Apr 11 Python
解决pyqt5中QToolButton无法使用的问题
Jun 21 Python
PyQt5响应回车事件的方法
Jun 25 Python
100行Python代码实现每天不同时间段定时给女友发消息
Sep 27 Python
Python爬虫爬取电影票房数据及图表展示操作示例
Mar 27 Python
手把手教你将Flask应用封装成Docker服务的实现
Aug 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函数解决SQL injection
2006/12/09 PHP
PHP strtr() 函数使用说明
2008/11/21 PHP
PHP执行zip与rar解压缩方法实现代码
2010/12/05 PHP
php 保留字列表
2012/10/04 PHP
PHP上传Excel文件导入数据到MySQL数据库示例
2016/10/25 PHP
thinkPHP引入类的方法详解
2016/12/08 PHP
基于 Swoole 的微信扫码登录功能实现代码
2018/01/15 PHP
ThinkPHP防止重复提交表单的方法实例分析
2018/05/10 PHP
jQuery操作input type=radio的实现代码
2012/06/14 Javascript
javascript定义变量时加var与不加var的区别
2014/12/22 Javascript
javascript中mouseover、mouseout使用详解
2015/07/19 Javascript
原生JavaScript制作微博发布面板效果
2016/03/11 Javascript
Bootstrap布局方式详解
2016/05/27 Javascript
浅析Node.js实现HTTP文件下载
2016/08/05 Javascript
jQuery flip插件实现的翻牌效果示例【附demo源码下载】
2016/09/20 Javascript
JavaScript微信定位功能实现方法
2016/11/29 Javascript
vue组件父与子通信详解(一)
2017/11/07 Javascript
Node.js log4js日志管理详解
2018/07/31 Javascript
vue.js 图片上传并预览及图片更换功能的实现代码
2018/08/27 Javascript
基于vue-cli、elementUI的Vue超简单入门小例子(推荐)
2019/04/17 Javascript
如何利用vue+vue-router+elementUI实现简易通讯录
2019/05/13 Javascript
layui实现三级导航菜单
2019/07/26 Javascript
在layui框架中select下拉框监听更改事件的例子
2019/09/20 Javascript
这样回答继承可能面试官更满意
2019/12/10 Javascript
JavaScript进阶(二)词法作用域与作用域链实例分析
2020/05/09 Javascript
python使用在线API查询IP对应的地理位置信息实例
2014/06/01 Python
python自动截取需要区域,进行图像识别的方法
2018/05/17 Python
python2.x实现人民币转大写人民币
2018/06/20 Python
Python字符串的修改方法实例
2019/12/19 Python
Python绘图之柱形图绘制详解
2020/07/28 Python
Opencv 图片的OCR识别的实战示例
2021/03/02 Python
GLAMGLOW格莱魅美国官网:美国知名的面膜品牌
2016/12/31 全球购物
商场中秋节广播稿
2014/01/17 职场文书
旅游网创业计划书
2014/01/31 职场文书
给女朋友的道歉短信
2015/05/12 职场文书
学生病假条怎么写
2015/08/17 职场文书