利用Google Earth Engine 下载遥感影像
文章目錄
- Introduction
- What is the Google Earth Engine?
- Pre-processing and download data
- Conclusion
- Reference
Introduction
使用 Google Earth Engine Python API 和 FireHR 實用程序函數,您可以輕松下載地球上任何選定區域的時間序列或無云合成。在 Google Colab 上試用!
Sentinel-2 俯瞰里斯本和特茹河。作者使用從 Google Earth Engine 下載的 Sentinel-2 數據制作的圖像。
在這篇博文中,您將了解Google 地球引擎,以及如何輕松下載地球上任何地方的Sentinel-2 10 米空間分辨率衛星圖像。
What is the Google Earth Engine?
“Google Earth Engine 將數 PB 的衛星圖像和地理空間數據集目錄與行星尺度分析功能相結合,使科學家、研究人員和開發人員能夠檢測變化、繪制趨勢圖并量化地球表面的差異。”
換句話說,它是一種免費提供的服務,它結合了大量的全局數據集,如果沒有超級計算機,這些數據集通常是無法處理的。
Sentinel-2數據就是一個很好的例子,因為它由空間分辨率高達 10 米的多光譜衛星圖像和 5 天的軌道重訪周期組成,同時考慮了 Sentinel-2A 和 Sentinel-2B 衛星。
舉個例子,如果你正在學習100×100公里,數據空間分辨率的區域為10米,你的圖像尺寸為10000×10,000像素。如果圖像以 16 位精度存儲而未壓縮,則每個通道為 1,600,000,000 位或 200 MB。如果需要三個通道,它已經是 600 MB 的數據。現在假設您想在 1 年內每 5 天下載一個這樣的圖像(以獲得土地變化的時間序列),并且您獲得近 45 GB 的數據。請記住,這只是一個 100 x 100 公里的區域。Google Earth Engine在全球范圍內提供這些數據和快速處理能力。
有多種使用 Google Earth Engine 的方法。首先,有網絡編輯器,您可以在其中創建在 google 服務器中運行的腳本,并將結果發送回瀏覽器,在那里它顯示在動態地圖中(參見下圖作為示例)。
Google Earth Engine 網絡編輯器的截屏。https://code.earthengine.google.com/
Web 編輯器的一個可能限制是它要求用戶使用 JavaScript。但是仍然有很多例子可以開始。
對于 Python 用戶來說幸運的是,有一個Python API允許 Earth Engine 和 Python 之間進行交互。在下一節中,我將展示如何輕松地使用 Google Earth Engine 作為預處理和下載 geotiff 格式數據的工具。
Pre-processing and download data
在本節中,我將展示您如何使用FireHR實用程序函數(在后臺使用 Google Earth Engine Python API)輕松下載您選擇的任何地區和時間的數據。
FireHR 是我最近開發的一個 Python 庫,用于使用 Sentinel-2 數據繪制燃燒區域(您可以在這篇科學論文中找到更多詳細信息)。data但是,FireHR 包中的模塊可以更廣泛地用于下載數據,這就是本文的重點!例如,由于某些大小限制,必須在小塊中從 Earth Engine 下載。這些圖塊需要重新組合成全尺寸區域。FireHR 代碼在幕后完成所有的耕作和合并。
讓我們看一個例子!
作為示例,上面的代碼顯示了如何下載 Sentinel-2 數據(第 11 行)帶紅色、綠色和藍色(第 12 行)的區域,該區域由第 5-8 行定義的邊界框坐標分隔。本示例中選擇的區域對應于德國柏林附近正在建設中的特斯拉超級工廠之一的位置。選定的時間間隔從 3 月 1 日開始,到 4 月 25 日結束,這樣綜合報告將提供截至撰寫本故事之日的施工進度的最新概覽。第download_data23 行中的函數將搜索區間內的所有可用圖像,并計算具有最低云量覆蓋率的三幅圖像的中值,如參數所定義use_least_cloudy其值設置為 3。請注意,過濾和合成是在 Google Earth Engine 服務器中完成的,因此這是一個非常快速的過程。僅下載最終合成并保存為 GeoTIFF 文件。這節省了大量的處理時間和所需的存儲空間!
下圖顯示了之前代碼中示例的結果。您可以按照此 URL在 Google Colab 筆記本上運行它。Colab notebook 上的代碼還有一個download_data_ts功能,可以用來下載選定日期內的所有圖像,而不是創建合成圖。
注意:有關 Google Earth Engine 上可用的 Sentinel-2 數據集的更多信息,請務必查看目錄頁面。您可以在那里找到有關光譜帶和元數據的所有信息。
Conclusion
FireHRPython 包中提供的代碼可用作從 Google Earth Engine 下載 Sentinel-2 數據的通用工具。從其他產品(如 Landsat)下載數據也應該是可能的,但尚未經過測試。如果您需要針對您的應用程序進行調整,您當然可以查看GitHub 上的FireHR 源代碼。
Reference
https://towardsdatascience.com/how-to-download-high-resolution-satellite-data-for-anywhere-on-earth-5e6dddee2803
總結
以上是生活随笔為你收集整理的利用Google Earth Engine 下载遥感影像的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 数论入门符号_大o符号快速入门
- 下一篇: 【解决方法】 Flash cs4 安装之