利用物候差异与面向对象决策树提取油菜种植面积

简介: 利用物候差异与面向对象决策树提取油菜种植面积

基于决策树模型的安义县油菜花种植面积提取

利用多时序油菜花的不同光谱特征,构建决策树模型,进而提取出油菜花

初始化环境

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

研究区域

# 指定需要检索的区域
feature_collection = aie.FeatureCollection('China_District') \
                        .filter(aie.Filter.eq('district', '安义县'))
geometry = feature_collection.geometry()
# 需要调用task.start()来启动后台导出任务
# task = aie.Export.feature.toAsset(feature_collection, 'feature_collection_export_result')
# task.start()
# 指定检索数据集,可设置检索的空间和时间范围,以及属性过滤条件(如云量过滤等)
dataset = aie.ImageCollection('SENTINEL_MSIL2A') \
             .filterBounds(geometry) \
             .filterDate('2021-03-01', '2021-03-31') \
             .filter(aie.Filter.lte('eo:cloud_cover',10.0)) \
             .limit(10)\
             .mosaic()\
             .clip(geometry)
map = aie.Map(
    center=feature_collection.getCenter(),
    height=800,
    zoom=9
)
vis_params = {
    'bands': ['B4', 'B3', 'B2'],
    'min': 0,
    'max': 2000,
}
map.addLayer(
    dataset,
    vis_params,
    'True Color (432)',
    bounds=dataset.getBounds()
)
map

安义县哨兵2号影像

植被指数计算

NDVI = dataset.normalizedDifference(['B8','B4']).rename(['NDVI'])

RVI = (dataset.select(['B8']).divide(dataset.select(['B3']))).rename(['RVI'])

缨帽变换

在ENVI,QGIS,R,GEE,PIE中实现缨帽变换,但是好像只有GEE支持哨兵2号(Sentinel-2)缨帽变换得到亮度(Brightness)、绿度(Greenness)、和湿度(Wetness)。不知道为什么我在GEE里面的缨帽变换的数值范围和文章里面的相差很大。

brightness = aie.Image('user/e4987f27c44143ffb7d1c75defd7a94b')
brightness = brightness.select(['B1'])
brightness = brightness.clip(geometry)

vis_params = {
    'bands': 'B1',
    'min': 0,
    'max': 1,
    'palette': [
        '#0000ff', '#00ffff', '#ffff00', '#ff0000', '#ffffff'
    ]
}
map.addLayer(
    brightness.clip(geometry),
    vis_params,
    'Brightness',
    bounds=brightness.getBounds()
)
map

缨帽变换亮度结果

构建决策树

# 油菜提取规则集
mask1 = NDVI.lt(aie.Image.constant(0.1))     # 过滤水体、不透水面、裸地等非植被区域
mask2 = NDVI.gt(aie.Image.constant(0.4)).And(brightness.gt(aie.Image.constant(0.7)))  # 农作物

mask3 = RVI.gt(aie.Image.constant(3))   # 油菜

cole  = (mask2.And(mask3)).gt(aie.Image.constant(0))
mask_vis  = {
    'min': 0,
    'max': 1,
    'palette': ['#ffffff', '#008000']    # 0:白色, 1:绿色
}


map.addLayer(cole,mask_vis, 'cole', bounds=geometry.getBounds())    # 绿色区域为小麦

map

油菜花提取结果

总结

利用决策树模型来提取就是快,我也没有能力去验证,在安义县的同学可以联系我帮忙去印证一下,已经报告了AI Earth官方了,相信不久以后,AIE就可以支持缨帽变换了,还有就是谁知道哨兵2号数据的缨帽变换可以联系我,我用GEE做出来的很别人的值范围差异比较大。本案例主要引用了:
[1]基于PIE遥感图像处理软件的油菜提取解决方案
[2]李中元,吴炳方,张淼,邢强,李名勇,闫娜娜.利用物候差异与面向对象决策树提取油菜种植面积[J].地球信息科学学报,2019,21(05):720-730.

相关文章
|
4月前
|
人工智能 Linux API
5分钟拥有龙虾AI员工!OpenClaw喂饭级全平台部署步骤(阿里云/Win11/MacOS/Linux)+3大免费模型配置+FAQ
“想要能处理邮件、管理日程、写代码的AI助手,又担心数据泄露?”——2026年,由PSPDFKit创始人Peter Steinberger开发的OpenClaw(昵称“龙虾AI”)完美解决了这一痛点。作为开源个人AI助手的标杆,它打破传统AI“只聊天不干活”的局限,能真正执行具体任务,且所有数据本地处理,隐私完全可控;同时支持MiniMax、Claude、阿里云百炼等多模型自由切换,兼容微信、Telegram、飞书等主流聊天工具,搭配100+可扩展技能,成为兼顾实用性与隐私性的首选工具。
742 1
|
9月前
|
JavaScript 前端开发 数据可视化
[NMP v2] NeteaseMiniPlayer v2 搭建个人网站网易云迷你播放器
NeteaseMiniPlayer v2 [NMP v2]是一款高颜值、无依赖的前端嵌入式网易云音乐迷你播放器,,轻松部署于个人网站,提升音网站体验。
744 6
[NMP v2] NeteaseMiniPlayer v2 搭建个人网站网易云迷你播放器
|
11月前
|
存储 监控 Java
“代码跑着跑着,就变快了?”——揭秘Java性能幕后引擎:即时编译器
HotSpot虚拟机内置C1和C2两个即时编译器。C1启动快,适合快速执行;C2优化强,适合长期运行。自Java 9起,默认启用C2或分层编译。分层编译结合C1与C2优势,共分5层,逐步提升编译质量。方法调用计数器与循环回边计数器用于识别热点代码,触发JIT编译。循环回边计数器还可启动栈上替换(OSR),提升大循环性能。本文详解JIT编译机制与性能优化策略。
434 75
|
12月前
|
JSON 监控 API
天猫商品详情API接口技术解析与Python实现
天猫商品详情API(tmall.item_get)是天猫开放平台的核心接口,通过商品ID可获取标题、价格、库存、图片、SKU及评价等完整信息。支持HTTP请求与JSON返回格式,适用于电商数据分析、竞品监控与价格策略优化等场景。本文提供Python调用示例,包含签名生成与异常处理,便于快速集成与应用。
|
人工智能 自然语言处理 搜索推荐
阿里云携手叫叫,共创儿童学习AI新体验
阿里云携手叫叫,共创儿童学习AI新体验
|
定位技术
ArcGIS:如何对栅格图像进行地理配准和定义投影?
ArcGIS:如何对栅格图像进行地理配准和定义投影?
7303 1
|
资源调度 JavaScript
vue项目:集成富文本编辑器 - 百度ueditor(vue-ueditor-wrap)
vue项目:集成富文本编辑器 - 百度ueditor(vue-ueditor-wrap)
2006 0
|
传感器 存储 Java
一起玩转树莓派(17)——BMP180数字压力传感器应用
BMP180是一款高级的温度气压传感器,通过测量的气压值也可以计算出当前海拔高度。其压力测量范围为300-1100hPa,对应的海拔高度为正9000m-负500m。工作电压在1.8V到3.6V之间。体积小,精度高,采用I2C接口,使用非常方便。BMP180传感器在GPS导航,天气检测,海拔测量和垂直方向速度检测等方面有广泛的应用。本实验,我们尝试使用树莓派的I2C接口来读取BMP180的温度和气压值,并进行海拔高度的计算。
18626 0
|
关系型数据库 数据库 MySQL