優(yōu)秀的手機網(wǎng)站2345手機瀏覽器
1簡介
在本單元中,我們將討論以下概念:
Google 地球引擎中可用的潛在數(shù)據(jù)來源。
通過生態(tài)示例顯示的數(shù)據(jù)集采樣用例。
如何使用 Google 地球引擎訪問重要的元數(shù)據(jù)。
2背景
要將遙感集成到您的研究和分析中,學(xué)習(xí)如何解析 Google 地球引擎上可用的大量柵格數(shù)據(jù)集非常重要。了解這些數(shù)據(jù)的分類方式有助于開始此過程。如果您完全不知道從哪里開始,這里有一個非常有用的資源來細(xì)讀Google 地球引擎數(shù)據(jù)目錄中可用的一般柵格類別。對 Google 地球引擎中可用的所有柵格執(zhí)行各種級別的數(shù)據(jù)清理和圖像預(yù)處理,但對于本模塊,我們將專注于更廣泛的探索,為一些示例生態(tài)應(yīng)用程序?qū)ふ液线m的數(shù)據(jù)集。更多關(guān)于預(yù)處理差異和分析的信息可以在模塊 5中找到。
2.1數(shù)據(jù)類別:氣候和天氣
這些是傳達有關(guān)溫度、降水、蒸散以及其他大氣和氣象現(xiàn)象的信息的柵格。這些數(shù)據(jù)集通常用于幫助了解基于適當(dāng)棲息地的衍生范圍的物種或群落的生態(tài)位。重要的是要了解其中一些是通過插值方法創(chuàng)建的,該方法估計監(jiān)測站點之間地理空間中的值,而不是僅提供直接測量值的許多其他柵格。
示例集合:CHIRPS
該數(shù)據(jù)集包含各種氣候?qū)?#xff0c;包括溫度和降水,由俄勒岡州立大學(xué)的 PRISM 小組開發(fā)和監(jiān)測。當(dāng)我們試圖在景觀層面了解一個物種或一組物種的潛在生態(tài)位時,對氣候因素的空間理解是無價的。
使用 CHIRPS 數(shù)據(jù)集的 2018 年 5 月中非月降雨總量。
2.2數(shù)據(jù)類別:影像
在該組中,柵格捕獲與被動收集的太陽能有關(guān)的景觀特征,通常提供有關(guān)地面上真實世界元素(包括植物和土壤)的增強信息。需要注意的是,圖像柵格通常被分成許多子圖像(波段),這些子圖像(波段)對應(yīng)于特定的光波長范圍。許多圖像數(shù)據(jù)集用于創(chuàng)建可通過預(yù)建集合訪問的光譜索引(第8單元中對此進行了更多介紹)。
收集示例:MODIS
MODIS(中分辨率成像光譜儀)程序從兩個星載傳感器 Aqua 和 Terra 以及兩者的組合收集數(shù)據(jù)。除了表面反射率數(shù)據(jù)(包括積雪、地表溫度、葉面積指數(shù)和總初級生產(chǎn)力)之外,Google 地球引擎上還提供了許多衍生的 MODIS 產(chǎn)品。盡管其空間分辨率比其他一些影像數(shù)據(jù)集更粗糙,但許多 MODIS 產(chǎn)品具有較高的時間分辨率,從而導(dǎo)致時間序列密集。同一地理區(qū)域上的圖像之間的窗口低至八天。
MODIS 衍生的日本北部北海道島葉面積指數(shù)預(yù)測。
2.3數(shù)據(jù)類別:地球物理
該組中的柵格涵蓋范圍廣泛的地圖類型。海拔和地形索引圖對于定義物種棲息地的環(huán)境限制很有用,而土地覆蓋圖是方便的、預(yù)先打包的圖層,可用作分類數(shù)據(jù)或與您自己生成的圖像分類進行比較(更多內(nèi)容見第7單元)。
示例集合:NED
國家高程數(shù)據(jù)集 (NED) 是一個高質(zhì)量的數(shù)字高程模型 (DEM),它橫跨美國大陸以及阿拉斯加和夏威夷的部分地區(qū)。該數(shù)據(jù)集由來自美國各地的不同高程數(shù)據(jù)編譯而成,并經(jīng)過編輯以確保一致的空間分辨率、高程單位和坐標(biāo)系。NED 等高程圖像可用于創(chuàng)建地形指數(shù)、為洪水模型提供信息或?qū)Φ孛蔡卣鬟M行分類。
華盛頓和愛達荷州邊界上的美國國家高程數(shù)據(jù)集。
3圖像采集探索
現(xiàn)在我們已經(jīng)了解了我們可以使用的數(shù)據(jù)集的深度和廣度,我們可以花點時間詳細(xì)探索一個集合。我們將探索 Google Earth Engine 中更獨特的可用數(shù)據(jù)集之一:MODIS Daily Snow Cover 集合。這些數(shù)據(jù)使我們能夠查看一年中任何一天給定像素的積雪百分比。這些數(shù)據(jù)還可以創(chuàng)建每周、每月和每年的平均值,并已在以前的研究中用于分析和監(jiān)測積雪深度、積雪范圍和融雪。
3.1查找和加載集合
要開始探索 MODIS 積雪數(shù)據(jù)集,您可以通過以下兩種方式之一加載集合。首先,使用搜索欄,開始輸入“MYD10A1.006 Aqua Snow Cover Daily Global 500m”。
在搜索欄中輸入數(shù)據(jù)集名稱的結(jié)果。
如果我們點擊數(shù)據(jù)集的名稱,我們會看到一個彈出窗口,其中包含一個“導(dǎo)入”按鈕(以紅色突出顯示)。單擊此按鈕將自動將數(shù)據(jù)集加載到腳本工作區(qū)中。單擊“導(dǎo)入”按鈕(以紅色突出顯示)將加載 MODIS 積雪集合。
雖然使用導(dǎo)入按鈕很方便,但加載數(shù)據(jù)集的命令實際上并未寫入我們的腳本中。導(dǎo)入集合的另一種方法是復(fù)制它們的“ImageCollection ID”(在下面突出顯示)并將速記名稱粘貼到您的腳本中,如下所示:
// Load the image collection.
var dataset = ee.ImageCollection('MODIS/006/MYD10A1');
3.2快速地理搜索
現(xiàn)在我們已經(jīng)找到并加載了我們的圖像集合,運行下面的腳本來快速加載一些示例數(shù)據(jù):
// Load the image collection.
var dataset = ee.ImageCollection('MODIS/006/MYD10A1');// Limit the collection date range to 2018.
var dataset = dataset
.filterDate('2018-01-01', '2018-12-31');// Select the snow cover layer and compute the mean.
var snowCover = dataset
.select('NDSI_Snow_Cover')
.mean();// Define the visualization parameters and add the collection to the map.
var snowCoverVis = {min: 0.0, max: 100.0, palette: ['black', '0dffff', '0524ff', 'ffffff']};
Map.addLayer(snowCover, snowCoverVis, 'Snow Cover');
隨意放大到各個全球位置,以比較世界不同地區(qū)的數(shù)據(jù)。一個簡單的方法就是使用搜索欄。輸入“阿留申群島”或“冰島”或“尼泊爾”,您將看到潛在地理位置的列表。單擊任何名稱以自動重定向到該位置。請記住,您的腳本可能包含縮放到特定地理位置的代碼。所以要小心重新點擊那個運行按鈕!
在搜索欄中,輸入“尼泊爾”并放大以查看與此類似的圖像。
3.3探索集合屬性
找到并加載我們的集合后,了解對使用遙感數(shù)據(jù)感興趣的生態(tài)學(xué)家可用的圖像集合元數(shù)據(jù)非常重要。元數(shù)據(jù)對于我們?nèi)绾未_定給定特定研究系統(tǒng)或感興趣區(qū)域的圖像或圖像集合的適當(dāng)性很重要。以下主題討論了在 Google 地球引擎中圖像集合的元數(shù)據(jù)中發(fā)現(xiàn)的一些基本信息。
3.3.1空間分辨率
研究生態(tài)過程的最重要方面之一是對規(guī)模的理解。在遙感的背景下,這被稱為分辨率。具體來說,在柵格數(shù)據(jù)集中,這是像素大小的基本歐幾里德測量值,通常報告為柵格中像素一側(cè)的長度。了解空間分辨率與生態(tài)應(yīng)用的物理規(guī)模之間的關(guān)系很重要,可以快速幫助您縮小對適當(dāng)數(shù)據(jù)集的搜索范圍。
要查找我們數(shù)據(jù)集的空間分辨率,請再次鍵入數(shù)據(jù)集名稱并單擊搜索欄中的結(jié)果(即“MYD10A1.006 Aqua Snow Cover Daily Global 500m”)。有時,如果柵格中的所有波段都具有相同的分辨率,則此信息(以及比例單位)將顯示在標(biāo)題下。如果數(shù)據(jù)集中有多個分辨率,通常會有一個表格指示每個波段的空間分辨率。
MODIS 數(shù)據(jù)集的空間分辨率,以米為單位。這是一個相對較低的分辨率,更適合區(qū)域或全球分析。
3.3.2時間分辨率
在遙感領(lǐng)域,有許多數(shù)據(jù)集代表了在數(shù)天、數(shù)月或數(shù)年內(nèi)分析和解釋值的機會。時間分辨率是我們描述傳感器重訪周期的方式。如果一顆衛(wèi)星有一個既定的軌道模式,我們可以確定預(yù)計它經(jīng)過同一地理位置的日期甚至?xí)r間。例如,Landsat 計劃在兩周內(nèi)重新訪問同一位置,數(shù)據(jù)采集之間的特定時間分辨率為 16 天。Google Earth Engine 中可用的一些數(shù)據(jù)集可用于每日測量(即 MODIS),而其他數(shù)據(jù)集可能是每月(即 WorldClim)。
確定您研究區(qū)域中可用/可用圖像的日期范圍是否與您的觀察結(jié)果一致,或者計算有多少圖像落在您的 AOI + 日期范圍內(nèi),這可能是收集數(shù)據(jù)以進行潛在分析的重要第一步。從上面添加我們的腳本和下面的代碼,我們將打印出這些信息。要查找您自己的坐標(biāo),請單擊“檢查器”選項卡,然后單擊地圖。然后檢查員將獲取該點的坐標(biāo)(下面以紅色突出顯示)。
在“檢查器”選項卡處于活動狀態(tài)的情況下,單擊地圖可為我們提供緯度和經(jīng)度坐標(biāo)配對。
您的結(jié)果將根據(jù)您使用的坐標(biāo)而有所不同(嘗試幾個不同的坐標(biāo)!)但以下代碼應(yīng)將記錄總數(shù)(“計數(shù)”)和記錄的日期范圍打印到“控制臺”選項卡。您的結(jié)果可能會因您的坐標(biāo)而異,但格式應(yīng)類似于下圖。
var dataset = dataset
.filterBounds(ee.Geometry.Point(27.5487, 41.2568)); // Use your own coordinates here!// Print the number of images in the collection
print('Count: ', dataset.size());// Print the whole date range of the filtered collection.
var range = dataset.reduceColumns(ee.Reducer.minMax(), ["system:time_start"])
print('Date range: ', ee.Date(range.get('min')), ee.Date(range.get('max')));
Google Earth Engine 的“控制臺”選項卡中的輸出,指示我們集合中的圖像數(shù)量以及它們所涵蓋的日期范圍。
4結(jié)論
總之,我們剛剛開始探索使用 Google 地球引擎觸手可及的海量數(shù)據(jù)。我們還介紹了一些重要的元數(shù)據(jù),它們可以增強您的搜索并幫助確定您的圖像集是否已準(zhǔn)備好進行分析。有可能適合您的研究領(lǐng)域的數(shù)據(jù)集就在那??里。但是,如果您找不到合適的,請不要擔(dān)心!只需跳至第 4 單元,了解如何將您自己的數(shù)據(jù)引入 Google 地球引擎生態(tài)系統(tǒng)。
4.1完整的圖像采集探索腳本
// Load the image collection.
var dataset = ee.ImageCollection('MODIS/006/MYD10A1');// Limit the collection date range to 2018.
var dataset = dataset
.filterDate('2018-01-01', '2018-12-31');// Select the snow cover layer and compute the mean.
var snowCover = dataset
.select('NDSI_Snow_Cover')
.mean();// Define the visualization parameters and add the collection to the map.
var snowCoverVis = {min: 0.0, max: 100.0, palette: ['black', '0dffff', '0524ff', 'ffffff']};
Map.addLayer(snowCover, snowCoverVis, 'Snow Cover');var dataset = dataset
.filterBounds(ee.Geometry.Point(27.5487, 41.2568)); // Use your own coordinates here!// Print the number of images in the collection
print('Count: ', dataset.size());// Print the whole date range of the filtered collection.
var range = dataset.reduceColumns(ee.Reducer.minMax(), ["system:time_start"])
print('Date range: ', ee.Date(range.get('min')), ee.Date(range.get('max')));