查看选定区域Landsat数据覆盖情况

简介: 查看选定区域Landsat数据覆盖情况

「AI Earth开发者模式于9月30日启动内测用户邀请,已经收到了众多来自高校、科研院所、行业公司用户的积极申请。

非常感谢用户积极体验产品功能并给出有效反馈,协助我们一同建设和完善公有云平台。」


本期开发者实践案例

Landsat 8 影像可用性分析


开发者“小岛学gis的穆 ” 同学在第一时间进行了线上测试,并反馈了有价值的优化建议。同时利用AIEarth开发者模式改写影像数据可用性分析代码,以下为小穆同学在平台上改写的湖北省 Landsat-8 影像可用性分析的案例。


01 初始化环境

使用AI Earth云平台开发者模式,需要先在AIE Notebook编程环境下导入AIE Python SDK包并初始化。

import aie

aie.Authenticate()

aie.Initialize()

# aie.Initialize(aie.g_var.LogLevel.DEBUG_LEVEL)  # 在进行Debug时可使用此代码


02 研究区域选择

AIE平台支持用户直接调用平台上的中国行政区划矢量数据,可以使用STAC ID导入。利用FeatureCollection和filter进行区域筛选,并通过map.addLayer进行区域可视化。


region = aie.FeatureCollection('China_Province') \

           .filter(aie.Filter.eq('province', '湖北省')) \

           .geometry()

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

vis_params = {'color': '#00FF00'}

map.addLayer(region,vis_params,'region',bounds=region.getBounds())

map



03 L8 影像筛选

利用平台提供的ImageCollection函数对影像数据进行检索。


def l8Collection(startdate, enddate):

   images = aie.ImageCollection('LANDSAT_LC08_C02_T1_L2') \

                 .filterBounds(region) \

                 .filterDate(startdate, enddate)\

           .filter(aie.Filter.lte('eo:cloud_cover', 10.0))  

  return images

year = 2021

startDate = '2021-01-01';

endDate = '2022-01-01';

l8 = l8Collection(startDate, endDate)

print(l8.size().getInfo())

vis_params = {

   'bands': ['SR_B4', 'SR_B3', 'SR_B2'],

   'min': 8000,

  'max': 13000,

}

map.addLayer(

  l8.mosaic().clip(region),

  vis_params,

   'True Color (432)',

   bounds=region.getBounds()

)

map



04 影像边界计算与可视化

获得每一景L8影像边界,将单景影像边界Polygon通过FeatureCollection组合成新的矢量边界文件,并进行图层可视化。


def calfootprint(img):

   tmpfootprint = img.getBounds()

   polygon = aie.Geometry.Polygon([[

                                    [tmpfootprint[0], tmpfootprint[1]],

                                    [tmpfootprint[2], tmpfootprint[1]],

                                    [tmpfootprint[2], tmpfootprint[3]],

                                    [tmpfootprint[0], tmpfootprint[3]]]

                                    ])

   return polygon

footprints=[]

size = 50

list_images = l8.toList(count=size).getInfo()

for i in range(size):

   id = list_images[i]['id']

   footprint = calfootprint(aie.Image(id))

   footprints.append(aie.Feature(footprint))

footprints = aie.FeatureCollection(footprints)

visline_params = { 'color': '#d7191c'}

map.addLayer(

   footprints,

   visline_params,

   'footprints',

   bounds=footprints.getBounds()

)

map



05 区域可用影像统计

统计区域内、所选时间段下每期影像覆盖区域内的影像数量,并可视化展示。


def calsize(img):

   img2 =aie.Image(0)

   img3 = aie.Image(1)

   return img.multiply(img2).add(img3);

imgCount= l8.select("SR_B2").map(calsize).sum().clip(region);

vis_params = {

   'bands': ['SR_B2'],

   'palette': ['#d7191c', '#fdae61', '#ffffc0', '#a6d96a', '#1a9641','#FFFFFF','#CE7E45'

               ,'#DF923D','#F1B555','#FCD163','#99B718','#74A901','#66A000','#529400','#3E8601','#207401'

               ,'#056201','#004C00','#023B01','#012E01','#011D01','#011301'],

   'min': 0,

   'max': 100

}

