Matlab地理信息绘图—研究区域绘制

文章目录

m_map工具箱

  • m_map是 MATLAB 中用于制作地图和地理数据可视化的工具包。这个工具包提供了一组函数和工具,使得用户能够在 MATLAB 中轻松创建地图,并在地图上显示各种地理和气象数据。以下是 m_map 工具包的一些主要特性和功能:

    • 地图投影: m_map 支持多种地图投影,包括等距圆柱投影、等距伪圆柱投影、等距锥形投影等。这些投影方式允许用户选择最适合其数据的投影方式。

    • 绘制地图要素: 用户可以使用 m_coast、m_grid 等函数绘制海岸线、经纬网格等地图要素。这些函数使得用户能够轻松创建具有标准地图元素的地图。

    • 地理数据可视化: m_map 提供了一组用于在地图上可视化地理和气象数据的函数。用户可以使用 m_contour、m_contourf、m_quiver 等函数在地图上绘制等高线图、矢量场等。

    • 支持多种数据格式: m_map 支持处理多种地理和气象数据的数据格式,包括常见的NetCDF、GRIB等格式。

    • 交互式工具: m_map 具有一些交互式工具,如平移、缩放、选择等,使得用户能够更灵活地查看和操作地图。

Matlab绘制研究区域

matlab 复制代码
%% Figure1 研究区域
clear;clc;close all
load('.\data\Arctic_depth');
load('.\data\napa025_lat_lon');
load('.\data\oceandeep_ws.mat')
load('.\data\depthmap2.mat')
depth(depth==0)=nan;
siz=25;lind=1.5;lind1=3;

x_0=0.1;
y_0=0.56;
len=0.85;
width=0.40;
d_x=0.43;
d_y=-0.46;
px=[0 0 0 1];
py=[0 1 1 1];

lon=lon_napa025;lat=lat_napa025;
lat_napa025(lat_napa025<68|lat_napa025>77)=nan;
lon_napa025(lat_napa025<68|lat_napa025>77)=nan;
lon_napa025(lon_napa025<205|lon_napa025>240)=nan;
lat_napa025(lon_napa025<205|lon_napa025>240)=nan;

x1=[25 50:50:200 500:500:2000 3000];
x2=[50:50:200 500:500:2000 3000 6000];
C1=0;C2=length(x1);
Datajet=zeros(528,735);
for ii=1:length(x1)
    Datajet(depth>=x1(ii)&depth<x2(ii))=ii-0.5;
end

xx1=[0 20 50:50:300 400 500:500:3000 4000 4500 5000];
xx2=[20 50:50:300 400 500:500:3000 4000 4500 5000 5500];
CC1=0;CC2=length(xx1);
Datajet1=zeros(528,735);
for ii=1:length(xx1)
    Datajet1(depth>=xx1(ii)&depth<xx2(ii))=ii-0.5;
end
% 北冰洋
set(gcf,'color',[1 1 1],'position',[10 45 800 800*1.2]);%get(0,'screensize')
axes('position',[0.05 0.58 0.4 0.4]);
m_proj('azimuthal equal-area','latitude',90,'radius',40,'rectbox','on','rotagnle',90);
% m_coast 低精度;m_gshhs_i 中精度;m_gshhs_f 高精度
m_coast('patch',[.5 .5 .5],'linestyle','none');
for ii=1:length(xx2)
    hold on
    D_contour1=[xx2(ii) xx2(ii)];%定义等值线插值范围
    [c,hs]=m_contour(lon,lat,depth,D_contour1,'color',depthmap(3*ii,:),'linewidth',0.5);
end
m_grid('box','on','xtick',6,'tickdir','in','ytick',4,'yticklabel',[],'fontsize',siz-10,'fontname','Times New Roman');
hold on
x1=[205:240];y1=68*ones(1,length(x1));y2=[68:1:77];x2=240*ones(1,length(y2));
y3=77*ones(1,length(x1));x3=205*ones(1,length(y2));
m_plot(x1,y1,'linewidth',2,'color','k');
m_plot(x2,y2,'linewidth',2,'color','k');
m_plot(x1,y3,'linewidth',2,'color','k');
m_plot(x3,y2,'linewidth',2,'color','k');
hold on
m_text(140,60,'(a)','color','k','fontname','Times New Roman','fontweight','bold','fontsize',siz-5);
%  波弗特海
hold on
% axes('position',[x_0+d_x*px(1), y_0+d_y*py(1), len, width]);
axes('position',[0.2713 0.5444 0.6737 0.3975]);
m_proj('lambert','lon',[205 240],'lat',[68 77]);
shading flat
hold on
x1=[210:235];y1=68*ones(1,length(x1));y2=[68:1:75];x2=235*ones(1,length(y2));
y3=75*ones(1,length(x1));x3=210*ones(1,length(y2));
m_plot(x2,y2,'linewidth',2,'color','r');
m_plot(x1,y3,'linewidth',2,'color','r');
m_plot(x3,y2,'linewidth',2,'color','r');
hold on
m_gshhs_f('patch',[.6 .6 .6]);
m_grid('box','fancy','xtick',[210 235],'tickdir','in',...
    'ytick',[71 75],'yaxislocation','right',...
    'fontname','Times New Roman','fontsize',siz-10,'fontweight','bold','linestyle','none')
