《海洋遥感与信息技术》
—实验指导
编写:李灿苹
信息学院
班级:
姓名:
学号:
实验一 利用Matlab读取并显示遥感L3A数据
实验目的河南省旅游景点
1.了解遥感L3A产品数据;
2.运用MATLAB读取遥感L3A数据,并显示。
实验原理及内容
1. 遥感L3A产品
表:遥感产品级别的定义
产品级别 | 定义 |
L0 | 卫星地面站接收的原始数据流 |
L1A | L0经过冗余信息去除后的数据,L1A只对SeaWiFS定义 |
L1B | L0经过冗余信息去除、地理定位和辐射定标后的数据 订婚仪式流程 |
L2或L2A | 由L1B反演得到的地球物理要素信息数据 |
L3A | 由L2A经地图投影和数据重采样得到的单轨遥感专题产品 |
L3B | 具有固定时间周期的多轨L3A数据融合得到的遥感专题产品 |
L4A | 对老师的新年祝福 在L3B数据基础上制作的地球物理要素场的等值线遥感专题图和海洋水文、动力信息遥感专题图 |
2. MATLAB读取遥感L3A数据,并显示
以读取数据“MOA_200406180542_3A_CHL.DAT”为例:
strFname = 'MOA_200406180542_3A_CHL.DAT';
if(isFile(strFname))
[flag,l3a] = ReadL3AHeader(strFname);
这里包含两个函数子程序,即isFile.m和ReadL3AHeader.m
isFile.m为文件名函数子程序;ReadL3AHeader.m为遥感数据头文件函数子程序。
读取遥感数据参考程序:
clear all;
close all;
clc;
% strFname = 'E:\RSDATA\L3A\MOA_201103140607_3A_CHL.DAT';
strFname = 'MOA_200406180542_3A_CHL.DAT';
if(isFile(strFname))
[flag,l3a] = ReadL3AHeader(strFname);
if flag==1
lat = linspace(l3a.Lat_max,l3a.Lat_min,l3a.Row);
lon = linspace(l3a.Lon_min,l3a.Lon_max,l3a.Col);
fid = fopen(strFname,'r');
fseek(fid,1028,'bof'); %从1028位置开始读数据
data = fread(fid,l3a.Row*l3a.Col,'uint16');
fclose(fid);
data(data==0) = NaN; %将零数据置成非数,否则后面运算将出错
data = data*l3a.Slope+l3a.Offset;
%判断是否是叶绿素,如果是则要进行对数运算
if (l3a.Product(1:3)') == 'CHL'
data = log10(data);
end
data = reshape(data,l3a.Col,l3a.Row); %将源数据变成二维数据
data = data';
% 显示图像
imagesc(lon, lat, data); colorbar;
axis xy; xlabel('经度'); ylabel('纬度');
end
end
实验分析
观察程序运行结果,掌握、分析读取和显示遥感L3A数据的方法。
实验总结
总结实验认识、过程、效果、问题、收获、体会、意见和建议。
工人入党转正申请书实验二 利用Matlab裁剪遥感L3A指定区域数据并显示
实验目的
1.运用MATLAB读取遥感L3A数据;
排球技术2. 利用MATLAB剪裁遥感L3A指定区域数据,并显示。
实验原理及内容
1. MATLAB读取L3A数据
实验一中已有叙述,具体程序见实验一。
2. MATLAB剪裁遥感L3A指定区域数据,并显示
在实验一程序基础上,再增加以下程序:
if 循环外增加以下语句:
dz = [109 118 20 24 ]; %确定数据研究区域,即剪裁区域
if二重循环里添加以下程序:
%剪裁指定区域 dz = [109 118 20 24 ];
idx = find( ( lon>=dz(1) ) & ( lon<=dz(2) ) );
idy = find( ( lat>=dz(3) ) & ( lat<=dz(4) ) );
lon = lon(idx);
lat = lat(idy);
data = data(idy,idx);
% 显示图像
figure(2);
imagesc(lon, lat, data); colorbar;
axis xy; xlabel('经度'); ylabel('纬度好的男子专科');
完整程序如下:
clear all;
close all;
clc;
% strFname = 'E:\RSDATA\L3A\MOA_201103140607_3A_CHL.DAT';
dz = [109 118 20 24 ]; %数据研究区域
strFname = 'MOA_200406180542_3A_CHL.DAT';
if(isFile(strFname))
[flag,l3a] = ReadL3AHeader(strFname);
if flag==1
lat = linspace(l3a.Lat_max,l3a.Lat_min,l3a.Row);
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论