地图可视化神器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爬虫实现网页信息抓取功能示例【URL与正则模块】
May 18 Python
win7下python3.6安装配置方法图文教程
Jul 31 Python
python pexpect ssh 远程登录服务器的方法
Feb 14 Python
Python3中列表list合并的四种方法
Apr 19 Python
Python+threading模块对单个接口进行并发测试
Jun 25 Python
Django用户认证系统 User对象解析
Aug 02 Python
Python实现代码统计工具
Sep 19 Python
Django框架HttpRequest对象用法实例分析
Nov 01 Python
解决django model修改添加字段报错的问题
Nov 18 Python
python代码实现TSNE降维数据可视化教程
Feb 28 Python
Python多线程实现支付模拟请求过程解析
Apr 21 Python
python录音并调用百度语音识别接口的示例
Dec 01 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
Classes and Objects in PHP5-面向对象编程 [1]
2006/10/09 PHP
php 对输入信息的进行安全过滤的函数代码
2012/06/29 PHP
给WordPress的编辑后台添加提示框的代码实例分享
2015/12/25 PHP
thinkphp3.x自定义Action、Model及View的简单实现方法
2016/05/19 PHP
解决tp5在nginx下修改配置访问的问题
2019/10/16 PHP
学习YUI.Ext 第二天
2007/03/10 Javascript
javascript事件问题
2009/09/05 Javascript
jquery.validate.js插件使用经验记录
2014/07/02 Javascript
JavaScript实现的链表数据结构实例
2015/04/02 Javascript
一看就懂:jsonp详解
2015/06/01 Javascript
AngularJS教程之环境设置
2016/08/16 Javascript
Bootstrap table表格简单操作
2017/02/07 Javascript
微信小程序实现基于三元运算验证手机号/姓名功能示例
2019/01/19 Javascript
介绍Python中的__future__模块
2015/04/27 Python
浅谈用VSCode写python的正确姿势
2017/12/16 Python
python实现抖音视频批量下载
2018/06/20 Python
关于tf.TFRecordReader()函数的用法解析
2020/02/17 Python
基于Python第三方插件实现西游记章节标注汉语拼音的方法
2020/05/22 Python
详解Python中如何将数据存储为json格式的文件
2020/11/18 Python
利用SVG和CSS3来实现一个炫酷的边框动画
2015/07/22 HTML / CSS
用css3实现转换过渡和动画效果
2020/03/13 HTML / CSS
全球速卖通巴西站点:Aliexpress巴西
2016/08/24 全球购物
Radley英国官网:英国莱德利小狗包
2019/03/21 全球购物
日本热销NO.1胶原蛋白冻:Aishitoto爱希特多
2019/06/20 全球购物
护理工作感言
2014/01/16 职场文书
写给老师的表扬信
2014/01/21 职场文书
《月亮湾》教学反思
2014/04/14 职场文书
卫生厅领导班子党的群众路线教育实践活动整改措施
2014/09/20 职场文书
党员贯彻十八大精神思想汇报范文
2014/10/25 职场文书
初中家长评语大全
2014/12/26 职场文书
聘任证明怎么写
2015/03/02 职场文书
保研推荐信范文
2015/03/25 职场文书
护士求职自荐信
2015/03/25 职场文书
2015年科普工作总结
2015/07/23 职场文书
家长会感言
2015/08/01 职场文书
Python可视化学习之seaborn绘制矩阵图详解
2022/02/24 Python