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

相关文章

Spring Boot Interceptor的原理、配置、顺序控制及与Filter的关键区别对比分析

《SpringBootInterceptor的原理、配置、顺序控制及与Filter的关键区别对比分析》本文主要介绍了SpringBoot中的拦截器(Interceptor)及其与过滤器(Filt... 目录前言一、核心功能二、拦截器的实现2.1 定义自定义拦截器2.2 注册拦截器三、多拦截器的执行顺序四、过

Springboot3 ResponseEntity 完全使用案例

《Springboot3ResponseEntity完全使用案例》ResponseEntity是SpringBoot中控制HTTP响应的核心工具——它能让你精准定义响应状态码、响应头、响应体,相比... 目录Spring Boot 3 ResponseEntity 完全使用教程前置准备1. 项目基础依赖(M

Go语言实现桥接模式

《Go语言实现桥接模式》桥接模式是一种结构型设计模式,它将抽象部分与实现部分分离,使它们可以独立地变化,本文就来介绍一下了Go语言实现桥接模式,感兴趣的可以了解一下... 目录简介核心概念为什么使用桥接模式?应用场景案例分析步骤一:定义实现接口步骤二:创建具体实现类步骤三:定义抽象类步骤四:创建扩展抽象类步

C++ scoped_ptr 和 unique_ptr对比分析

《C++scoped_ptr和unique_ptr对比分析》本文介绍了C++中的`scoped_ptr`和`unique_ptr`,详细比较了它们的特性、使用场景以及现代C++推荐的使用`uni... 目录1. scoped_ptr基本特性主要特点2. unique_ptr基本用法3. 主要区别对比4. u

C++11中的包装器实战案例

《C++11中的包装器实战案例》本文给大家介绍C++11中的包装器实战案例,本文结合实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧... 目录引言1.std::function1.1.什么是std::function1.2.核心用法1.2.1.包装普通函数1.2.

Redis 命令详解与实战案例

《Redis命令详解与实战案例》本文详细介绍了Redis的基础知识、核心数据结构与命令、高级功能与命令、最佳实践与性能优化,以及实战应用场景,通过实战案例,展示了如何使用Redis构建高性能应用系统... 目录Redis 命令详解与实战案例一、Redis 基础介绍二、Redis 核心数据结构与命令1. 字符

Nginx内置变量应用场景分析

《Nginx内置变量应用场景分析》Nginx内置变量速查表,涵盖请求URI、客户端信息、服务器信息、文件路径、响应与性能等类别,这篇文章给大家介绍Nginx内置变量应用场景分析,感兴趣的朋友跟随小编一... 目录1. Nginx 内置变量速查表2. 核心变量详解与应用场景3. 实际应用举例4. 注意事项Ng

Java多种文件复制方式以及效率对比分析

《Java多种文件复制方式以及效率对比分析》本文总结了Java复制文件的多种方式,包括传统的字节流、字符流、NIO系列、第三方包中的FileUtils等,并提供了不同方式的效率比较,同时,还介绍了遍历... 目录1 背景2 概述3 遍历3.1listFiles()3.2list()3.3org.codeha

通过DBeaver连接GaussDB数据库的实战案例

《通过DBeaver连接GaussDB数据库的实战案例》DBeaver是一个通用的数据库客户端,可以通过配置不同驱动连接各种不同的数据库,:本文主要介绍通过DBeaver连接GaussDB数据库的... 目录​一、前置条件​二、连接步骤​三、常见问题与解决方案​1. 驱动未找到​2. 连接超时​3. 权限不

Java中的随机数生成案例从范围字符串到动态区间应用

《Java中的随机数生成案例从范围字符串到动态区间应用》本文介绍了在Java中生成随机数的多种方法,并通过两个案例解析如何根据业务需求生成特定范围的随机数,本文通过两个实际案例详细介绍如何在java中... 目录Java中的随机数生成:从范围字符串到动态区间应用引言目录1. Java中的随机数生成基础基本随