哨兵2号在SNAP中去云处理

news2025/2/12 14:48:42

1.Fmask软件对1C级产品进行处理,识别像素类别

不知道Fmask是什么可以先去百度一下
软件下载,链接到github地址
在这里插入图片描述
我下载的是4.5版本,无脑安装即可。
双击打开软件(需要等一会),长这样
在这里插入图片描述
路径选择E:\S2\S2A_MSIL1C_20220806T032531_N0400_R018_T49RBQ_20220806T054540\S2A_MSIL1C_20220806T032531_N0400_R018_T49RBQ_20220806T054540.SAFE\GRANULE\L1C_T49RBQ_A037195_20220806T033824
在这里插入图片描述
点击run
在这里插入图片描述
状态会发生变化
在这里插入图片描述
当然也可以采用python实现,详见这个链接
Python会运行快一些,但是生成的是.img格式,转成tif好像多了些奇怪的值。故还是用软件吧!哪个简单用哪个
在这里插入图片描述
显示finished表示运行完毕
在这里插入图片描述
可以看到里面多了一个t文件夹,里面是Fmask.tif文件。

DN值所代表的含义如下:
0 => clear land pixel

1 => clear water pixel

2 => cloud shadow

3 => snow

4 => cloud

255 => no observation

运行完之后,我们会得到一个tif文件,因为我们只需要云掩膜也就是保留0和1的像元(纯净的陆地像素与纯净的水像素),其他和云相关的像元删掉,也就是将云所在的像素去掉。这里采用python实现,代码如下:

from osgeo import gdal, ogr, osr
import os
import datetime

path = r"cloud.tif"

if __name__ == '__main__':
    start_time = datetime.datetime.now()

    inraster = gdal.Open(path)
    inband = inraster.GetRasterBand(1)
    prj = osr.SpatialReference()
    prj.ImportFromWkt(inraster.GetProjection())

    outshp ="mask_cloud.shp"#记得改一下文件名路径
    drv = ogr.GetDriverByName("ESRI Shapefile")
    if os.path.exists(outshp):
        drv.DeleteDataSource(outshp)
    polygon = drv.CreateDataSource(outshp)
    poly_layer = polygon.CreateLayer(path[:-4], srs=prj, geom_type=ogr.wkbMultiPolygon)
    newfield = ogr.FieldDefn('value', ogr.OFTReal)
    poly_layer.CreateField(newfield)

    gdal.Polygonize(inband, None, poly_layer, 0)
    polygon.SyncToDisk()
    polygon = None

    # 打开生成的 Shapefile 文件
    shp_datasource = ogr.Open(outshp, 1)
    shp_layer = shp_datasource.GetLayer()

    # 遍历要素并删除 value 不为 0 或 1 的要素
    shp_layer_def = shp_layer.GetLayerDefn()
    delete_indices = []
    for i in range(shp_layer.GetFeatureCount()):
        feature = shp_layer.GetFeature(i)
        value = feature.GetField("value")
        if value != 0 and value != 1:
            delete_indices.append(i)
        feature = None

    # 从后往前删除要素,避免索引错位
    for idx in reversed(delete_indices):
        shp_layer.DeleteFeature(idx)

    # 重新同步文件
    shp_layer.ResetReading()
    shp_datasource.SyncToDisk()

    end_time = datetime.datetime.now()
    print("Succeeded at", end_time)
    print("Elapsed time:", end_time - start_time)

注意需要有gdal库,推荐本地安装,这里不会可以看这篇文章。

运行完这段代码后会得到一个掩膜文件,用ArcGIS打开长这样,1值代表有效像素
在这里插入图片描述

2.1C级产品生成云掩膜后再批量进行sen2cor大气校正

这我相信你会的!
然后把校正后的2A级产品用SNAP打开

3.批量重采样与掩膜操作

1.导入2A级产品在这里插入图片描述

你应该知道吧,先重采样到你先要的分辨率,这里我们选择10m.

2.导入我们在第1步生成的云掩膜文件

