水深地形圖


水深地形圖

1. 轉置

1.1 代碼示例

Filename='filename.nc'; 
lon=ncread(Filename,'LON');  % 115-140
lat=ncread(Filename,'LAT');    % 15-40
dep=ncread(Filename,'BATHY'); 
dep=dep';

重點注意,水深數據dep需要進行轉置

1.2 解釋說明

A = [ a 11 a 12 . . . a 14 a 15 a 21 a 22 . . . a 14 a 25 . . a 41 a 42 . . . a 14 a 45 ] A=\begin{bmatrix}a_{11} &a_{12}&...&a_{14}&a_{15} \\ a_{21} &a_{22}&...&a_{14}&a_{25} \\ ..\\ a_{41} &a_{42}&...&a_{14}&a_{45} \\ \end{bmatrix} 對4×5型 A A 矩陣進行轉置得到 A T A^{T} 為5×4型矩陣 A T = [ a 11 a 21 . . . a 41 a 12 a 22 . . . a 42 a 13 a 23 . . . a 43 . . . a 15 a 25 . . . a 45 ] A^{T}=\begin{bmatrix} a_{11} & a_{21} &...& a_{41} \\ a_{12} & a_{22} &...& a_{42}\\ a_{13} & a_{23} &...& a_{43}\\ ...\\ a_{15} & a_{25} &...& a_{45}\\ \end{bmatrix}
對於nc文件中的水深數據,其維度:

Dimensions: LON17701_19201,LAT6301_7801,TIME

重構網格點meshgrid后得到的網格同為(lon,lat),但區別如下:
\qquad 在這里插入圖片描述 \qquad\quad 在這里插入圖片描述
如左圖,假設標記處 a 34 a_{34} 表示其lon=30,lat=40的水深,但發現若在地圖中標記處應為lon=40,lat=30,因此對 A A 進行轉置得到 A T A^{T} 后,標記處變為 a 43 a_{43} ,恰好與lon=40,lat=30與其對應。
故:在進行一般繪圖時需要考慮是否進行轉置!

2. plot水深地形圖

2.1 代碼示例

f=figure(id);
m_proj('mercator','lon',[115,140],'lat',[15,40]); 
m_contourf(lon,lat,dep,50,'linestyle','none');     
m_gshhs_f('Color','g','LineWidth',0.6,'LineStyle','-.');    
m_grid('linestyle',':','box','fancy','tickdir','out','linecolor','w','alpah','0.5');

設置投影和,等值線填充,海岸線,格點

2.2 部分參數詳解

m_proj('投影方式','long',[lonmin lonmax],'lat',[latmin latmax]);

2.2.1 等值線

m_contourf(x,y,z,level,LineSpec,'ShowText','LineWidth','LabelSpacing');

   1 o 1^o . x,y,z的維度size應該一致,若x,y分別為 1 × n , m × 1 1×n,m×1 ,則可以通過meshgrid進行重構網格,最終得到相同大小的x,y,z;

% reshap size
[X,Y]=meshgrid(x,y) % produce the coordinates of a rectangular grid (X, Y).
cat(DIM,A,B)        % cat(2,A,B) is the same as [A,B].
                    % cat(1,A,B) is the same as [A;B].

   2 o 2^o . level表示層級,可以為層級數也可以是一個或幾個特定的層級;

contourf(X,Y,Z,10)
contourf(X,Y,Z,[2 3])
contourf(X,Y,Z,[2 2])

level=10level=[2 3]level=[2 2]
上述三幅圖來自於mathworks,分別表示level=50,[2 3],[2 2]的結果;
   3 o 3^o . LineSpec表示線性

contourf(X,Y,Z,50'b--');
contourf(X,Y,Z,50,'linestyle','--','color','blue'

兩種呈現結果相同,均顯示藍色虛線的線條格式
   4 o 4^o . ShowText表示等高線標簽

2.2.2 海岸線

m_gshhs(RES,'patch' ( ,standard patch options,...,...) )

在這里插入圖片描述

2.2.3 網格相關參數

在這里插入圖片描述

3. colormap

hh=colorbar;                           
set(hh,'position',[0.78 0.1 0.02 0.8]);
caxis([-7000 3000]);
set(hh,'ytick',-7000:1000:3000,'yticklabel',-7000:1000:3000);
colormap([ m_colmap('blues(1)',70); m_colmap('greens',30)]);

3.1 常見的colormap/m_colmap

在這里插入圖片描述
在這里插入圖片描述

3.2 特殊拼接用法

   1 o 1^o . flipud翻轉colormap

colormap(m_colmap('blues'));

正常

colormap(flipud(m_colmap('blues')));

翻轉

   2 o 2^o . colormap拼接

colormap([ m_colmap('blues',70); m_colmap('greens',30)]);

拼接
表示blues與greens兩個colmap的比例為7:3


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM