02.28 解密:谷歌全球73.9TB衛星影像是如何下載完成的


1. 概述

真是應了那句話,千里之行始於足下,全球谷歌衛星地圖數據下載項目,歷時半年多之久,現在終於全部下載完成了!現在我們把一些經驗和心得與大家進行分享。

2. 下載全球衛星影像數據的前因後果

由於有眾多客戶對全球數據有需求,都希望可以建立一個離線查看的本地谷歌地球,我們大概在三年前就啟動了全球數據下載計劃但卻一直無果而終。原因有很多,任務分配太多導致數據混亂,中途被其它事情打斷擱置等等。但最主要的原因,可能還是沒有下定足夠的決心。

解密:谷歌全球73.9TB衛星影像是如何下載完成的

全球數據

直到去年,在一個項目需求的推動下,我們才又重新把此事提上日程,其實當時我們心裡也在打鼓,全球數據這麼大,要下載到何年何月呢?再加上以前下載的數據十分凌亂,在梳理過程中還發現很多數據存在錯誤,居然有沒下載完就入庫的情況,一時間還真不知道該如何辦才好。看著已經接近下載了一半的數據,該繼續整理還是從頭再來?這著實是一個難以取捨的問題。

後來我們乾脆花了兩天時間進行了認真的下載測試分析,發現下載速度其實比想像的快很多,再根據需要下載的文件數與數據量大小進行了充分的估算之後,覺得下載全球數據應該沒有想像那麼難,也應該花不到太長的時間。於是,最後下定決心從頭開始!

以前下載全球數據時,是負責開發的同事用代碼一次性生成好了所有任務,再分別分配到每一臺電腦。由於該工作不需要全天候職守,且下載數據的電腦比較多,一旦記錄沒有作仔細,原本簡單的事稍不留神就會讓數據混亂。基於上述原因,我這次不採用同事生成好的任務,而是每一組任務都通過手動建立,且只用四臺電腦下載。這樣的工作方式看起來慢實則最快,這種笨辦法可以讓每臺電腦下載數據的情況心中有數,正所謂欲速則不達!

最後,如文中開頭所述,該項目在三個小夥伴的共同努力下,歷時半年,終於圓滿完成!下面我們將會對全球數據情況及參數作一些簡單的說明。如果你也想下載谷歌全球衛星影像數據,請關注我們"並回復"全球數據",我們將會在群中毫無保留地與你分享!

3. 全球數據參數與概況

這裡下載的全球數據,數據源為谷歌地球,座標投影為WGS84經緯度投影,無偏移無水印。數據級別為1到19級,一共73.9TB大小,如下圖所示。

解密:谷歌全球73.9TB衛星影像是如何下載完成的

全球衛星影像73.9TB

全球數據共分為6個文件夾,其中"World_L2_10"是存儲的全於2到10級影像數據,其它五個文件夾為全於10-19級影像數據,一共分成了5部分,如下圖所示。

解密:谷歌全球73.9TB衛星影像是如何下載完成的

數據共分6組

全球數據的每一個文件分塊由一組DAT和IDX組成,通過搜索DAT文件可以檢索出所有的影像數據分塊文件。全球數據文件基於第10級瓦片為金字塔塔尖對10到19級進行分塊,一共131072個塊,再加上2到10級以內的兩個分塊,一共131074個分塊文件,如下圖所示。

解密:谷歌全球73.9TB衛星影像是如何下載完成的

共131074個文件分塊

2到10級以內的數據分塊文件名稱分別為"2_1_1"和"2_2_1",10到19級文件分塊從"10_1_1"開始,如下圖所示。

解密:谷歌全球73.9TB衛星影像是如何下載完成的

按文件名稱排序的起始位置

文件"2_1_1"和"2_2_1"對應2到10級影像分塊,如下圖所示。

解密:谷歌全球73.9TB衛星影像是如何下載完成的

第2到10級分塊

文件"10_1_1"對應基於全球左上角的瓦片分塊,如下圖所示。

解密:谷歌全球73.9TB衛星影像是如何下載完成的

第10到19給分塊左上角為起始位置

10到19級文件分塊到"10_512_256"結束,如下圖所示。

解密:谷歌全球73.9TB衛星影像是如何下載完成的

按文件名稱排序的結束位置

文件"10_512_256"對應基於全球左上角的瓦片分塊,如下圖所示。

解密:谷歌全球73.9TB衛星影像是如何下載完成的

第10到19給分塊右下角結束位置

將所有文件按下載完成時間進行排序,最早完成時間為2019年7月14日12點23分,如下圖所示。

解密:谷歌全球73.9TB衛星影像是如何下載完成的

按下載完成時間排序的起始位置

最晚完成下載的時間為2020年2月20日22點41分,如下圖所示。

解密:谷歌全球73.9TB衛星影像是如何下載完成的

按下載完成時間排序的結束位置

將所有文件按大小進行排序,最小的影像只有1KB,這種數據非常小的文件主要分佈在南北級基本無影像數據的區域。

解密:谷歌全球73.9TB衛星影像是如何下載完成的

按文件大小排序的起始位置

最大的數據達8G之多,如下圖所示。

解密:谷歌全球73.9TB衛星影像是如何下載完成的

按文件大小排序的結束位置

其中,文件"10_108_84"是全球數據中最大的分塊,一共8.33GB,如下圖所示。

解密:谷歌全球73.9TB衛星影像是如何下載完成的

最大的文件8.33GB

4. 新手如何下載全球數據?

從上述說明已經可以看出,下載全球數據是通過分塊進行下載的,但新建任務時我的方法是基於第10級,一次下載4列,每列256個任務塊,也就是一次新建1024個任務分塊。具體下載的方法,可以通過關注我們並回復"全球數據",我們將會在群中毫無保留地與你分享!另外,還可以通過觀看在線直播回放的方式為你解密全球數據下載技術!

5. 總結

最後,如果你有需要,我們也可以為你提供全球離線二三維GIS系統的解決方案。接下來,我們將用同樣的方法,計劃下載全國以及全球1-21級數據,這是一個更有挑戰性的工程,也希望有朝一日能順利完成!


分享到:


相關文章: