GEE、PIE和AI Earth平台进行案例评测:NDVI计算,结果差异蛮大

简介: GEE、PIE和AI Earth平台进行案例评测:NDVI计算,结果差异蛮大

本文主要是通过对比GEE、PIE和AI Earth平台,主要是计算不同平台,同一个NDVI的均值计算,我们已测试结果如何。

1. PIE-engine

PIE获取北京市获取某一个区域的区域的NDVI平均值,但是结果却显示没有,只能通过加载图层点击图层上的点获取某一个点的NDVI值,而且这里用到区域统计使用的函数仅有min,max,sum计算,而使用mean计算,就没有结果。当我尝试使用以上三个可以计算的reducer的时候结果会呈现下面的结果:

代码链接:

遥感计算云服务

函数:

reduceRegion(reducer,geometry,scale)

对特定区域的所有像素进行统计,返回结果为一个JSON对象;目前可完成最大、最小和求和统计计算。

方法参数:

- image(Image)

Image实例。

- reducer(Reducer)

统计类型,包括最大值、最小值和求和。

- geometry(Geometry)

统计区域范围。默认是影像第一个波段的范围。

- scale(Number)

统计采样比例。

返回值:Dictionary

PIE代码:

//加载北京市边界
var roi = pie.FeatureCollection("NGCC/CHINA_PROVINCE_BOUNDARY")
    .filter(pie.Filter.eq("name", "北京市"))
    .first()
    .geometry();
Map.centerObject(roi, 6);
Map.addLayer(roi, { color: "ff0000", fillColor: "00000000", width: 3 }, "北京市");
 
 
//按区域、时间筛选影像
var imgCol = pie.ImageCollection("LC08/01/T1")
    .filterBounds(roi)
    .filterDate("2019-8-01", "2019-8-30");
print("imgCol", imgCol);
Map.addLayer(imgCol.select(["B2", "B3", "B4"]).mosaic().clip(roi), { min: 0, max: 2500, bands: ["B4", "B3", "B2"] }, "imgCol", false);
 
//获取影像数量
var count = imgCol.size();
print(count);
 function imgCalculate (image1) {
     var ndvi1=image1.normalizedDifference(["B5","B4"]);
     return image1.addBands(ndvi1).rename("NDVI")
 }
var redc = imgCol.map(imgCalculate).mosaic().clip(roi)
print("redc",redc)
var jisuan = redc.select("NDVI").reduceRegion(pie.Reducer.mean(),geometry0,300)
print("jisuan",jisuan)

 

 

2.GEE

代码:

//这里ROI是我自己的矢量,这里就不共享了,大家可以换其它地方测试
/*color:#5f9ea0*/
var geometry0 = ee.Geometry.Polygon([
    [
        [
            117.1224239290218,
            40.20026024458343
        ],
        [
            117.2502681492852,
            40.20026024458343
        ],
        [
            117.2502681492852,
            40.13354201708273
        ],
        [
            117.1224239290218,
            40.13354201708273
        ],
        [
            117.1224239290218,
            40.20026024458343
        ]
    ]
], null);
 function imgCalculate (image1) {
     var ndvi1=image1.normalizedDifference(["B5","B4"]);
     return image1.addBands(ndvi1).rename("NDVI");
 }
 
 
function ndv_LANDSAT_8(image) {
              var ndvi = image.normalizedDifference(['B5', 'B4']);
  return image.addBands(ndvi.rename('NDVI'));
}
 
var  imgCol = ee.ImageCollection("LANDSAT/LC08/C01/T1_SR").filterBounds(roi)
    .filterDate("2019-8-01", "2019-8-30").map(ndv_LANDSAT_8);
print("imgCol", imgCol);
Map.addLayer(imgCol.select(["B2", "B3", "B4"]).mosaic().clip(roi), { min: 0, max: 2500, bands: ["B4", "B3", "B2"] }, "imgCol", false);
 
