查看选定区域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正在征集用户应用案例,优秀案例将会在平台案例广场中共享给众多用户。

相关文章
|
3月前
|
定位技术
GEE(CCDC-3)——根据CCDC segment分割后的影像进行地类变化统计和绘制土地覆被变化地图
GEE(CCDC-3)——根据CCDC segment分割后的影像进行地类变化统计和绘制土地覆被变化地图
101 0
|
12月前
|
搜索推荐 Linux Python
VET:一个基于R语言的VCF数据提取工具,支持按基因ID、物理位置、样品名称提取指定变异信息
VET:一个基于R语言的VCF数据提取工具,支持按基因ID、物理位置、样品名称提取指定变异信息
|
1天前
|
数据采集 机器学习/深度学习 算法
5.2.3 检测头设计(计算预测框位置和类别)
这篇文章详细介绍了YOLOv3目标检测模型中的检测头设计,包括预测框是否包含物体的概率计算、预测物体的位置和形状、预测物体类别的概率,并展示了如何通过网络输出得到预测值,以及如何建立损失函数来训练模型。
5 1
|
9天前
|
机器学习/深度学习 JSON 算法
|
1月前
|
编解码 定位技术
【工具分享】如何批量获取图片详细信息,如何把图片的属性信息包括文件路径、文件名、面积尺寸、创建日期、修改日期、水平垂直分辨率、文件大小等图片信息批量提取exel表格中
本文介绍了如何批量提取图片的属性数据到Excel,包括文件名、尺寸、面积、分辨率、GPS信息、创建和修改日期。适合需要处理大量图片信息的工作场景。支持批量导入图片,一键提取各项信息,并能直接导出为表格。
|
3月前
GEE图表——趋势线图表的加载和展示包含纵坐标间隔的设定(以某区域年均降水总量为例)
GEE图表——趋势线图表的加载和展示包含纵坐标间隔的设定(以某区域年均降水总量为例)
58 0
|
3月前
|
定位技术
基于ENVI实现栅格遥感影像按图层行列号与像元数量划定矩形研究区域并裁剪
基于ENVI实现栅格遥感影像按图层行列号与像元数量划定矩形研究区域并裁剪
|
3月前
ArcGIS矢量面要素中零碎小面积空洞区域补全与单独部分区域分离并剔除
ArcGIS矢量面要素中零碎小面积空洞区域补全与单独部分区域分离并剔除
104 1
|
3月前
|
C++
[Halcon&定位] 解决Roi区域外的模板匹配成功
[Halcon&定位] 解决Roi区域外的模板匹配成功
119 0
|
编解码 前端开发 PHP
悬浮坐标解决方案:如何在图片获取xy鼠标位置和增加标注信息
悬浮坐标解决方案:如何在图片获取xy鼠标位置和增加标注信息
121 0