AI Earth ——开发者模式案例4:浙江省森林区域植被生长分析

本文主要是介绍AI Earth ——开发者模式案例4:浙江省森林区域植被生长分析,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

浙江省森林区域植被生长分析¶

利用 Modis MCD12Q1 地物分类数据产品和 MODIS MOD13Q1 16天标准植被指数产品。通过对 2021 年 8 月植被指数最大值与近 3 年同期指数 8 月最大值的 3 年均值进行对比,实现对浙江省森林区域植被的空间监测。

初始化环境

import aieaie.Authenticate()
aie.Initialize()

定义矢量区域

region = aie.FeatureCollection('China_Province') \.filter(aie.Filter.eq('province', '浙江省')) \.geometry()map = aie.Map(center=region.getCenter(),height=800,zoom=5
)vis_params = {'color': '#00FF00'
}
map.addLayer(region,vis_params,'region',bounds=region.getBounds()
)
map

获取森林区域掩膜

引用 Modis MCD12Q1 地物分类数据产品,其中 LC_Type1 中数值 1-5 为不同类型的森林植被,通过 aie.Image.lt 实现 2020 年森林植被覆盖地区提取。并将提取到的数据进行地图可视化显示。

LC_Dataset = aie.ImageCollection('MODIS_MCD12Q1_006') \.filterDate('2020-05-01', '2020-05-31')
imgs = LC_Dataset.select(['LC_Type1']).first().clip(region)forest = imgs.lt(aie.Image.constant(6))   # Modis MCD12Q1 1-5为不同类型的森林vis_params = {'bands': 'LC_Type1','min': 1,'max': 17,'palette': [ '#05450a', '#086a10', '#54a708', '#78d203', '#009900', '#c6b044', '#dcd159', '#dade48', '#fbff13', '#b6ff05', '#27ff87', '#c24f44', '#a5a5a5', '#ff6d4c', '#69fff8', '#f9ffa4', '#1c0dff']
}forest_vis = {'bands': 'LC_Type1','min': 0,'max': 1,'palette': [ '#ffffff', '#4fb104']
}map.addLayer(imgs,vis_params,'LC_data',bounds=region.getBounds()
)map.addLayer(forest,forest_vis,'Forest',bounds=region.getBounds()
)
map

植被生长对比

使用 MODIS MOD13Q1 16天标准植被指数产品,利用 aie.ImageCollection.max 获得 2018、2019、2020年、2021 年逐年 8 月 NDVI 最大值,并计算 2018-2020 年 3 年的均值( aie.ImageCollection.mean ),对比 2021 年与过去3年同期均值的比较,应用 updateMask 函数进行森林地区掩膜,确定 2021 年浙江森林植被生长状态。并将最终成果进行地图可视化显示。

ndvi_vis  = {'bands': 'NDVI','min': 0,'max': 8000,'palette': [ '#FFFFFF', '#CE7E45', '#DF923D', '#F1B555', '#FCD163', '#99B718','#74A901', '#66A000', '#529400', '#3E8601', '#207401', '#056201','#004C00', '#023B01', '#012E01', '#011D01', '#011301']
}ndvi_dif_vis = {'min': -1000,'max': 1000,'palette': ['#d7191c', '#ffffff', '#008000']
}map.addLayer( ndvi_avg, ndvi_vis,  'NDVI', bounds=region.getBounds() )map.addLayer( ndvi_dif_forest, ndvi_dif_vis, 'NDVI_dif_forest',  bounds=region.getBounds())map

备注:本案例中仅取2020年森林分类成果作为掩膜文件,仅作为做算子应用介绍,数据成果合理性不做保证。

 

 

 

 

 

这篇关于AI Earth ——开发者模式案例4:浙江省森林区域植被生长分析的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/253169

相关文章

MySQL中的LENGTH()函数用法详解与实例分析

《MySQL中的LENGTH()函数用法详解与实例分析》MySQLLENGTH()函数用于计算字符串的字节长度,区别于CHAR_LENGTH()的字符长度,适用于多字节字符集(如UTF-8)的数据验证... 目录1. LENGTH()函数的基本语法2. LENGTH()函数的返回值2.1 示例1:计算字符串

Python通用唯一标识符模块uuid使用案例详解

《Python通用唯一标识符模块uuid使用案例详解》Pythonuuid模块用于生成128位全局唯一标识符,支持UUID1-5版本,适用于分布式系统、数据库主键等场景,需注意隐私、碰撞概率及存储优... 目录简介核心功能1. UUID版本2. UUID属性3. 命名空间使用场景1. 生成唯一标识符2. 数

Android kotlin中 Channel 和 Flow 的区别和选择使用场景分析

《Androidkotlin中Channel和Flow的区别和选择使用场景分析》Kotlin协程中,Flow是冷数据流,按需触发,适合响应式数据处理;Channel是热数据流,持续发送,支持... 目录一、基本概念界定FlowChannel二、核心特性对比数据生产触发条件生产与消费的关系背压处理机制生命周期

PostgreSQL的扩展dict_int应用案例解析

《PostgreSQL的扩展dict_int应用案例解析》dict_int扩展为PostgreSQL提供了专业的整数文本处理能力,特别适合需要精确处理数字内容的搜索场景,本文给大家介绍PostgreS... 目录PostgreSQL的扩展dict_int一、扩展概述二、核心功能三、安装与启用四、字典配置方法

怎样通过分析GC日志来定位Java进程的内存问题

《怎样通过分析GC日志来定位Java进程的内存问题》:本文主要介绍怎样通过分析GC日志来定位Java进程的内存问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、GC 日志基础配置1. 启用详细 GC 日志2. 不同收集器的日志格式二、关键指标与分析维度1.

Java设计模式---迭代器模式(Iterator)解读

《Java设计模式---迭代器模式(Iterator)解读》:本文主要介绍Java设计模式---迭代器模式(Iterator),具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,... 目录1、迭代器(Iterator)1.1、结构1.2、常用方法1.3、本质1、解耦集合与遍历逻辑2、统一

Java 线程安全与 volatile与单例模式问题及解决方案

《Java线程安全与volatile与单例模式问题及解决方案》文章主要讲解线程安全问题的五个成因(调度随机、变量修改、非原子操作、内存可见性、指令重排序)及解决方案,强调使用volatile关键字... 目录什么是线程安全线程安全问题的产生与解决方案线程的调度是随机的多个线程对同一个变量进行修改线程的修改操

Python中re模块结合正则表达式的实际应用案例

《Python中re模块结合正则表达式的实际应用案例》Python中的re模块是用于处理正则表达式的强大工具,正则表达式是一种用来匹配字符串的模式,它可以在文本中搜索和匹配特定的字符串模式,这篇文章主... 目录前言re模块常用函数一、查看文本中是否包含 A 或 B 字符串二、替换多个关键词为统一格式三、提

MySQL中的表连接原理分析

《MySQL中的表连接原理分析》:本文主要介绍MySQL中的表连接原理分析,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录1、背景2、环境3、表连接原理【1】驱动表和被驱动表【2】内连接【3】外连接【4编程】嵌套循环连接【5】join buffer4、总结1、背景

Python get()函数用法案例详解

《Pythonget()函数用法案例详解》在Python中,get()是字典(dict)类型的内置方法,用于安全地获取字典中指定键对应的值,它的核心作用是避免因访问不存在的键而引发KeyError错... 目录简介基本语法一、用法二、案例:安全访问未知键三、案例:配置参数默认值简介python是一种高级编