基于AIE的贵州省FVC提取

简介: 基于AIE的贵州省FVC提取

植被覆盖度获取

植被覆盖度(Fractional Vegetation Cover,FVC),是指植被(包括叶、茎、枝)在地面的垂直投影面积占统计区总面积的百分比,范围在 [0,1] 之间。FVC 是刻画地表植被覆盖的重要参数,能够直观的反映一个地区绿的程度,是反应植被生长状态的重要指标,在植被变化、生态环境研究、水土保持、城市宜居等方面问题研究中起到重要作用。本案例以 Landsat-8 数据为例,计算贵州省区域的 FVC 指数。

初始化环境

import aie

aie.Authenticate()
aie.Initialize()

Landsat-8 数据检索

指定区域、时间、云量检索 Landsat-8 ,并对数据进行去云处理。

def removeLandsatCloud(image):
    cloudShadowBitMask = (1 << 4)
    cloudsBitMask = (1 << 3)
    qa = image.select('QA_PIXEL')
    mask = qa.bitwiseAnd(aie.Image(cloudShadowBitMask)).eq(aie.Image(0)).And(qa.bitwiseAnd(aie.Image(cloudsBitMask)).eq(aie.Image(0)))
    return image.updateMask(mask)
feature_collection = aie.FeatureCollection('China_Province') \
                        .filter(aie.Filter.eq('province', '贵州省'))

geometry = feature_collection.geometry()

dataset = aie.ImageCollection('LANDSAT_LC08_C02_T1_L2') \
             .filterBounds(geometry) \
             .filterDate('2021-05-01', '2021-10-31') \
             .filter(aie.Filter.lte('eo:cloud_cover', 30.0))
print(dataset.size().getInfo())
dataset = dataset.map(removeLandsatCloud)
image = dataset.median()

裁剪影像

image = image.clip(geometry)

计算 NDVI 指数

ndvi = image.normalizedDifference(['SR_B5', 'SR_B4']).rename(['NDVI'])

ndvi_vis  = {
    'min': -0.2,
    'max': 0.6,
    'palette': ['#d7191c', '#fdae61', '#ffffc0', '#a6d96a', '#1a9641']
}

map = aie.Map(
    center=ndvi.getCenter(),
    height=800,
    zoom=6
)

map.addLayer(
    ndvi,
    ndvi_vis,
    'NDVI',
    bounds=ndvi.getBounds()
)

map

定义植被覆盖度算法

使用像元二分模型法进行 FVC 估算。 利用 aie.Reducer.histogram 实现输入影像的直方图统计。通过 numpy 调用数组运算,计算生长季的 NDVI 像元百分比统计中 5% 位置 NDVI 值作为土壤部分 NDVIsoil95% 位置的 NDVI 值作为植被部分 NDVIveg ,并通过 FVC = (NDVI - NDVIsoil)/ (NDVIveg - NDVIsoil ) 计算 FCV ,得出 FVC

import numpy as np
import pandas as pd
def calculateFVC(image, scale):
    histogram = image.reduceRegion(aie.Reducer.histogram(2000), None, scale)
    histogram_info = histogram.getInfo()
    # print(histogram_info)


    bucketKey = histogram_info['NDVI_range']
    bucketValue = histogram_info['NDVI_counts']

    key = np.array(bucketValue)
    accSum = np.cumsum(key)
    # print(accSum[20])
    # print(accSum[-1])
    accPercent = accSum / accSum[-1]
    
    p5 = np.searchsorted(accPercent, 0.5)

    min_ndvi = bucketKey[p5 + 1]
    # print(min_ndvi)

    p95 = np.searchsorted(accPercent, 0.95)
    max_ndvi = bucketKey[p95]
    # print(max_ndvi)
    
    higher_ndvi_mask = image.gt(aie.Image(max_ndvi))
    lower_ndvi_mask = image.lt(aie.Image(min_ndvi))
    middle_ndvi_mask = aie.Image(1).subtract(higher_ndvi_mask).subtract(lower_ndvi_mask)
    
    tmp = image.subtract(aie.Image(min_ndvi)).divide(aie.Image(max_ndvi).subtract(aie.Image(min_ndvi)))
    FVC = aie.Image(1).multiply(higher_ndvi_mask).add(aie.Image(0).multiply(lower_ndvi_mask)).add(tmp.multiply(middle_ndvi_mask))
    return FVC

数据可视化

FVC = calculateFVC(ndvi, 1000)

