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

简介: 基于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

image.png

提取着火点

# 根据规则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

image.png

提取农用地

#指定检索数据集,可设置检索的时间范围,因为没有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

image.png

秸秆焚烧点提取

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()

image.png

相关文章
|
算法
AntV G6布局机制
AntV G6布局机制
737 0
|
5月前
|
消息中间件 NoSQL Redis
水镜 OMS 系统:全渠道电商中台的设计与实现
水镜OMS是全渠道电商中台,整合线上线下资源,统一管理订单、库存与营销。支持天猫、京东等10+平台接入,通过订单路由与库存共享,实现高效订单处理。系统采用SpringCloud Alibaba架构,结合Redis、Kafka、分库分表等技术,保障高并发下稳定运行,日均订单量超10万,峰值达5000TPS,助力企业提升运营效率与数字化能力。
303 0
|
JavaScript Java 测试技术
基于SpringBoot+Vue的大学生家教服务管理系统的详细设计和实现(源码+lw+部署文档+讲解等)
基于SpringBoot+Vue的大学生家教服务管理系统的详细设计和实现(源码+lw+部署文档+讲解等)
253 7
|
算法 大数据
K-最近邻(KNN)
K-最近邻(KNN)
|
10月前
|
计算机视觉
YOLOv11改进策略【卷积层】| CVPR-2024 利用DynamicConv 动态卷积 结合C3k2进行二次创新,提高精度
YOLOv11改进策略【卷积层】| CVPR-2024 利用DynamicConv 动态卷积 结合C3k2进行二次创新,提高精度
814 0
|
安全 API 开发工具
Gin 实现自动生成接口文档
Gin 实现自动生成接口文档
272 0
|
机器学习/深度学习 分布式计算 Python
OpenAI Gym 高级教程——分布式训练与并行化
OpenAI Gym 高级教程——分布式训练与并行化
671 1
|
前端开发 JavaScript 索引
Thymeleaf基础语法讲解【详解版】
该内容介绍了Thymeleaf模板引擎的一些基本表达式和语法。主要包括: 1. 变量表达式 `${}` 和 `*{}`,用于获取对象属性,`*{}` 需先通过 `th:object` 指定对象。 2. 链接表达式 `@{}`,用于构建应用路径并引入静态资源,但可能暴露版本号带来安全问题。 3. 迭代循环使用 `th:each`,可获取状态变量如索引、序号、奇偶性等。 4. 条件判断用 `th:if` 和 `th:unless`,基于不同类型的值进行逻辑判断。 示例代码包括了遍历集合、设置表单输入值、条件渲染等场景。
652 0
|
存储 数据采集 编解码
基于ArcGIS:GIS空间分析复习-理论概念+案例分析1
基于ArcGIS:GIS空间分析复习-理论概念+案例分析
1188 0
|
Web App开发 XML JavaScript
【原创】淘宝关键词搜索爬取与解析
【原创】淘宝关键词搜索爬取与解析
1071 0
【原创】淘宝关键词搜索爬取与解析