由来我是研一接触的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%击中那块地,现在必须穿过那层水才能被地面反射。有一些光会被水面反射,还有一些光会在水中被吸收,所以地面接受的光量就比以前少。
另外,光进入水中后,一部分光会出现漫反射,反射到人眼的光量进一步减少。
以上两个原因,使得一个物体变湿以后,人眼接收到的光量要小得多。这就是为什么物体潮湿时看起来更暗的原因。
严格的说,这个世界上其实就没有颜色,大自然不会在意自己是不是五颜六色,是不是漂亮或好看!颜色只是人类的眼睛和不同波长的光相互作用以后,在大脑里反应出来的结果。如果没有人类,当然也没有颜色这个说法。
大部分物体的原子会吸收光线,但不同物体的原子的口味不同,喜欢吸收的光线波长不同。例如,蓝色的牛仔裤,它就喜欢吸收除了蓝色以外的所用颜色的光,将不喜欢的蓝色发射出来被我们眼睛看到,我们就说这个裤子是蓝色的。
计算机显示图像主要以两种方式的数据类型:浮点型和整型。
浮点型:图像范围大小在0:1之间
整型:图像范围大小在0:255之间
其中,0:255的整型也称为8bit,8字节。一个字节代表01,8个字节也就是2的8次方,等于255。正常图像通常是8bit,即可直接在手机端或者PC端直接显示。
若R、G、B每种颜色使用一个字节(8bit)表示,每幅图像可以有1670万种颜色;
若R、G、B每种颜色使用两个字节(16bit)表示,每幅图像可以有10的12次方种颜色;
如果是灰度图像,每个象素用一个字节(8bit)表示,一幅图像可以有256级灰度;
若每个象素用两个字节(16bit)表示,一幅图像可以有65536级灰度。
理论上说,16bit的图像,灰度级数和颜色比8bit的好得多,但是,还得看你的印刷硬
件是否支持那么多灰度级数和颜色的印刷。如果在普通显示器上观看,两者并没有什么差别。
色彩深度(Depth of Color),色彩深度又叫色彩位数。视频画面中红、绿、蓝三个颜色
通道中每种颜色为N位,总的色彩位数则为3N,色彩深度也就是视频设备所能辨析的色彩
范围。目前有18bit、24bi ...
有时候,看地图会误判,地图上俄罗斯过大(6400公里),非洲过小(7200公里)。
这并不是地图画错了,而是地球为球形,投影成平面地图会失真,高纬度地区被拉长了。
1. 地理坐标系地理坐标系统(Geographic Coordinate System),是一种球面坐标,是使用三维球面来定义地球表面位置,以实现通过经纬度对地球表面点位引用的坐标系。表示单位为度;常规叫为东经、西经、南纬、北纬。目前国际上最通用的标准是WGS84坐标系,我国当前最新的标准是国家大地坐标系(CSCS2000),CSCS2000与WGS84相差几厘米,对于一般的工程测量,可以认为两者是一致的。
2. 投影坐标系投影坐标系统(Projection Coordinate System),是一种平面坐标。利用一定数学法则把地球表面的经、纬线转换到平面上投影坐标系使用;基于X,Y值的坐标系统来描述地球上某个点所处的位置。这个坐标系是从地球的近似椭球体投影得到的;表示单位为米。
3. web墨卡托投影Web Mercator(墨卡托)是以整个世界范围,赤道作为标准纬线,本初子午线作为中央经线,两者交点为坐标原点,向 ...
SAR的一级数据的无物理意义的DN值,而二级数据则是带有坐标信息的后向散射系数信息(图像)
1.简介这是针对国产合成孔径雷达遥感影像预处理的算法。
2.特点1.分块实现sar预处理:1L数据到1LB级数据再到2级数据。内存少的电脑可以把分块大小调整小数值。
2.自动查到元数据相应的数值,自动生成2级产品
3.如何将1L的数据转化为2L的数据以GF3为例。
校准常数的获取
标定常数由角反射器和标定场已知雷达截面积的主动常数确定。公式如下
在上式:
P^I= I^2+Q^2对应于SAR复像中有源标量或角反射器的幂,I和Q分别对应1A类复像的实部和虚部
高分三号卫星的等效后向散射系数为:
1)分辨率1m~10m,成像边缘优于-19dB;
2)分辨率为25m~500m,成像中心优于-25dB,成像边缘优于-21dB。
因此,忽略噪声的影响,上式可简化为:
将每个参数替换为dB值,即
在产品元数据文件中,字段CalibrationConst对应于KdB。
4.校准常数的使用后向散射系数可按以下关系式计算:
I为1A级产品的实部,Q为1A级产品的虚部,QualifyValue为量化前场景图 ...
农业遥感
农业遥感的一个基础方向是农作物分类,农作物分类的基础在于要了解农作物的生长周期,打个比方就是:
1.植物越绿,NDVI值越高
2.植物不绿了,NDVI值变低
3.植物的生长期、 成熟期、收割期,即植物是什么时候绿,什么时候黄。
NDVI = (近红外-红)/(近红外+红)
上个式子重点观察分子,也就是 近红外-红,用近红外波段和红波段的值来判断植物是否绿油油。
背后的原理基于人眼对颜色的判别。首先说一个更基础的问题:正常的植物为什么是绿色的?那是因为植物会吸收蓝光和红光,对绿光不敏感,所以反射绿光,并且我们眼睛只对可见光敏感,看不见近红外波段之外的光。总之,正常植物大量反射近红外光,小量反射绿光,大量吸收蓝光和红光。
冬小麦的物候及分类策略冬小麦,和其他植物不一样的地方在于,它是10月播种,这时慢慢变绿但总体不绿;过冬是保持期;生长期是次年的3月到4月,这个阶段慢慢变绿,而且是很绿;收获期是次年的5月到6月,这阶段植被黄了,甚至是秃了。
总结起来就是:
1.如果该像素是冬小麦,那么10月的影像中它的NDVI很低,但不完全低
2.如果该像素是冬小麦,那么3、4月的影像中它的N ...