文章目录
- Image
- GEE自带
- ee.Image/ee.Image.Constant
- ee.Image.pixelLonLat
- Image.mask
- clip
- Image.select
- Image.slice
- Image.addBands
- Image.reproject
- Image.rgbtohsv / hsvtorgb
- Image.uint8()
- Image.cast()
- Image.set / Image.setMulti
- Image.remap()
- Image.where()
- Image.metadata()
- Image.clamp
- Image.uintScale()
- Image.interpolate
- 比较 Image.eq/neq/gt/gte/lt/lte
- Image.and/or
- Image.abs/round/floor/ceil/sqrt/exp/log/log10
- Image.add/subtract/multiply/divide
- Image.expression
- Image.sin()
- Image.bitwiseAnd/bitwiseOr
- Image.derivative
- ee.Terrain.products/ee.Algorithms.Terrain
- ee.Terrain.hillshadow()
- ee.Terrain.fillMinima
- Image.entropy
- Image.glcmTexture
- Image.zeroCrossing
- ee.Algorithms.CannyEdgeDetector
- Image.distance
- 邻域操作 Image.focal_max/min/median/mode
- Image.convolve
- Image.reduceNeighborhood
- Image.reduceToVectors
- Image.ImageCollection
- Image.toArray()/ArrayImage.arrayFlatten
- Image.reduceRegion
- Export.image.toDrive
Image
用法 | 方法 |
---|---|
创建 | GEE自带、用户上传、ee.Image()/constant()、ee.Image.pixelLonLat |
编辑 | mask、clip、select、slice、addBands、reproject、rbgtohsv、hsvtorbg、unit8、cast、set、setMulti、remap、where、metadata、clmap、unitScale、interpolate、eq、abs、sin、bitWiseAnd、reduce |
地形 | image.dericative、ee.Terrain.products、ee.Algorithm.Terrain、ee.Terrain.slope、ee.Terrain.aspect、ee.Terrain.fillMinima、ee.Terrain.hillshade、ee.Terrain.hillshadow、ee.Algorithm.Hillshadow |
纹理 | entropy、Texture、zeroCrossing、ee.Algorithms.CannyEdgeDectector、ee.Algorithms.HoughTransform |
邻域 | focal_max、focal_min、focal_median、focal_mode、convolve、reduceNeighborhood |
转换 | Image.ToVector、Image.ToArray、Image.arrayFlatten |
其他 | CrossCorrelation、distance、Export.image |
GEE自带
Landset,Sentinel,Srtm,Land Cover
ee.Image/ee.Image.Constant
var Image1 = ee.Image(10)
var Image2 = ee.Image.constant(20)
var Image3 = Image1.add(Image2)
print(Image1,Image2,Image3)
ee.Image.pixelLonLat
var Image_Lon_lat = ee.Image.pixelLonLat()
print(Image_Lon_lat)
Map.addLayer(Image_Lon_lat, {bands:['longitude'],min:-180,max:180},'Longitude')
Map.addLayer(Image_Lon_lat, {bands:['latitude'], min:-60,max:60},'Latitude')
Map.setCenter(0,0,3)
Image.mask
var Image_DEM = ee.Image('CGIAR/SRTM90_V4')
var Image_CropLand = ee.Image("ESA/GLOBCOVER_L4_200901_200912_V2_3").select('landcover').eq(11)
var Image_Masked = Image_DEM.mask(Image_CropLand)
print(Image_DEM,Image_CropLand,Image_Masked)
Map.setCenter(106.4,34.78,4)
Map.addLayer(Image_DEM,{"opacity":1,"bands":["elevation"],"min":0,"max":1400,
"palette":["2dff07","ff0b0b"]},'Image_DEM')
Map.addLayer(Image_CropLand,{"opacity":1,"bands":["landcover"],
"palette":["ffffff","fbff2d"]},'Image_CropLand')
Map.addLayer(Image_Masked,{"opacity":1,"bands":["elevation"],"min":0,"max":1400,
"palette":["2dff07","ff0b0b"]},'Image_Masked')
opacity:不透明度
clip
var DEM = ee.Image("USGS/SRTMGL1_003")
var wuhan = ee.FeatureCollection("users/szliu1120/hubei")
.filterBounds(ee.Geometry.Point([114.522029,30.510227]))
var wuhan_DEM = DEM.clip(wuhan)
Map.setCenter(114.522029,30.510227)
Map.addLayer(wuhan_DEM,{min:0, max:200})
mask:栅格对栅格;clip:矢量对栅格
Image.select
var Glob_Cover = ee.Image("ESA/GLOBCOVER_L4_200901_200912_V2_3")
var Land_cover = Glob_Cover.select('landcover')
var Land_cover_quality = Glob_Cover.select('qa')
Map.setCenter(107.56,34.79,4)
Map.addLayer(Land_cover)
Map.addLayer(Land_cover_quality)
用于挑选某个数据集中,需要的某几个波段
Image.slice
var L8 = ee.ImageCollection("LANDSAT/LC08/C02/T1_L2")
var L8_One = ee.Image(L8.filterBounds(ee.Geometry.Point(106.4958,29.5856)).first())
var L8_Slice = L8_One.slice(2,5) // 2不包含,5包含
print(L8_One,L8_Slice)
Image.addBands
var L8 = ee.ImageCollection("LANDSAT/LC08/C02/T1_L2")
var L8_One = ee.Image(L8.filterBounds(ee.Geometry.Point(106.4958,29.5856)).first())
var L8_B5 = L8_One.select('SR_B5')
var L8_B4 = L8_One.select('SR_B4')
var L8_B5_4 = L8_B5.addBands(L8_B4)
print(L8_B5,L8_B4,L8_B5_4)
Image.reproject
var L8 = ee.ImageCollection("LANDSAT/LC08/C01/T1_RT")
var L8_One = ee.Image(L8.filterBounds(ee.Geometry.Point(106.4958,29.5856)).first())
var L8_Reproject = L8_One.reproject('EPSG:3857',null,100)
print(L8_One)
print(L8_One.select('B1').projection(), L8_Reproject.projection())
Map.setCenter(106.58365,29.56972,15)
Map.addLayer(L8_One,{"bands":["B5","B4","B3"],"min":10586,"max":18154},"30m")
Map.addLayer(L8_Reproject,{"bands":["B5","B4","B3"],"min":10586,"max":18154},"100m")
Image.rgbtohsv / hsvtorgb
Image.uint8()
Image.cast()
对多波段图像进行相关操作
var L8 = ee.ImageCollection("LANDSAT/LC08/C01/T1_RT")
var L8_One = ee.Image(L8.filterBounds(ee.Geometry.Point(106.4958,29.5856)).first())
.slice(2,5).unitScale(0,32468)
var L8_Cast = L8_One.cast({'B5':'double','B4':'double','B3':"double"},['B5','B4','B3'])
print(L8_One, L8_Cast)
Image.set / Image.setMulti
var L8 = ee.ImageCollection("LANDSAT/LC08/C01/T1_RT")
var L8_One = ee.Image(L8.filterBounds(ee.Geometry.Point(106.4958,29.5856)).first())
.slice(2,5).unitScale(0,32468)
var L8_HSV = L8_One.rgbToHsv().set('note',"This image was created by 'rgbToHsv()'")
.setMulti({'author':'szliu','Mood':'Not bad'})
print(L8_HSV)
Image.remap()
对栅格图像在属性上的重分类
Image.where()
对栅格图像在空间上的重分类
高程小于4000的部分为0
Image.metadata()
使用元数据生成新的栅格图像
Image.clamp
掐断
450一下,795以上,去除
Image.uintScale()
归一化操作
Image.interpolate
分段线性拉伸
均匀拉伸效果变为分段
比较 Image.eq/neq/gt/gte/lt/lte
Image.and/or
Image.abs/round/floor/ceil/sqrt/exp/log/log10
Image.add/subtract/multiply/divide
求NDVI
Image.expression
求EVI
Image.sin()
Image.bitwiseAnd/bitwiseOr
Image.derivative
作微分操作
ee.Terrain.products/ee.Algorithms.Terrain
坡度、破相、阴影
ee.Terrain.hillshadow()
先投影为投影坐标系
当像元之间以m为单位时,坡度才有意义
方位角、太阳高度角
ee.Terrain.fillMinima
将较低位置填充
DEM、填洼边界、栅格邻域大小
Image.entropy
熵值操作
Image.glcmTexture
Image.zeroCrossing
判断何时从正负海拔转换
ee.Algorithms.CannyEdgeDetector
Image.distance
获取栅格图像中任意一点距离其他非0栅格值的最近的位置信息
邻域操作 Image.focal_max/min/median/mode
指定一个搜索半径,发现某个值符合搜索定义,就将这个值定义为整个邻域的所有值
Image.convolve
用一个矩阵做卷积
Image.reduceNeighborhood
每个像元周围的值做统计,并替换
Image.reduceToVectors
转矢量 - 数理统计模式、矢量范围,null,转的形式
Image.ImageCollection
ee.ImageCollection.fromImages()
Image.toArray()/ArrayImage.arrayFlatten
需要指定转化方向
回转后的波段名
Image.reduceRegion
Export.image.toDrive
将处理好的栅格图像导出和下载