Python+Kepler.gl實(shí)現(xiàn)時(shí)間輪播地圖過(guò)程解析
前言
1 簡(jiǎn)介
Kepler.gl作為一款強(qiáng)大的開源地理信息數(shù)據(jù)可視化工具,可以幫助我們輕松制作針對(duì)大規(guī)模矢量數(shù)據(jù)的可視化作品,從而輔助數(shù)據(jù)分析工作。
Kepler.gl制作常規(guī)地圖非常簡(jiǎn)單方便,稍微摸索一下儀表盤界面就可以get到用法,但有些特殊的地圖則需要額外對(duì)數(shù)據(jù)進(jìn)行處理或使用Kepler.gl中的一些隱藏功能,比如之前寫過(guò)的Python+Kepler.gl輕松制作酷炫路徑動(dòng)畫中介紹過(guò)的動(dòng)態(tài)路徑地圖。本文將要介紹的「時(shí)間輪播地圖」也是一種比較特殊的地圖,下面我們就將結(jié)合實(shí)際例子進(jìn)行介紹。
2 Python+Kepler.gl制作時(shí)間輪播地圖
2.1 實(shí)例:Uber出行乘客上下車信息
我們以Uber官方提供的2015年某日紐約乘客上下車數(shù)據(jù)為例,對(duì)應(yīng)文章開頭Github倉(cāng)庫(kù)中的data.csv,關(guān)于Python+Kepler.gl的環(huán)境配置可以回顧Python+Kepler.gl輕松制作酷炫路徑動(dòng)畫中的相關(guān)內(nèi)容。
首先我們讀入data.csv數(shù)據(jù):
import pandas as pdfrom keplergl import KeplerGl
raw = pd.read_csv(’data.csv’)raw.head()
需要注意我們的數(shù)據(jù)中除了必要的經(jīng)緯度點(diǎn)信息之外,包含了tpep_pickup_datetime與tpep_dropoff_datetime兩列日期格式的數(shù)據(jù),這是繪制日期輪播地圖的關(guān)鍵,即我們的數(shù)據(jù)集中針對(duì)每行數(shù)據(jù)記錄必須有與之相對(duì)應(yīng)的時(shí)間信息。
數(shù)據(jù)準(zhǔn)備完畢,使用下列代碼向外部導(dǎo)出Kepler.gl對(duì)應(yīng)的html文件,因?yàn)樗幸曈X(jué)元素我們都單獨(dú)手動(dòng)調(diào)整,這里只需要將目標(biāo)數(shù)據(jù)嵌入html文件即可:
map1 = KeplerGl(height=800, data={’layer1’: raw}) # 生成Kepler.gl網(wǎng)頁(yè)map1.save_to_html(file_name=’時(shí)間輪播地圖示例1.html’, data={’layer1’: raw}) # 導(dǎo)出網(wǎng)頁(yè)
在外部打開前面導(dǎo)出的html文件,初始界面如圖2:
首先刪除掉側(cè)邊欄Kepler.gl自動(dòng)識(shí)別創(chuàng)建出的全部圖層,我們自己手動(dòng)創(chuàng)建所需的圖層,以O(shè)D線為例:
接著根據(jù)數(shù)據(jù)本身屬性進(jìn)行適當(dāng)?shù)囊曈X(jué)元素的調(diào)整,這部分看個(gè)人喜好,具體步驟略過(guò):
接下來(lái)到最重要的步驟,打開左上角的篩選面板:
點(diǎn)擊「Add Filter」,選擇想要作為時(shí)間輪播依據(jù)信息的字段:
地圖右下角隨即出現(xiàn)時(shí)間輪播部件:
可以在時(shí)間輪播部件中設(shè)置時(shí)間窗口跨度、播放速度等,下面是我制作出的效果,因?yàn)閯?dòng)圖錄制幀數(shù)不宜太高,實(shí)際比動(dòng)圖中要流暢很多,你也可以自己自由探索:
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持好吧啦網(wǎng)。
相關(guān)文章:
1. Django中的AutoField字段使用2. Django ORM實(shí)現(xiàn)按天獲取數(shù)據(jù)去重求和例子3. 解決docker與vmware的沖突問(wèn)題4. IntelliJ Idea 2020.1 正式發(fā)布,官方支持中文(必看)5. IntelliJ IDEA設(shè)置自動(dòng)提示功能快捷鍵的方法6. asp.net core應(yīng)用docke部署到centos7的全過(guò)程7. Java 3D的動(dòng)畫展示(Part1-使用JMF)8. Python基于jieba, wordcloud庫(kù)生成中文詞云9. 如何在vue3.0+中使用tinymce及實(shí)現(xiàn)多圖上傳文件上傳公式編輯功能10. 刪除docker里建立容器的操作方法