//获取影像数量
var count = imgCol.size();
print(count);
var redc = imgCol.mosaic().clip(roi)
print("redc",redc)
var jisuan = redc.select("NDVI").reduceRegion(ee.Reducer.mean(),geometry0,300)
print("jisuan",jisuan)

pie 中在NDVI计算的函数中出现了问题,两者的函数构造是不同的,如果直接用PIE中的function代码直接放入GEE中是无法运行的,主要问题如下面所示和代码区别:

 

//PIE——NDVI函数
function imgCalculate (image1) {
     var ndvi1=image1.normalizedDifference(["B5","B4"]);
     return image1.addBands(ndvi1).rename("NDVI");
 }
 
  
//GEE——NDVI函数
function ndv_LANDSAT_8(image) {
              var ndvi = image.normalizedDifference(['B5', 'B4']);
  return image.addBands(ndvi.rename('NDVI'));
}

 

Image (Error)

ImageCollection.mosaic: Error in map(ID=LC08_122032_20190826): Image.rename: The number of names (1) must match the number of bands (13).

最终更改后的结果:

 

3.AI Earth

在AI Earth中并没有Landsat 8 C01数据集,所以这里只能使用Landsat 8 C02数据集.

同样我们使用GEE也重新计算了:

 

 

import aie
aie.Authenticate()
aie.Initialize()
region = aie.Geometry.Polygon([
    [
        [
            117.1224239290218,
            40.20026024458343
        ],
        [
            117.2502681492852,
            40.20026024458343
        ],
        [
            117.2502681492852,
            40.13354201708273
        ],
        [
            117.1224239290218,
            40.13354201708273
        ],
        [
            117.1224239290218,
            40.20026024458343
        ]
    ]]
)
# 归一化植被指数
def getNDVI(image):
    ndvi = image.normalizedDifference(['SR_B5', 'SR_B4']).rename(['NDVI'])
    return ndvi
# 指定需要检索的区域
feature_collection = aie.FeatureCollection('China_Province') \
                        .filter(aie.Filter.eq('province', '北京市'))
geometry = feature_collection.geometry()
#print("feature_collection",feature_collection.getInfo())
dataset = aie.ImageCollection('LANDSAT_LC08_C02_T1_L2') \
             .filterBounds(geometry) \
             .filterDate('2019-08-01', '2019-08-31')\
             .map(getNDVI).mosaic().clip(region)
print("dataset",dataset.getInfo())
result =  dataset.select("NDVI").reduceRegion(aie.Reducer.mean(), region, 30)
print(result)
print(result.getInfo())

结果:

{'NDVI_mean': 0.0190175001}

 

