地图可视化神器kepler.gl python接口的使用方法

作者:费弗里 时间:2022-05-07 00:10:57 

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()

来源:https://www.cnblogs.com/feffery/p/14164546.html

标签:python,地图可视化,kepler.gl
0
投稿

猜你喜欢

  • python基于opencv实现人脸识别

    2021-10-15 12:49:16
  • jQuery模板提案

    2010-03-30 18:27:00
  • 如何基于线程池提升request模块效率

    2023-06-12 11:13:44
  • 使用Python三角函数公式计算三角形的夹角案例

    2022-12-06 04:09:33
  • python实现粒子群算法

    2021-03-20 02:27:34
  • python中map()与zip()操作方法

    2023-11-11 08:09:29
  • 基于python框架Scrapy爬取自己的博客内容过程详解

    2021-12-21 06:39:30
  • Python发送form-data请求及拼接form-data内容的方法

    2022-11-14 09:55:15
  • js查找/搜索页面中的字符源代码

    2008-02-17 17:13:00
  • Python实现注册登录系统

    2021-10-21 20:01:05
  • Python使用Beautiful Soup爬取豆瓣音乐排行榜过程解析

    2023-10-13 08:08:24
  • Python 在局部变量域中执行代码

    2023-06-12 04:57:15
  • Numpy np.array()函数使用方法指南

    2023-05-23 09:33:37
  • python代码实现小程序登录流程时序总结

    2022-10-16 17:30:14
  • ASP 关于动态数据显示页面得锚点

    2007-11-04 20:28:00
  • go语言LeetCode题解720词典中最长的单词

    2023-08-05 19:46:04
  • python中requests模块的使用方法

    2021-12-27 23:16:29
  • 浅谈keras中的batch_dot,dot方法和TensorFlow的matmul

    2023-04-08 07:21:28
  • Python实现提取给定网页内的所有链接

    2022-03-29 19:01:11
  • 需要使用php模板的朋友必看的很多个顶级PHP模板引擎比较分析

    2023-11-19 02:10:43
  • asp之家 网络编程 m.aspxhome.com