读取TIF图像的经纬度网格数据

info = geotiffinfo('D:\1KM NDVI数据\裁剪数据\2001.tif');
pop1990 = imread('D:\1KM NDVI数据\裁剪数据\2001.tif');
imshow('D:\1KM NDVI数据\裁剪数据\2001.tif')
% 获取各格点经纬度





lat = zeros(size(pop1990,1),size(pop1990,2));
lon = zeros(size(pop1990,1),size(pop1990,2));
x=lat;
y=lon;
for i = 1 : size(pop1990,1)
for j = 1 : size(pop1990,2)
[x(i,j),y(i,j)] = pix2map(info.RefMatrix, i, j);
end
end
[lat,lon] = projinv(info,x,y);


% 将经纬度和图像数据转换为一列
lat_col = lat(:);
lon_col = lon(:);
pop1990(pop1990(:, 3) < -1 | pop1990(:, 3) > 1, 3) = 0;
pop1990_col = pop1990(:);



% 将三列数据组合成一个新数组
result = [lat_col, lon_col, pop1990_col];
save('C:\Users\y8143\Desktop\rs\result.mat', 'result');

读取tif数据的各个网格点的经纬度数据,并生成lat,lon,变量值的mat矩阵

批量处理:

folder_path = 'D:\1KM NDVI数据\裁剪数据';

% 获取文件夹下所有的 .tif 文件
tif_files = dir(fullfile(folder_path, '*.tif'));

% 读取第一个文件的经纬度信息
info = geotiffinfo(fullfile(folder_path, tif_files(1).name));
pop1990 = imread(fullfile(folder_path, tif_files(1).name));

% 获取各格点经纬度
lat = zeros(size(pop1990, 1), size(pop1990, 2));
lon = zeros(size(pop1990, 1), size(pop1990, 2));
x = lat;
y = lon;

for i = 1 : size(pop1990, 1)
    for j = 1 : size(pop1990, 2)
        [x(i, j), y(i, j)] = pix2map(info.RefMatrix, i, j);
    end
end

[lat, lon] = projinv(info, x, y);

% 将经纬度转换为一列
lat_col = lat(:);
lon_col = lon(:);

% 初始化结果数组
result = [lat_col, lon_col];

% 遍历所有 .tif 文件并读取数据
for k = 1:length(tif_files)
    % 读取当前文件的图像数据
    tif_path = fullfile(folder_path, tif_files(k).name);
    tif_data = imread(tif_path);
    
    % 将不在 -1 到 1 范围内的数据设置为 0
    tif_data(tif_data < -1 | tif_data > 1) = 0;
    
    % 将图像数据转换为一列
    tif_data_col = tif_data(:);
    
    % 将数据添加到结果数组中
    result = [result, tif_data_col];
end

% 保存结果到文件
save('C:\Users\y8143\Desktop\rs投稿\result.mat', 'result');

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值