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

相关文章
|
8月前
|
定位技术
GEE(CCDC-3)——根据CCDC segment分割后的影像进行地类变化统计和绘制土地覆被变化地图
GEE(CCDC-3)——根据CCDC segment分割后的影像进行地类变化统计和绘制土地覆被变化地图
242 0
ArcMap矢量图层的零碎、空洞区域填补与独立区域剔除:消除面部件
本文介绍在ArcMap软件中,基于消除面部件(“Eliminate Polygon Part”)工具,对矢量面要素的零碎、空洞区域加以删除,同时将游离于要素主体之外的部分剔除的方法~
112602 1
ArcMap矢量图层的零碎、空洞区域填补与独立区域剔除:消除面部件
|
5月前
|
数据采集 机器学习/深度学习 算法
5.2.3 检测头设计(计算预测框位置和类别)
这篇文章详细介绍了YOLOv3目标检测模型中的检测头设计,包括预测框是否包含物体的概率计算、预测物体的位置和形状、预测物体类别的概率,并展示了如何通过网络输出得到预测值,以及如何建立损失函数来训练模型。
|
5月前
|
机器学习/深度学习 JSON 算法
|
8月前
ArcGIS矢量面要素中零碎小面积空洞区域补全与单独部分区域分离并剔除
ArcGIS矢量面要素中零碎小面积空洞区域补全与单独部分区域分离并剔除
171 1
|
8月前
GEE:获取sentinel2指定区域多个单景影像的值(样本点提取)
GEE:获取sentinel2指定区域多个单景影像的值(样本点提取)
191 0
|
8月前
|
定位技术
基于ENVI实现栅格遥感影像按图层行列号与像元数量划定矩形研究区域并裁剪
基于ENVI实现栅格遥感影像按图层行列号与像元数量划定矩形研究区域并裁剪
|
JavaScript 前端开发
25EasyUI 数据网格- 设置冻结列
25EasyUI 数据网格- 设置冻结列
113 0
C++ 计算一个区域的内切圆, 区域内的一个点
C++ 计算一个区域的内切圆, 区域内的一个点
92 0
|
存储
ArcGIS根据相邻关系提取相邻面&提取面公共线
这是一份建筑面数据建筑面数据,这个面图层中有很多个面,有些面相互挨着的,有些单独分布,不与其他任何面相邻。如何把有相邻面的面全部给提出来
225 0