基于MODIS数据的河南秸秆焚烧遥感监测

基于MODIS数据的秸秆焚烧遥感监测

先利用MOD14A2 v006提取着火点,再利用ESA WorldCover 10m v100提取河南省耕地斑块,两数据相交,可得到秸秆焚烧斑块的位置和面积。

初始化环境

import aie
aie.Authenticate()
aie.Initialize()

选取区域

yu = aie.FeatureCollection('China_Province') \
                        .filter(aie.Filter.eq('province', '河南省'))
# 提取河南省出来,这是一个例子,所以只做河南就行了
geometry = yu.geometry()
# 利用MOD14数据地理定位,提取着火点
# 指定检索数据集,可设置检索的时间范围,2012年6月11日卫星过境,现在秸秆焚烧已经比较少了,所以用以前的数据。
dataset = aie.ImageCollection('MODIS_MOD14A2_006') \
             .filterDate('2012-06-10', '2012-6-12')
imgs = dataset.select(['FireMask'])
imgs = imgs.mosaic().rename(['fire'])
imgs = imgs.clip(geometry)
map = aie.Map(
    center=yu.getCenter(),
    height=800,
    zoom=6
)
vis_params = {
    'bands': 'fire',
    'min': 1,
    'max': 9,
    'palette': [
        '#000000', '#ffffff'
    ]
}
map.addLayer(
    imgs,
    vis_params,
    'Fire',
    bounds=imgs.getBounds()
)
map

基于MODIS数据的河南秸秆焚烧遥感监测_第1张图片

提取着火点

# 根据规则7-9为着火点
fire_image = imgs.gte(aie.Image.constant(7.0)).And(imgs.lte(aie.Image.constant(9.0)))
mask_params = {
    'min': 0,
    'max': 1,
    'palette': ['#ffffff','#fc5531']
}
map.addLayer(
    fire_image,
    mask_params,
    'FireROI',
    bounds=fire_image.getBounds()
)
map

基于MODIS数据的河南秸秆焚烧遥感监测_第2张图片

提取农用地

#指定检索数据集,可设置检索的时间范围,因为没有2012年的lucc,所以这里用2020年的
lucc = aie.ImageCollection('ESA_WORLD_COVER_V100') \
             .filterBounds(geometry) \
             .filterDate("2020-01-01", "2022-01-31") \
             .mosaic()\
             .clip(geometry)
lucc_imgs = lucc.select(['Map']).rename(['lucc'])
lucc_imgs = lucc_imgs.eq(aie.Image(40))
mask_params = {
    'min': 0,
    'max': 1,
    'palette': ['#ffffff','#f096ff']
}

map.addLayer(
    lucc_imgs,
    mask_params,
    'Lucc',
    bounds=imgs.getBounds()
)
map

基于MODIS数据的河南秸秆焚烧遥感监测_第3张图片

秸秆焚烧点提取

fire_straw = lucc_imgs.And(fire_image)
mask_params = {
    'min': 0,
    'max': 1,
    'palette': ['#ffffff','#fc5531']
}
map.addLayer(
    fire_straw,
    mask_params,
    'FireStraw',
    bounds=fire_straw.getBounds()
)
map
# task = aie.Export.image.toAsset(fire_straw,'FireStraw',1000)
# task.start()

基于MODIS数据的河南秸秆焚烧遥感监测_第4张图片

你可能感兴趣的:(python)