% 等深线
hold on
for ii=1:length(xx2)
    hold on
    D_contour1=[xx2(ii) xx2(ii)];%定义等值线插值范围
    [c,hs]=m_contour(lon,lat,depth,D_contour1,'color',depthmap(3*ii,:),'linewidth',0.5);
    clabel(c,hs,'rotation',0,'fontname','Times New Roman','Labelspacing',400,...
    'fontweight','bold','FontSize',siz-15,'color',depthmap(3*ii,:));%画等值线上的数值同上
end
hh1=annotation('arrow',[0.2025 0.4150],[0.7135 0.9396],'linewidth',lind1-1);
hh2=annotation('arrow',[0.1700 0.2875],[0.6667 0.5854],'linewidth',lind1-1);
hold on
colormap(oceandeep_ws);
caxis([C1 C2]);
hold on
m_text(207,69,'(b)','color','k','fontname','Times New Roman','fontweight','bold','fontsize',siz-5);
m_text(215,72.5,'\it波弗特海','color','k','fontname','宋体','fontweight','bold','fontsize',siz-5);
m_text(210,69,'\it阿拉斯加','color','k','fontname','宋体','fontweight','bold','fontsize',siz-5);
m_text(230,69,'\it加拿大','color','k','fontname','宋体','fontweight','bold','fontsize',siz-5);
m_text(235.8,73,'\it班克','color','k','fontname','宋体','fontweight','bold','fontsize',siz-10);
m_text(235.8,72.5,'\it斯岛','color','k','fontname','宋体','fontweight','bold','fontsize',siz-10);
m_text(235.8,70.8,'\it阿蒙','color','k','fontname','宋体','fontweight','bold','fontsize',siz-10);
m_text(235.8,70.4,'\it森湾','color','k','fontname','宋体','fontweight','bold','fontsize',siz-10);
m_text(210,75.5,'\it加拿大海盆','color','k','fontname','宋体','fontweight','bold','fontsize',siz-5);

% export_fig(['.\map\','Figure1.png'],'-r200')
% export_fig(['.\map\','Figure1.tif'],'-r200')
% close all

结果显示

相关推荐
ROBOT玲玉25 分钟前
Milvus 中,FieldSchema 的 dim 参数和索引参数中的 “nlist“ 的区别
python·机器学习·numpy
Kai HVZ1 小时前
python爬虫----爬取视频实战
爬虫·python·音视频
古希腊掌管学习的神1 小时前
[LeetCode-Python版]相向双指针——611. 有效三角形的个数
开发语言·python·leetcode
m0_748244831 小时前
StarRocks 排查单副本表
大数据·数据库·python
B站计算机毕业设计超人1 小时前
计算机毕业设计PySpark+Hadoop中国城市交通分析与预测 Python交通预测 Python交通可视化 客流量预测 交通大数据 机器学习 深度学习
大数据·人工智能·爬虫·python·机器学习·课程设计·数据可视化
路人甲ing..2 小时前
jupyter切换内核方法配置问题总结
chrome·python·jupyter
游客5202 小时前
opencv中的常用的100个API
图像处理·人工智能·python·opencv·计算机视觉
每天都要学信号2 小时前
Python(第一天)
开发语言·python
凡人的AI工具箱2 小时前
每天40分玩转Django:Django国际化
数据库·人工智能·后端·python·django·sqlite
IT猿手2 小时前
最新高性能多目标优化算法:多目标麋鹿优化算法(MOEHO)求解TP1-TP10及工程应用---盘式制动器设计,提供完整MATLAB代码
开发语言·深度学习·算法·机器学习·matlab·多目标算法