map.addLayer(

   imgCount,

   vis_params,

   'imgCount',

   bounds=l8.getBounds()

)

map




AIEarth团队诚挚邀请相关专业同学进行线上应用体验。目前AIEarth正在征集用户应用案例,优秀案例将会在平台案例广场中共享给众多用户。

相关文章
|
存储 缓存 安全
第二章 HTTP请求方法、状态码详解与缓存机制解析
第二章 HTTP请求方法、状态码详解与缓存机制解析
313 0
|
编译器
GEE脚本——GEE中如何查询历史脚本和防丢失记录
GEE脚本——GEE中如何查询历史脚本和防丢失记录
512 4
|
数据采集 存储 分布式计算
一篇文章搞懂数据仓库:数据治理(目的、方法、流程)
一篇文章搞懂数据仓库:数据治理(目的、方法、流程)
27024 2
一篇文章搞懂数据仓库:数据治理(目的、方法、流程)
|
编解码 定位技术
Google Earth Engine(GEE)——导出后的影像像素不同于原始Landsat影像的分辨率(投影差异)
Google Earth Engine(GEE)——导出后的影像像素不同于原始Landsat影像的分辨率(投影差异)
466 0
|
5月前
|
存储 算法 数据可视化
【二叉树遍历入门:从中序遍历到层序与右视图】【LeetCode 热题100】94:二叉树的中序遍历、102:二叉树的层序遍历、199:二叉树的右视图(详细解析)(Go语言版)
本文详细解析了二叉树的三种经典遍历方式:中序遍历(94题)、层序遍历(102题)和右视图(199题)。通过递归与迭代实现中序遍历,深入理解深度优先搜索(DFS);借助队列完成层序遍历和右视图,掌握广度优先搜索(BFS)。文章对比DFS与BFS的思维方式,总结不同遍历的应用场景,为后续构造树结构奠定基础。
246 10
|
7月前
|
机器学习/深度学习 自然语言处理 语音技术
《双向LSTM:序列建模的强大引擎》
双向长短时记忆网络(BiLSTM)是LSTM的扩展,通过同时处理序列的正向和反向信息,显著提升对序列数据的建模能力。它在每个时间步运行两个LSTM,分别按正向和反向顺序处理数据,融合前后向隐藏状态,捕捉长距离依赖关系和上下文信息,增强模型鲁棒性。BiLSTM广泛应用于文本分类、情感分析、命名实体识别、机器翻译、语音识别及时间序列预测等任务,表现出色。
364 14
Google Earth Engine(GEE) ——如何获取指定研究区范围内的单个影像的时间,这里求具体的天数,以landsat9影像为例。
Google Earth Engine(GEE) ——如何获取指定研究区范围内的单个影像的时间,这里求具体的天数,以landsat9影像为例。
395 0
|
机器学习/深度学习 PyTorch API
ONNX 与实时应用:延迟敏感场景下的部署策略
【8月更文第27天】在实时应用中,如自动驾驶汽车、视频分析系统等,快速响应和高吞吐量是至关重要的。Open Neural Network Exchange (ONNX) 提供了一种标准化的方法来部署机器学习模型,使其能够在不同的硬件和平台上高效运行。本文将探讨如何利用 ONNX 在延迟敏感的应用场景中部署模型,并提供一些策略和示例代码来确保低延迟和高吞吐量。
1131 4
|
数据采集 定位技术 数据库
ArcMap:第一届全国大学生GIS应用技能大赛(滁州学院)详解-上午题1
ArcMap:第一届全国大学生GIS应用技能大赛(滁州学院)详解-上午题
825 1
|
存储 编解码 数据可视化
Google Earth Engine获取随机抽样点并均匀分布在栅格的不同数值区中
【2月更文挑战第14天】本文介绍在谷歌地球引擎(Google Earth Engine,GEE)中,按照给定的地表分类数据,对每一种不同的地物类型,分别加以全球范围内随机抽样点自动批量选取的方法~
1048 1
Google Earth Engine获取随机抽样点并均匀分布在栅格的不同数值区中