这时候就要进行我们的掩膜操作了(有什么疑问的去看官方文档,点一下“帮助”认真读一下)
在这里插入图片描述
找到vector Data文件夹,选中之后点击上方菜单栏Vector-import-shp
在这里插入图片描述
在这里插入图片描述
记得这里选否不然每个多边形都生成一个文件
在这里插入图片描述
可以看导在Vector Data下面和Masks下面多了一个mask
双击打开可以看到它的属性值,1代表有效像素,0代表无效像素,我们需要抠掉的像素
在这里插入图片描述
在这里插入图片描述
这里最好先重采样到10m,我找了一景重采样之后的影像来做演示
在这里插入图片描述看看效果,mask是否完全覆盖了云
在这里插入图片描述
然后进行掩膜操作,说白了就是把有云的地方抠掉,然后再进行后续的镶嵌操作补上来,云多真没办法,哎!误差大。

3.SNAP掩膜操作

在这里插入图片描述
输入输出参数,选好路径即可
在这里插入图片描述
处理参数选择使用矢量掩膜,拉到最后选择我们之前用Python生成的那个shp文件
在这里插入图片描述
波段那里全选。点击run运行即可。
可以看到掩膜之后相当于把云抠掉了
在这里插入图片描述

然后再选取同一传感器,同一地点,相近时间的影像在SNAP软件中做同样的处理
然后把他们镶嵌在一起
在这里插入图片描述
注意是选择dim文件,对话框里面有三个选项卡,I/O Parameters(输入输出参数),Map Projection Definition
(定义投影)和Variables&Coniditions(变量和条件)。首先我们在输入输出参数选项卡中指定输入的影像,点击下面箭头指向的"加号”即可选择所需影像文件。在本选项卡内还需要对Nme(文件名)、文件输出类型和目录进行设置。
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
运行完毕!
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/864230.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【uniapp】滚动相关

1、滚动到一定区域,顶部内容置换并置顶 功能: 当我向下滚动时,当关注那一行快到顶部的时候,把左侧区域的内容切换成右侧区域的内容,并置顶 原先我使用v-if来显示隐藏,发现会出现闪屏的现象,后来…

丁基胶塞市场报告-行业现状及未来发展趋势

▌产品定义及统计范围 丁基胶塞具有吸湿率低、化学性好、气密性好及无生理毒副作用等显著特点, 广泛应用于抗生素粉针剂、大输液、冻干制剂等药物的密封包装及导出。 ▌丁基胶塞行业目前现状分析 丁基胶塞市场集中度较低,产品高度分化。全球主要厂商集中在欧美中…

【STM32RT-Thread零基础入门】 2. 新建RT-Thread项目

硬件:STM32F103ZET6、ST-LINK、usb转串口工具 文章目录 前言一、新建RT-Thread项目二、项目结构三、构建项目四、下载程序(调试器下载)五、终端交互总结 前言 RT-Thread的全称是Real Time Thread,顾名思义,它是一个嵌…

深眸科技|发现AI+3D视觉的价值,技术升级加速视觉应用产品国产替代

随着中国工业化进程的不断深入和智能制造浪潮的影响,工业生产对于机器视觉技术的需求不断攀升,其应用范围覆盖了工业领域的众多行业,包括3C电子、汽车、半导体、新能源、物流等。 据GGII发布的最新数据显示,近年来我国机器视觉市…

spring cloud alibaba 应用无法注册到sentinel dashboard

一。技术背景 由于升级jdk17的需要 我们将项目中的 spring cloud spring cloud alibaba 以及springboot进行了升级 各版本如下 spring cloud 2021.0.5 spring cloud alibaba 2021.0.5.0 spring boot 2.6.13 二。问题表现 当启动项目服务后,服务无法注册到 sentin…

Mongodb:业务应用(2)

需求: 1、获取保存到mongodb库中的搜索记录列表 2、实现删除搜索记录接口 保存搜索记录数据参考上篇Mongodb:业务应用(1)_Success___的博客-CSDN博客 获取记录列表 1、创建controller package com.heima.search.controller.v1;…

工业软件Halcon的常用功能及常用工具展示

工业软件Halcon的常用功能及常用工具展示 1.BLOB特征2.BLOB差分特征3.光度立体4.特征训练5. 测量拟合6. 频域空间域结合法7.深度学习法总结 1.BLOB特征 官方示例子:surface_scratch.hdev 该程序显示了通过局部阈值和形态学后处理提取表面划痕,一共分为三…

MVVM下的Jetpack核心组件

前言 Jetpack 架构组件及 “标准化开发模式” 确立,意味着Android 开发已步入成熟阶段,只有对 MVVM 确有深入理解,才能自然而然写出标准化、规范化代码。 本次笔者会浅入浅出的介绍以下内容,由于它是一个我的学习总结记录&#…

动力节点|老杜Vue完整版教程,轻松掌握前端火爆框架

Vue拥有非常好的可用性和可组合性、试图像用户提供最少的API和尽可能的自然行为。 Vue之所以如此受欢迎和火爆,主要是由于以下几个原因: 1. 更简单的使用方式:Vue的API设计易于学习和使用,他的响应式系统可以自动追踪依赖关系&am…

[Idea热部署]两秒钟学会热部署

两者同时适配好,保证没有问题 哈,谢谢各位同志的阅读,然后呢如果觉得本文对您有所帮助的话,还给个免费的赞捏 Thanks♪(・ω・)ノ

信息安全:防火墙技术原理与应用.

信息安全:防火墙技术原理与应用. 防火墙是网络安全区域边界保护的重要技术。为了应对网络威胁,联网的机构或公司将自己的网络与公共的不可信任的网络进行隔离,其方法是根据网络的安全信任程度和需要保护的对象,人为地划分若干安全…

安装Qt选择组件

最近在做Qt相关的开发,首先搭建开发环境,刚开始对组件这块不是很熟悉,需要了解这方面的知识,写下来主要是方便记住关于选择组件的说明,Qt版本是最新的长期维护版本,版本号:6.5.2 一、选择要安装…

辽宁线上3D三维虚拟工厂生产仿真系统应用场景及优势

工厂虚拟仿真是一种基于计算机技术和虚拟现实技术的数字化解决方案,它可以通过模拟工厂中的设备、流程和操作,来为工程师和操作人员提供了一个沉浸式的虚拟环境,帮助他们更好地了解和优化工厂生产过程。 工厂VR三维可视化技术为工业生产提供了…

warning: remember to run ‘libtool --finish /usr/local/1/php-7.4.29/libs

ubuntu上php7.4.33编译安装完成后警告报错,如下所示 # /usr/local/apache2/apr/build-1/libtool --finish /usr/local/soft/php-7.4.33/libs # vim /etc/ld.so.conf.d/local.conf /usr/local/lib /usr/lib64 # ldconfig 或者安装依赖服务,重新编译 #…

typecho 全站开启Https证书访问

原文地址:https://zhuoyue360.com/jyjl/107.html typecho 全站开启Https证书访问 https://zhuoyue360.com/ 网站已经很久没更新了, 最近决定重新把博客捡起来. 今天把ssl证书倒腾了一下,做个小记录! 1. 前提步骤 拥有SSL证书已将域名解析到服务器上,并配置了 Ngi…

电子企业MES管理系统的选型要素有哪些

随着全球电子行业的快速发展,电子企业面临着日益激烈的竞争和不断变化的市场需求。为了应对这种挑战,许多电子企业开始考虑引入MES管理系统解决方案来提高生产效率和管理水平。然而,在选择适合的MES生产管理系统之前,电子企业需要…

CTF之流量分析之密码文件

题目地址:BUUCTF在线评测 题目: 深夜里,Hack偷偷的潜入了某公司的内网,趁着深夜偷走了公司的秘密文件,公司的网络管理员通过通过监控工具成功的截取Hack入侵时数据流量,但是却无法分析出Hack到底偷走了什…

java面试总结(一)SnailClimb/JavaGuide

晚上标题党太多,拿着各种免费资料来收费,各种加微信购买解密密码的充斥百度搜索。 博主无套路分享: 阿里10w字Java面试手册 JAVA核心面试知识整理 1000道专题Java面试题手册 Java 基础 知识点/面试题总结 : (必看 Java 基础常见知识点…

c语言每日一练(5)

前言:每日一练系列,每一期都包含5道选择题,2道编程题,博主会尽可能详细地进行讲解,令初学者也能听的清晰。每日一练系列会持续更新,暑假时三天之内必有一更,到了开学之后,将看学业情…

创建和使用角色(RHCE)

题目: 创建和使用角色 根据下列要求,在 /home/curtis/ansible/roles 中创建名为 apache 的角色: httpd 软件包已安装,设为在系统启动时启用并启动 防火墙已启用并正在运行,并使用允许访问 Web 服务器的规则 模板文件 i…