相关文章
|
7天前
|
人工智能 自然语言处理 API
用AI Agent做一个法律咨询助手,罗老看了都直呼内行 feat.通义千问大模型&阿里云百炼平台
本视频介绍如何使用通义千问大模型和阿里云百炼平台创建一个法律咨询助手AI Agent。通过简单配置,无需编写代码或训练模型,即可快速实现智能问答功能。演示包括创建应用、配置知识库、上传民法典文档、构建知识索引等步骤。最终,用户可以通过API调用集成此AI Agent到现有系统中,提供专业的法律咨询服务。整个过程简便高效,适合快速搭建专业领域的小助手。
96 21
|
3天前
|
存储 机器学习/深度学习 人工智能
昇腾AI行业案例(六):基于 PraNet 的医疗影像分割
欢迎学习《基于 PraNet 的医疗影像分割》实验。在本实验中,你将深入了解如何运用计算机视觉(CV)领域的 AI 模型,搭建一个高效精准的医疗影像分割系统,专注于息肉分割任务,并利用开源数据集对模型效果加以验证。
10 1
|
5天前
|
机器学习/深度学习 人工智能 算法
昇腾AI行业案例(一):基于AI图像处理的疲劳驾驶检测
在本实验中,您将学习如何使用利用CV(Computer Vision)领域的AI模型来构建一个端到端的疲劳驾驶检测系统,并使用开源数据集进行效果验证。为此,我们将使用昇腾的AI硬件以及CANN等软件产品。
36 3
|
3天前
|
存储 人工智能 数据可视化
昇腾AI行业案例(五):基于 DANet 和 Deeplabv3 模型的遥感图像分割
欢迎学习《基于 DANet 和 Deeplabv3 模型的遥感图像分割》实验。在本实验中,你将深入了解如何运用计算机视觉(CV)领域的 AI 模型,搭建一个高效精准的遥感地图区域分割系统,并利用开源数据集和昇腾 AI 芯片对模型效果加以验证。
10 0
昇腾AI行业案例(五):基于 DANet 和 Deeplabv3 模型的遥感图像分割
|
6天前
|
人工智能 运维 Serverless
云端问道8期方案教学-基于Serverless计算快速构建AI应用开发
本文介绍了基于Serverless计算快速构建AI应用开发的技术和实践。内容涵盖四个方面:1) Serverless技术价值,包括其发展趋势和优势;2) Serverless函数计算与AI的结合,探讨AIGC应用场景及企业面临的挑战;3) Serverless函数计算AIGC应用方案,提供一键部署、模型托管等功能;4) 业务初期如何低门槛使用,介绍新用户免费额度和优惠活动。通过这些内容,帮助企业和开发者更高效地利用Serverless架构进行AI应用开发。
|
14天前
|
人工智能 物联网
如何将Together AI上基于Qwen2-7B训练的模型部署到ModelScope平台
如何将Together AI上基于Qwen2-7B训练的模型部署到ModelScope平台
57 10
|
3天前
|
机器学习/深度学习 人工智能 自然语言处理
昇腾AI行业案例(四):基于 Bert 模型实现文本分类
欢迎学习《昇腾行业应用案例》的“基于 Bert 模型实现文本分类”实验。在本实验中,您将学习如何使用利用 NLP (natural language processing) 领域的AI模型来构建一个端到端的文本系统,并使用开源数据集进行效果验证。为此,我们将使用昇腾的AI硬件以及CANN等软件产品。
13 0
|
3天前
|
人工智能 算法 计算机视觉
昇腾AI行业案例(三):基于 AI 图像处理的铝板缺陷检测
欢迎学习《基于 AI 图像处理的铝板缺陷检测》实验。在本实验中,你将深入了解如何运用计算机视觉(CV)领域的 AI 模型,搭建一个高效精准的铝板缺陷检测系统,并利用开源数据集和昇腾 AI 芯片对模型效果加以验证。
12 0
|
3天前
|
机器学习/深度学习 人工智能 算法
昇腾AI行业案例(二):基于 AI 图像处理的安全帽检测
欢迎学习《昇腾行业应用案例》的 “基于 AI 图像处理的安全帽检测” 实验。在本实验中,你将深入了解如何运用计算机视觉(CV)领域的 AI 模型,搭建一个高效精准的安全帽检测系统,并利用开源数据集对模型效果加以验证。为此,我们将使用昇腾的AI硬件以及CANN等软件产品。
12 0
|
3天前
|
SQL 人工智能 数据管理
跨云数据管理平台DMS:构建Data+AI的企业智能Data Mesh
跨云数据管理平台DMS助力企业构建智能Data Mesh,实现Data+AI的统一管理。DMS提供开放式元数据服务OneMeta、一站式智能开发平台和云原生AI数据平台,支持多模数据管理和高效的数据处理。结合PolarDB、AnalyticDB等核心引擎,DMS在多个垂直场景中展现出显著优势,如智能营销和向量搜索,提升业务效率和准确性。通过DataOps和MLOps的融合,DMS为企业提供了从数据到AI模型的全生命周期管理,推动数据驱动的业务创新。

热门文章

最新文章