您現在可以開始撰寫 Earth Engine JavaScript,首先請將下列程式碼複製到程式碼編輯器:
程式碼編輯器 (JavaScript)
// Instantiate an image with the Image constructor. var image = ee.Image('CGIAR/SRTM90_V4'); // Zoom to a location. Map.setCenter(-112.8598, 36.2841, 9); // Center on the Grand Canyon. // Display the image on the map. Map.addLayer(image);
按一下程式碼編輯器頂端的「執行」按鈕,然後觀察地圖上顯示的灰色圖片。別擔心,很快就能讓它看起來更美觀。如果對這個範例中任何部分的語法不熟悉,請務必參閱 Earth Engine 的 JavaScript 教學課程。
Image Constructor
這個範例中的第一個新項目是 image 建構函式
ee.Image()
。提供給建構函式的引數是 Earth Engine 資料目錄中圖片的字串 ID。(如要查看圖片建構函式的所有可能引數,請參閱「程式碼編輯器」左側的「文件」分頁標籤。「文件」分頁會顯示 Earth Engine 的最新資訊,
如要找出圖片 ID,請使用程式碼編輯器頂端的搜尋工具,在 Earth Engine 資料目錄中搜尋。舉例來說,在搜尋欄位中輸入「elevation」,並注意系統傳回的點陣清單。按一下「SRTM Digital Elevation Data Version 4」(SRTM 數位高程資料第 4 版) 項目,即可查看該資料集的詳細資訊。資料集說明右側是「Image ID」(圖片 ID) 欄位。請注意,範例中的圖片 ID 是從資料集說明中顯示的圖片 ID 複製而來。
除了複製及貼上圖片 ID,您也可以使用資料集說明頁面上的「匯入」按鈕,或搜尋結果右側的「匯入」連結。如果您點選匯入連結或按鈕,系統會在指令碼頂端的特殊區段中自動建立變數,並命名為「Imports」。如要重新命名變數,請點選匯入部分中的變數名稱。
設定地圖
這個範例的第二個新部分是 Map.setCenter()
呼叫。這個 Map
物件的方法代表程式碼編輯器中的地圖顯示畫面,可將地圖置中於指定經緯度 (以十進位度數表示) 和縮放等級,其中 1 代表地圖縮小到顯示整個地球表面。較大的數字會從該處放大。如要探索 Map
物件的所有方法,請檢查程式碼編輯器左側「文件」分頁中的「地圖」部分。
在地圖中新增圖層
範例的最後一行指出:使用 Map
物件的 addLayer()
方法,將圖片新增至程式碼編輯器中的地圖顯示畫面。
恭喜!您已建立第一個 Earth Engine 指令碼。在下一節中,您將學習如何讓該圖片看起來更好看。
離題:Earth Engine 中的圖片
Earth Engine 中的圖片 (詳情請參閱這個頁面) 由一或多個波段組成。圖片中的每個波段都有自己的名稱、像素值、像素解析度和投影。您很快就會發現,SRTM 影像有一個頻帶:「elevation」。
使用 Map.addLayer()
將圖片新增至地圖時,Earth Engine 必須判斷如何將圖片波段中的值對應至顯示器上的顏色。如果將單一波段的影像新增至地圖,Earth Engine 預設會以灰階顯示波段,其中最小值會指派為黑色,最大值則指派為白色。如未指定最小值和最大值,Earth Engine 會使用預設值。舉例來說,您剛才新增至地圖的圖片會以灰階圖片顯示,並延展至資料的完整範圍,或是帶正負號的 16 位元整數 [-32768, 32767]。(float
頻帶會延展至 [0, 1],byte
頻帶則預設會延展至 [0, 255])。
如要瞭解圖片的資料類型,請列印圖片,並在「Console」(主控台) 分頁中檢查圖片物件。舉例來說,在先前的程式碼後方貼上下列程式碼:
程式碼編輯器 (JavaScript)
print('SRTM image', image);
按一下「執行」後,請注意控制台中會顯示物件。如要調查物件屬性,請點選物件或屬性左側的拉鍊圖示 () 展開。展開圖片物件、「bands」屬性、索引「0」的「elevation」頻帶,以及「elevation」頻帶的「data_type」屬性,即可發現這是
signed int16
資料型別。
自訂圖層視覺化
如要變更資料的延展方式,可以為 Map.addLayer()
呼叫提供其他參數。具體來說,第二個參數 visParams
可讓您指定要顯示的最小值和最大值。如要瞭解要使用的值,請啟用「檢查器」分頁標籤 ,然後在地圖上點選,瞭解像素值的範圍。或者,使用圖層管理工具以互動方式延展資料,然後觀察對應於百分位數或標準差延展的最小值和最大值。假設您透過這類實驗,判斷資料應延展至 [0, 3000]。如要使用這個範圍顯示圖片,請使用:
程式碼編輯器 (JavaScript)
Map.addLayer(image, {min: 0, max: 3000}, 'custom visualization');
請注意,visParams
參數是物件,其屬性會指定 min
和 max
。(如要進一步瞭解 JavaScript 物件,請參閱這篇 JavaScript 教學文章或這份外部參考資料)。請注意,Map.addLayer()
的第三個參數是顯示在圖層管理員中的圖層名稱。結果應如圖 1 所示。將滑鼠游標懸停在右側的「圖層」方塊上,即可查看重新命名該圖層的效果。

如要使用調色盤顯示單一波段,請將 palette
屬性新增至 visParams
物件:
程式碼編輯器 (JavaScript)
Map.addLayer(image, {min: 0, max: 3000, palette: ['blue', 'green', 'red']}, 'custom palette');
結果應如圖 2 所示。

離題:調色盤
調色盤可讓您設定單一頻帶圖片的色彩配置。調色盤是以半形逗號分隔的顏色字串清單,這些顏色字串會根據視覺化參數中的最大值和最小值 (或根據頻帶類型預設值,如先前所述) 進行線性插補。舉例來說,小於或等於最小值的像素會以清單中的第一個顏色顯示;大於或等於最大值的像素則會以清單中的最後一個顏色顯示。中間色會線性延展至中間像素值。
顏色是使用網頁標準 CSS 顏色值配置定義 (詳情請參閱這份外部參考資料)。顏色可以名稱指定,也可以用十六進位字串表示紅色、綠色和藍色的組合。三個位置的最低值為 00 (代表十進位數字 0),最高值為 FF (代表十進位數字 255)。字串「000000」代表黑色、「FFFFFF」代表白色、「FF0000」代表紅色、「00FF00」代表綠色,「0000FF」代表藍色。詳情請參閱「調色盤」一節。如本節所述,您可以使用樣式化圖層描述元,進行其他延展。
在本教學課程的後續章節中,您將瞭解如何顯示多波段影像。不過,請先前往下一頁,瞭解如何使用圖片執行運算。