vis_params = {
    'min': 0,
    'max': 1,
    'palette': [
        '#a1a1a1', '#008000'
    ]
}

map.addLayer(
    FVC,
    vis_params,
    'fvc',
    bounds=ndvi.getBounds()
)
map

导出数据

task = aie.Export.image.toAsset(FVC, 'FVC_export_result', 100)
task.start()

贵州省FVC原始数据

后记

AIE进行遥感云计算的时候还是很方便,可能刚刚出来,很多地方还是需要完善,这个案例里面,我导出数据以后要到ArcGIS里面再出来一下下。接下来,我利用自然间断法分成了五类,然后再统计这五类的面积,这ArcGIS操作都很简单了,这里就不多说,还有就是阿里云的小哥哥特别有耐心,特别负责任,计算也很强。
本案例主要引用了AIE的官方案例。

相关文章
|
8月前
|
数据可视化 定位技术 索引
GEE数据集——美国地质调查局历史地形图数据
GEE数据集——美国地质调查局历史地形图数据
113 0
|
8月前
|
JavaScript API C#
C# 将 Word 转化分享为电子期刊
C# 将 Word 转化分享为电子期刊
|
机器学习/深度学习 存储 编解码
如何提取歌曲副歌(高潮)
### 摘要 副歌就是我们日常说的高潮。 副歌分析属于MIR领域的一个小分支,MIR(Music information retrieval)是从音乐中检索信息的跨学科科学,该领域需要数学、乐理、信号处理、机器学习、概率、算法等学科的背景知识。 ### 业界类似方案 - 1:根据能量值、音高区间差异定位 - 2:根据动态歌词定位 - 3:谱聚类&能量值 第一种方式太简单暴
如何提取歌曲副歌(高潮)
|
算法 数据可视化
基于AIE平台的决策树算法的贵州省冬小麦的提取
基于AIE平台的决策树算法的贵州省冬小麦的提取
基于AIE平台的决策树算法的贵州省冬小麦的提取
|
8月前
|
存储 编解码 搜索推荐
放射影像科PACS系统源码
放射影像科PACS系统源码
121 0
BOSHIDA三河博电科技 模块电源的分类(三)
AC/DC 变换是将交流变换为直流,其功率流向可以是双向的,功率流由电源流向负载的称为“整流”,功率流由负载返回电源的称为“有源逆变”。AC/DC 变换器输入为 50/60Hz 的交流电,因必须经整流、滤波,因此体积相对较大的滤波电容器是必不可少的,同时因遇到安全标准(如 UL、CCEE 等)及 EMC 指令的限制(如 IEC、FCC、CSA),交流输入侧必须加 EMC 滤波及使用符合安全标准的元件,这样就限制 AC/DC 电源体积的小型化,另外,由于内部的高频、高压、大电流开关动作,使得解决 EMC 电磁兼容问题难度加大,也就对内部高密度安装电路设计提出了很高的要求,由于同样的原因,高电压、
BOSHIDA三河博电科技 模块电源的分类(三)
|
机器学习/深度学习 自然语言处理 数据可视化
港科大&MSRA新研究:关于图像到图像转换,Finetuning is all you need
港科大&MSRA新研究:关于图像到图像转换,Finetuning is all you need
106 0
BOSHIDA三河博电科技 模块电源的分类(一)
高速发展的计算机技术带领人类进入了信息社会,同时也促进了模块电源技术的迅速发展。八十年代,计算机全面采用了开关电源,率先完成计算机电源换代。接着开关电源技术相继进入了电子、电器设备领域。 计算机技术的发展,提出绿色电脑和绿色模块电源。绿色电脑泛指对环境无害的个人电脑和相关产品,绿色电源系指与绿色电脑相关的高效省电电源,根据美国环境保护署l992年6月17日“能源之星”计划规定,桌上型个人电脑或相关的外围设备,在睡眠状态下的耗电量若小于30瓦,就符合绿色电脑的要求,提高电源效率是降低电源消耗的根本途径。就效率为75%的200瓦开关电源而言,电源自身要消耗50瓦的能源。
BOSHIDA三河博电科技 模块电源的分类(一)
|
数据可视化 数据挖掘 Python
看世界杯也能学画图:R语言ggplot2画热图展示不同国家历届足球世界杯的成绩
看世界杯也能学画图:R语言ggplot2画热图展示不同国家历届足球世界杯的成绩
AIE初探——贵州省地形分析
AIE对标GEE,我们国人自己的遥感计算云平台。
AIE初探——贵州省地形分析