matlab通过m_map工具包实现对tif的绘制,并且tif为空的地方希望成白色,批量对tif进行绘制,将结果画在一个3*4的图窗上
时间: 2024-05-03 08:23:32 浏览: 100
matlab的地图工具 m_map,更有效地进行地图相关的软件开发
4星 · 用户满意度95%
以下是一种可能的解决方案:
```matlab
% 1. 加载m_map工具包
addpath('m_map')
% 2. 设置绘图参数
figure('units','normalized','position',[0.1 0.1 0.8 0.8])
subplot_m = 3;
subplot_n = 4;
% 3. 批量读取tif文件并绘制
tif_files = dir('*.tif'); % 获取当前目录下所有tif文件
for i = 1:length(tif_files)
% 3.1 读取tif文件
tif_data = imread(tif_files(i).name);
tif_data = double(tif_data); % 转换为double类型以便后续处理
% 3.2 将tif为空的地方设为NaN
tif_data(tif_data==0) = NaN;
% 3.3 绘制地图
subplot(subplot_m, subplot_n, i)
m_proj('miller','lon',[80 140],'lat',[15 55]);
m_pcolor(lon,lat,tif_data);
shading flat;
colormap(jet);
m_gshhs_h('patch',[0.7 0.7 0.7],'edgecolor','k');
m_grid('linestyle','none','tickdir','out','fontsize',12);
% 3.4 设置地图范围和标题
xlim([80 140])
ylim([15 55])
title(tif_files(i).name,'interpreter','none')
end
```
其中,`lon`和`lat`分别是tif文件中每个像素点对应的经度和纬度,需要根据具体数据进行设置。`m_proj`函数中的参数也需要根据具体要求进行调整。
阅读全文