日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

GEE学习笔记(基础篇)更新中

發布時間:2024/3/13 编程问答 33 豆豆
生活随笔 收集整理的這篇文章主要介紹了 GEE学习笔记(基础篇)更新中 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

一、GEE基礎
Image:基礎的柵格(raster)數據;
ImageCollection:一系列或一段時間的Image數據集;
Geometry:基礎的向量(vector)數據;
Feature:有屬性的Geometry數據;
FeatureCollection:一系列Feature數據集;
Reducer:計算統計數據或聚合數據的object
Join:通過時間空間或者屬性來組合數據;
Array:可以進行多維的數據分析 作者:還行圣母院 https://www.bilibili.com/read/cv8414359 作者:還行圣母院 出處:bilibili
客戶端(client)和服務器端(server)的函數不可混用。
大寫字母開頭的是名詞,小寫字母開頭的是動詞。
使用[]來聲明一個列表,可以包含一列數字、字符串或物體(object)。
使用{}來聲明一個物體,作為字典或屬性的描述。
自定義函數。聲明一個函數的名字,后邊用這個名字來調用該函數。之后使用function關鍵字來創建自己的方法,用()括起來需要的形參(argument)名(形參在函數外部不可見),在{}中寫函數的功能以及返回值。
物體:

// Use curly brackets {} to make a dictionary of key:value pairs. var object ={foo: 'bar',baz: 13,stuff: ['this', 'that', 'the other thing'] }; print('Dictionary:', object); // Access dictionary items using Square brackets.用中括號訪問元素 print('Print foo:', object['foo']); // Access dictionary items using dot notation.用點來訪問元素 print('Print stuff:', object.stuff);

二、
ee.Image()函數創造一個image實例

var image = ee.Image('CGIAR/SRTM90_V4'); //Zoom to a location.放大到目標地點,參數9的意思是縮放等級,越大意味著放大(zoom in)的越厲害。1級就是最大的全球尺度 spm_id_from=333.999.0.0 Map.setCenter(-112.8598, 36.2841, 9);

使用Map.addLayer()方法來添加圖層

GEE中的每個圖像都由一到多個波段組成,每個波段都有name,pixel values(像素的值),pixel
resolution(像素分辨率),和projection(投影)**這四個屬性。
當使用Map.setCenter()方法來添加圖像時,需要設置如何顯示:
如果是單一波段,就顯示其灰度值(最小值黑色,最大值白色)(默認值如下:int整形范圍為[-32768,
32767];float浮點型拉伸到[0,1];byte比特拉伸到[0,255])。通過打印image這個變量,在console控制臺會出現一個object,可以查看其各個屬性。

改變圖層顯示方式:

通過添加Map.setCenter()方法中的另一個參數visParams(數據類型為object)來自定義圖層的顯示方式。
可以拉伸像素值的最大最小值(可以改變圖像對比度); Map.setCenter()方法的第三個參數是圖層的名字(字符串)。 通過添加向參數visParams添加palette(調色盤)屬性(數據類型為list)給單一波段加顏色

調色盤(Palettes):

調色盤通過一個顏色列表來線性的/漸變的給像素值一個顏色。這個顏色用的是CSS方案,可以直接給定**顏色的名字(比如blue)*或者給出hexadecimal值(比如0000FF)

如:

//給定像素值的最大最小值來拉伸圖像

Map.addLayer(image, {min: 0, max: 3000}, 'custom visualization');

//給單波段圖像增加顏色,最小值藍色,最大值紅色,中間值線性綠色漸變

Map.addLayer(image, {min: 0, max: 3000, palette: ['blue', 'green', 'red']}, 'custom palette');

展示RGB圖像:

GEE會默認使用多波段圖像的前三個波段,按照紅綠藍的順序拉伸像素值之后展示,默認圖像看起來不太好看,需要根據所使用的衛星數據來調整顯示的波段(比如Landsat8的真彩色就是B4B3B2對應紅綠藍;假彩色就是B5B4B3對應紅綠藍),并給定合適的拉伸范圍

三、圖像數學

圖像計算

ee.Image類中也有大量的計算方法,例如可以用不同波段來計算(band math or map algebra)
用sin()方法進行三角函數計算 使用add(), subtract(), multiply()方法也可以進行相應計算。

圖像統計:

通過使用ee.Reducer類來進行圖像的統計計算。比如可以計算某一區域高程的平均值,可以通過多邊形工具(polygon
drawing
tools)來選取區域,之后數字化(digitize)這個多邊形,點擊Exit按鈕得到結果。代碼界面的上方會出現自動出現import。

GEE中的尺度:

可以通過如下方法獲得圖像的默認分辨率

var scale = srtm.projection().nominalScale();

如果設定的尺度低于圖像默認分辨率,GEE會用最鄰近法(nearest neighbor)進行重采樣(resample);
如果高于圖像默認分辨率,GEE也會做出相應的處理。

計算坡度:// Load the SRTM image. var srtm = ee.Image('CGIAR/SRTM90_V4'); // 計算坡度的方法 var slope = ee.Terrain.slope(srtm); // 展示結果 Map.setCenter(-112.8598, 36.2841, 9); Map.addLayer(slope, {min: 0, max :60}, 'slope');//**計算三角函數:**// Get the aspect (in degrees). var aspect = ee.Terrain.aspect(srtm); // Convert to radians, compute the sin of the aspect.轉化成弧度再計算 var sinImage = aspect.divide(180).multiply(Math.PI).sin(); // 展示結果 Map.addLayer(sinImage, {min: -1, max: 1}, 'sin');//計算平均高程:// Compute the mean elevation in the polygon. var meanDict = srtm.reduceRegion({reducer: ee.Reducer.mean(),geometry: polygon,scale: 90 }); // Get the mean from the dictionary and print it. var mean = meanDict.get('elevation'); print('Mean elevation', mean);

總結

以上是生活随笔為你收集整理的GEE学习笔记(基础篇)更新中的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。