备忘录:eemont

一、Image类(Image)

1. 获取公开影像信息

1.1 getCitation:获取图像的引用

ee.ImageCollection('NASA/GPM_L3/IMERG_V06').first().getCitation()
'Huffman, G.J., E.F. Stocker, D.T. Bolvin, E.J. Nelkin, Jackson Tan (2019),
GPM IMERG Final Precipitation L3 Half Hourly 0.1 degree x 0.1 degree V06, Greenbelt,
MD, Goddard Earth Sciences Data and Information Services Center (GES DISC),
Accessed: [Data Access Date],
[doi:10.5067/GPM/IMERG/3B-HH/06](https://doi.org/10.5067/GPM/IMERG/3B-HH/06)'

1.2 getDOI:获取图像doi

ee.ImageCollection('COPERNICUS/S2_SR').first().getDOI()
'doi:10.5067/GPM/IMERG/3B-HH/06'

1.3 getSTAC:获取图像的 STAC

ee.ImageCollection('COPERNICUS/S2_SR').first().getSTAC()
{'stac_version': '1.0.0-rc.2',
 'type': 'Collection',
 'stac_extensions': ['https://stac-extensions.github.io/eo/v1.0.0/schema.json'],
 'id': 'COPERNICUS/S2_SR',
 'title': 'Sentinel-2 MSI: MultiSpectral Instrument, Level-2A',
 'gee:type': 'image_collection',
 ...}

2. 影像处理

  • 影像预处理:preprocess = ScaleAndOffset+maskClouds

2.1 辐射校正:ScaleAndOffset

  • getScaleParams:获取图像每个波段的比例参数
  • GetOffsetParams: 获取图像每个波段的偏移量参数。
  • ScaleAndOffset: 根据缩放和偏移参数缩放图像上的波段

2.2 去云:maskClouds

支持
Sentinel:Sentinel-2 SR 和 Sentinel-3、
Landsat:SR产品
一些 MODIS 产品

ds = (ee.ImageCollection('COPERNICUS/S2_SR')
    .first()
    .maskClouds(prob = 75,buffer = 300,cdi = -0.5))

参数:

  • method: 默认为 ‘cloud_prob’
    可选:(仅适用Sentinel)
    - ‘cloud_prob’ : Use cloud probability.
    - ‘qa’ : Use Quality Assessment band.
  • prob: numeric [0, 100], default = 60
    云概率阈值. 只适用方法 ‘cloud_prob’。 (Landsat忽视)
  • maskCirrus: boolean, default = True
    是否去 cirrus clouds,'qa’可用。(Landsat忽视)
  • maskShadows: boolean, default = True
    是否去 cloud shadows.【Sentinel-2
    Cloud Masking with s2cloudless】
  • scaledImage: boolean, default = False
    反射率是否归一化到[0,1] 。(Landsat忽视)
  • dark: float [0,1], default = 0.15,近红外波段阈值,低于该值则是潜在云阴影。(Landsat忽视)
  • cloudDist: int, default = 1000,从云边寻找云影的最大距离(米)。(Landsat忽视)
  • buffer: int, default = 250,以米为单位的距离扩大云和云的阴影物体。(Landsat忽视)
  • cdi: float [-1,1], default = None,云位移指数阈值。低于这个阈值的值被考虑潜在云团。(Landsat忽视)

2.3 匹配影像:

  • matchHistogram
    调整图像的直方图以匹配目标图像
    参数:
    • target:匹配影像
    • band(dict):匹配波段
    • geometry:default=None,匹配重叠两幅图像的直方图的区域。如果没有提供,则将使用源图像的几何形状。
    • maxBuckets:default=256,构建直方图时要使用的桶的最大数量。将四舍五入到最接近的2次方
source = ee.Image("LANDSAT/LC08/C01/T1_TOA/LC08_047027_20160819")
target = ee.Image("LANDSAT/LE07/C01/T1_TOA/LE07_046027_20150701")
bands = {
   "B4": "B3",
   "B3": "B2",
   "B2": "B1"
}
matched = source.matchHistogram(target, bands)
  • panSharpen(method, qa)
    应用全色锐化图像。可选地,在原始图像和锐化图像之间运行质量评估,以测量光谱失真,并将结果设置为锐化图像的属性

3. 影像指数

  • spectralIndices
    • 内置指数列表:eemont.listIndices()
    • 检查指数信息
      • indices = eemont.indices()
      • indices.BAIS2.formula
      • indices.BAIS2.reference
    • index: default=‘NDVI’,可计算指数列表
      • 可供选择的方案:
      • “vegetation”: 计算所有的植被指数。
      • “ burn”: 计算所有的烧伤指数。
      • “water”: 计算所有的水指数。
      • “snow”: 计算所有的雪指数。
      • “urban”: 计算所有城市(建成)指数。
      • “kernel”: 计算所有内核索引。
      • “ all”: 计算下面列出的所有指数。
S2.spectralIndices(['NDVI','EVI','GNDVI'])

二、影像集(ImageCollection)

1. 以上都行

2. 时间序列

2.1 getTimeSeriesByRegion

根据指定的缩减器(或缩减器)获取给定图像集合和几何(也支持特征或特征集合)的按区域分列的时间序列:

  • reducer
  • bands:str | list[str]
  • geometry
  • scale
  • crs: Projection
  • crsTransform
  • bestEffort
  • maxPixels
  • tileScale
  • dataColumn: (str, default = ‘date’) , 日期列的输出名称
  • dataFormat: (str, default = ‘ISO’) ,日期列的输出格式。默认值为 ISO。可用选项: “ ms”(毫秒)、“ ISO”(ISO 标准格式)或自定义格式模式。
  • naValue: 当区域缩减由于屏蔽像素而没有检索到值时,作为 NA 使用的值

2.2 getTimeSeriesByRegions

(reducer, collection, bands=None, scale=None, crs=None, crsTransform=None, tileScale=1, dateColumn=‘date’, dateFormat=‘ISO’, naValue=-9999)

import ee, eemont
ee.Initialize()
f1 = ee.Feature(ee.Geometry.Point([3.984770,48.767221]).buffer(50),{'ID':'A'})
f2 = ee.Feature(ee.Geometry.Point([4.101367,48.748076]).buffer(50),{'ID':'B'})
fc = ee.FeatureCollection([f1,f2])
S2 = (ee.ImageCollection('COPERNICUS/S2_SR')
     .filterBounds(fc)
     .filterDate('2020-01-01','2021-01-01')
     .maskClouds()
     .scaleAndOffset()
     .spectralIndices(['EVI','NDVI']))
ts = S2.getTimeSeriesByRegions(reducer = [ee.Reducer.mean(),ee.Reducer.median()],
                               collection = fc,
                               bands = ['EVI','NDVI'],
                               scale = 10)

三、DataFrame转FeatureCollection

  • toEEFeatureCollection
    • latitude
    • longitude
df = pd.DataFrame()
df['lat'] = [2.92846, 4.8927]
df['lon'] = [-76.0269, -75.3188]
df['name'] = ['Nevado del Huila', 'Nevado del Ruiz']
fc = df.toEEFeatureCollection(latitude = 'lat',longitude = 'lon')

四、列表类

  • add = +
eeList1 = ee.List([1,2,3,4])
eeList2 = ee.List([5,6,7,8])
eeList3 = eeList1 + eeList2
  • contains:list1 in list2
eeList = ee.List([1,2,3,5])
1 in eeList
True
  • getitem
eeList = ee.List([1,2,3,5])
eeList[0].getInfo()
1
  • len

  • mul = *

eeList2 = eeList * 2
  • radd
eeList = ee.List([1,2,3,4])
normalList = [5,6,7,8]
eeList2 = normalList + eeList
eeList2.getInfo()
[5,6,7,8,1,2,3,4]
  • rmul
eeList1 = ee.List([1,2,3,4])
eeList2 = 2 * eeList1
eeList2.getInfo()
[1,2,3,4,1,2,3,4]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值