Sentinel-5P下载代码测试
介绍Sentinel-5P任务旨在在 2017 年至至少 2023 年之间提供有关空气质量和气候的信息和服务。通过机载 TROPOMI 传感器,它每天对主要大气成分进行全球观测,包括臭氧、二氧化氮、二氧化硫、一氧化碳、甲烷、甲醛以及云和气溶胶特性。该任务旨在确保 Envisat 卫星退役和 NASA 的 Aura 任务与 Sentinel-5 发射之间的数据连续性
手动查询下载地址:
https://s5phub.copernicus.eu/dhus/#/home
官方提供一个账号下载S5P数据
account = 's5pguest'
password = 's5pguest'
借此,我们尝试进行自动化下载。
流程如下:
1.填写数据覆盖的范围
2.填写开始结束日期
3.查询每景影像对应的uuid
4.下载到指定的输出路径
Demo自动下载DEMO如下:
#! usr/bin/env python
# -*- coding:utf-8 -*-
import datetime
import json
from requests import S ...
RPC(rational polynomial coefficients),有理多项式系数。RPC是传感器严格几何模型的拟合形式。是根据卫星平台载荷测量的平台运行轨迹参数、姿态参数、传感器安装参数及传感器内部几何参数构建的像-地关系几何模型,一共有90个参数。
相关理论不再展示,感兴趣去网上搜,现在是基于高分三号进行RPC校正,代码如下:
from osgeo import gdal
import re
import os
#这是一个读取RPC文件的函数
def read_rpb (rpbfile):
with open(rpbfile, 'r') as f:
buff = f.read()
# 关键字1,2(修改引号间的内容)
# 命名参考的网址:http://geotiff.maptools.org/rpc_prop.html
ERR_BIAS1 = 'errBias = ' # 错误-偏差。图像中所有点的RMS偏差误差(单位:米/水平轴)(-1.0,如果未知)
ERR_BIAS2 ...
相关理论不再展示,感兴趣去网上搜,现在是基于图片图片进行匀色,代码如下:
# -*- coding: utf-8 -*-
# @Time : 2022/01/05 10:18
import numpy as np
from matplotlib import pyplot as plt
import cv2
import matplotlib
import time
# 进行直方图匹配的函数
def arrayToHist(grayArray,nums):
if(len(grayArray.shape) != 2):
print("length error")
return None
w,h = grayArray.shape
hist = {}
for k in range(nums):
hist[k] = 0
for i in range(w):
for j in range(h):
if(hist.get(grayArray[i][j]) is ...
为了能够使用numpy,我们需要使用import numpy导入库。此外,指定np代表numpy:
import numpy as np
现在,我们可以通过输入np.name_of_function来访问numpy中所有可用的函数。例如
max = np.max(img) # 包含无效值
max2 = np.nanmax(img) # 排除无效值
上面这两个函数是有区别的,在遥感中要注意到二者的区别,这一点会再专门的写一篇文章介绍。
在numpy中定义的大多数函数和操作都可以应用于数组。
尝试向其中一个数组添加另一个数字,看看会发生什么。通常,数组需要具有相同的尺寸….
例如:
arr1 = np.array([1,2,3,4])
arr2 = np.array([3,4,5,6])
arr3 = np.add(arr1, arr2)
print(arr3)
数组可以被分割。我们可以使用索引符号[starte: end:stride]来获得数组的子集。让我们来看看这意味着什么:
arr = np.array([0,1,2,3,4,5,6,7,8,9,10])
print( ...
由来我是研一接触的python,但是老实说,一直感觉编程是不得劲的,写代码有时候是云里来雾里去,没有悟到了精髓。2018年GEE大热,我跟风学了起来GEE,GEE说实在是一个平台、工具,用的JS语法,可是大部分时间在调API接口。2020年开始使用到matlab,慢慢的了解到cody,于是有了后面的故事。
CODYCODY是Matlab官方社区的一个游戏活动平台,供大家分享问题,解决问题。通过解决问题提高MATLAB程序技能,学习他人代码思路和用法,“开阔眼界”, 也可以与志同道合的MATLAB爱好者一起以代码交流。
cody类似于leetcode,但是比leetcode容易很多,考验更多的是你是怎么实现具体的功能。
我的CODY经历
我在cody上做了100多道题,慢慢觉得编程很有趣。一开始是字符的处理,到后面关注的是矩阵的处理。有一道题是:均值滤波器是怎么实现的。
function B = med_filt(A)
%读取A的行列
[n1 m1]=size(A);
%创建与A大小一致的0矩阵
C=zeros(n1,m1);
%边缘使用0填充,填充第一行
A1=[C(1,:);A, ...
什么是 H5 文件?H5 是用于存储大量数据的分层数据格式 (HDF) 之一。它用于以多维数组的形式存储大量数据。该格式主要用于存储组织良好的科学数据,以便快速检索和分析。H5 是作为 H4 的一种更增强的文件格式引入的。它现在由 HDF Group 提供支持。
HDF 文件格式简史HDF 文件格式被 NASA 选择为存储科学数据的标准方法。在此之前,图形基础工作组(Graphics Foundations Task Force,GFTF)于1987年开始制定这样的标准,HDF在对15种不同的文件格式进行调查后被正式批准。
HDF5 文件格式H5 文件采用符合 HDF5 文件格式规范的分层数据格式。这些规范奠定了存储在磁盘上的 HDF5 文件的整体结构,但最终用户不需要这些底层细节。
H5文件常用于航空航天、物理、工程、金融、学术研究、基因组学、天文学、电子仪器和医学领域。
HDF5 数据模型HDF5 文件就像一个由异构数据对象组成的容器。例如,这些数据集可以是图像、表格、文本元素、图形,甚至是PDF和Excel 文档等文档。
读写H5文件大概流程是查询文件里的主键,读取主键的数据
以 ...
matlab中文翻译过来叫做“矩阵实验室”,众所周知,遥感图像是图像, 图像是矩阵,所以matlab处理遥感图像很在行。
matlab一直是科研圈子里验证算法或者研究算法的利器,以前听师兄说,matlab除了不会生孩子之外,什么都能做。
下面是一段matlablandsat 8 原始影像的代码.
代码大概的流程是:
1.分别读取第一波段到第七波段,得到七个矩阵,就是七个图像。
2.读取元数据xml,各自波段进行辐射定标,得到辐亮度数据。
3.进行系统级大气校正,得到TOA大气顶部反射率。(不是SR地表反射率)
4.将原始DN值量化为1,因为原始的Landsat 8 是16bit。进行原始影像真彩色合成, 并可视化。
5.利用TOA进行水体指数NDWI计算, 并可视化。
clc;clear all;close all;
for i=1:7
%设置待处理读取文件的路径
loadpath = 'D:\DDD\a2.28\input\landsat 8\LC81220442017296LGN00';
txt='*_MTL.txt';
fi ...
python
未读我常常分不清楚python中的args和*kwargs的用法,所以才有这篇文章的编写的必要性。
args、*kwargs主要用于函数定义,可以将不确定个数的参数传递给一个函数。
在 Python 中,通过在函数定义中的参数名称的头部添加*和**(一个或两个星号),
可以在调用函数时指定任意数量的参数(可变长度参数)。
注意,参数的英文是argument。
*args一般的函数是确定参数的个数的。在这里,不确定个数的意思是,预先不知道使用者会传
递多少个参数。*args是代表一个非键值对的可变数量的参数列表给一个函数。
def test_args(*args):
if len(args) !=0:
for arg in args:
print('参数是:%s'%arg)
else:
print('这个函数没有输入参数')
test_args('1','2',3)
test_args()
test_args(‘1’,’2’,3)会返回:
参数是:1
参数是:2
参数是:3
test_args()会返回:
这个函数没有输 ...
为什么要监测珊瑚礁?原因有二:
1.研究珊瑚礁与气候的关系。因为珊瑚礁与海温是密切相关。
2.因为珊瑚礁基线变化导致海域丧失。
多数国家普遍承认,管辖范围从领海(距海岸或礁石低水位线最多 12 海里)到最多 200 海里的专属经济区。
专属经济区编纂了航行自由规则,并允许各国开发、保护和管理邻近水域的资源。
对于珊瑚岛,珊瑚礁的外部‘低潮线’被用作建立海域的法律基线。
现有主张的一种方法是使用 GPS 等地理坐标或卫星测深等遥感方法定义珊瑚礁基线。以防珊瑚礁自然消失。
气候变化以四种可能影响海洋边界的方式破坏珊瑚礁系统:海平面上升、海洋变暖、海洋酸化和风暴增加。
每一个都对相互关联的生物物理过程产生影响,这些过程允许珊瑚礁和岛屿的形成、撤退和整体结构稳定性。
例如,较高的温度会引发珊瑚和其他无脊椎动物(如巨型蛤蜊)中藻类共生体的排出,导致珊瑚白化,如果足够多的珊瑚生物死亡,可能会导致珊瑚礁坍塌。在未来的几十年里,这可能会导致珊瑚礁外部低水位线的收缩,从而降低海洋主张的基础。
随着海洋吸收越来越多的二氧化碳,海洋酸化,降低了它们的矿物质饱和度,使珊瑚更难形成。像鹿角珊瑚这样的造礁物种—— ...
其他知识
未读为什么物体潮湿时会变暗?
你是否想过,为什么向地上倒了一摊水,土地就变暗了?
首先,我们要知道,物体的亮或暗,取决于反射的光的数量。反射的光线多,就比较亮;反射的光线少,就比较暗。
当我们向土地倒水的时候,湿的那块地的表面就有一层水。在此之前,光可以100%击中那块地,现在必须穿过那层水才能被地面反射。有一些光会被水面反射,还有一些光会在水中被吸收,所以地面接受的光量就比以前少。
另外,光进入水中后,一部分光会出现漫反射,反射到人眼的光量进一步减少。
以上两个原因,使得一个物体变湿以后,人眼接收到的光量要小得多。这就是为什么物体潮湿时看起来更暗的原因。
严格的说,这个世界上其实就没有颜色,大自然不会在意自己是不是五颜六色,是不是漂亮或好看!颜色只是人类的眼睛和不同波长的光相互作用以后,在大脑里反应出来的结果。如果没有人类,当然也没有颜色这个说法。
大部分物体的原子会吸收光线,但不同物体的原子的口味不同,喜欢吸收的光线波长不同。例如,蓝色的牛仔裤,它就喜欢吸收除了蓝色以外的所用颜色的光,将不喜欢的蓝色发射出来被我们眼睛看到,我们就说这个裤子是蓝色的。