地图可视化神器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 相关文章推荐
DJANGO-ALLAUTH社交用户系统的安装配置
Nov 18 Python
python将ip地址转换成整数的方法
Mar 17 Python
Python3通过Luhn算法快速验证信用卡卡号的方法
May 14 Python
python插入排序算法实例分析
Jul 03 Python
python连接字符串的方法小结
Jul 13 Python
浅谈python为什么不需要三目运算符和switch
Jun 17 Python
Python3.x爬虫下载网页图片的实例讲解
May 22 Python
Windows 8.1 64bit下搭建 Scrapy 0.22 环境
Nov 18 Python
解决pycharm每次新建项目都要重新安装一些第三方库的问题
Jan 17 Python
基于python tkinter的点名小程序功能的实例代码
Aug 22 Python
教你用Python爬取英雄联盟皮肤原画
Jun 13 Python
Python基础之变量的相关知识总结
Jun 23 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
全国FM电台频率大全 - 15 山东省
2020/03/11 无线电
php截取字符串函数substr,iconv_substr,mb_substr示例以及优劣分析
2014/06/10 PHP
php微信开发之音乐回复功能
2018/06/14 PHP
ThinkPHP 3.2.3实现加减乘除图片验证码
2018/12/05 PHP
微信公众平台开发教程⑤ 微信扫码支付模式介绍
2019/04/10 PHP
jquery方法+js一般方法+js面向对象方法实现拖拽效果
2012/08/30 Javascript
基于jquery实现拆分姓名的方法(纯JS版)
2013/05/08 Javascript
$(document).ready(function() {})不执行初始化脚本
2014/06/19 Javascript
JQuery boxy插件在IE中边角图片不显示问题的解决
2015/05/20 Javascript
微信小程序Server端环境配置详解(SSL, Nginx HTTPS,TLS 1.2 升级)
2017/01/12 Javascript
JavaScript生成图形验证码
2020/08/24 Javascript
vue中v-model动态生成的实例详解
2017/10/27 Javascript
Nodejs模块载入运行原理
2018/02/23 NodeJs
原生JS实现的轮播图功能详解
2018/08/06 Javascript
JavaScript ES6中的简写语法总结与使用技巧
2018/12/30 Javascript
微信小程序自定义弹窗实现详解(可通用)
2019/07/04 Javascript
Python实现windows下模拟按键和鼠标点击的方法
2015/03/13 Python
python GUI图形化编程wxpython的使用
2019/07/19 Python
Keras 利用sklearn的ROC-AUC建立评价函数详解
2020/06/15 Python
python中绕过反爬虫的方法总结
2020/11/25 Python
CSS3 实用技巧:实现黑白图像效果示例代码
2013/07/11 HTML / CSS
基于html5实现的图片墙效果
2014/10/16 HTML / CSS
html5中的一些标签学习(心得)
2016/10/18 HTML / CSS
Soft Cotton捷克:来自爱琴海棉花的浴袍
2017/02/01 全球购物
梅西百货澳大利亚:Macy’s Australia
2017/07/26 全球购物
编程实现去掉XML的重复结点
2014/05/28 面试题
生产部统计员岗位职责
2014/01/05 职场文书
魅力教师事迹材料
2014/01/10 职场文书
委托书如何写
2014/08/30 职场文书
2014年作风建设工作总结
2014/10/29 职场文书
2015年班组长工作总结
2015/04/10 职场文书
财务会计个人原因辞职信
2019/06/21 职场文书
详解Python函数print用法
2021/06/18 Python
Python echarts实现数据可视化实例详解
2022/03/03 Python
Python读写yaml文件
2022/03/20 Python
MySQL索引 高效获取数据的数据结构
2022/05/02 MySQL