Matlab地理信息绘图—研究区域绘制
文章目录
- m_map工具箱
- 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绘制研究区域
%% 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;
endxx1=[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 onD_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 onD_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
结果显示
相关文章:

Matlab地理信息绘图—研究区域绘制
文章目录 m_map工具箱Matlab绘制研究区域结果显示 m_map工具箱 m_map是 MATLAB 中用于制作地图和地理数据可视化的工具包。这个工具包提供了一组函数和工具,使得用户能够在 MATLAB 中轻松创建地图,并在地图上显示各种地理和气象数据。以下是 m_map 工具包…...

[CSAWQual 2019]Web_Unagi - 文件上传+XXE注入(XML编码绕过)
[CSAWQual 2019]Web_Unagi 1 解题流程1.1 分析1.2 解题 2 思考总结 1 解题流程 这篇博客讲了xml进行编码转换绕过的原理:https://www.shawroot.cc/156.html 1.1 分析 页面可以上传,上传一句话php失败,点击示例发现是xml格式,那…...

ERROR 2003 (HY000): Can‘t connect to MySQL server on ‘localhost‘ (10061)的问题解决
winR打开窗口输入 services.msc 停止mysql 找到data文件,清空其中全部文件。没有data文件,手动创建 输入 mysqld --remove mysql 移除服务; 注册服务,mysqld -install; 并开始初始化,mysqld --initi…...
什么是函数库和动态链接库?
函数库和动态链接库(也称为共享库)是在软件开发中常见的两种代码重用技术,它们有助于组织、共享和管理代码。在本文中,我们将详细解释函数库和动态链接库的概念、用途以及它们的工作原理。 ## 什么是函数库? 函数库是…...
POM配置
dependencies 所有声明在dependencies里的依赖都会自动引入,并默认被所有的子项目继承 dependencyManagement 只是声明依赖,并不会自动引入,因此子项目需要显示声明依赖。在子项目中声明了依赖项,且没有指定具体版本&#x…...

微电网单台并网逆变器PQ控制matlab仿真模型
微❤关注“电气仔推送”获得资料(专享优惠) 微电网运行在并网模式下且公共电网供应正常时,因为公共电网给定了电 压和频率的参考值,所有的逆变器可以使用PQ控制方式。 当系统频率为额定频率f0时,系统稳定在A点&#x…...

计算机毕业设计选什么题目好?springboot 旅游网站
✍✍计算机编程指导师 ⭐⭐个人介绍:自己非常喜欢研究技术问题!专业做Java、Python、微信小程序、安卓、大数据、爬虫、Golang、大屏等实战项目。 ⛽⛽实战项目:有源码或者技术上的问题欢迎在评论区一起讨论交流! ⚡⚡ Java实战 |…...

Android Fragment中使用Arouter跳转到Activity后返回Fragment不回调onActivityResult
Fragment中通过路由跳转到Activity 跳转传递参数 通过Arouter跳转 Postcard postcard ARouter.getInstance().build(RouterConstant.ACTION_TRANSMANAGERACTIVITY1);Bundle bundle new Bundle();bundle.putInt("code", 404);postcard.with(bundle); //设置bundlef…...

hive add columns 后查询不到新字段数据的问题
分区表add columns 查询不到新增字段数据的问题; 5.1元数据管理 (1)基本架构 Hive的2个重要组件:hiveService2 和metastore,一个负责转成MR进行执行,一个负责元数据服务管理 beeline-->hiveService2/spar…...

【linux】权限相关问题
【linux】权限相关问题 一.用户的分类sudo 二.文件执行的权限i. 文件的分类ii.人的分类三.修改创建文件的权限chmod更改文件创造的默认权限(umask) 三.删除(粘滞位) 一.用户的分类 在我们使用linux的时候,有用户类型的区分,不同用…...

“.NET视频总结:认识框架的结构和组件,掌握开发工具的奥妙“一
目录 第一单元:二十一世纪程序执行 背景: 总结: 第二单元:对象导向与类别设计 背景: 总结: 第三单元:使用类别与基底类别库 总结: 第四单元:Windows开发程序 背景: 总结: 第五单元:防护式程序设计 背景: 总结: 第六…...

02-RocketMQ开发模型
目录汇总:RocketMQ从入门到精通汇总 上一篇:01-RocketMQ整体理解与快速实战 上一部分,我们可以搭建RocketMQ集群,然后也可以用命令行往RocketMQ写入消息并进行消费了。这一部分我们就来看怎么在项目中用上RocketMQ。 一、RocketMQ…...

第83步 时间序列建模实战:Catboost回归建模
基于WIN10的64位系统演示 一、写在前面 这一期,我们介绍Catboost回归。 同样,这里使用这个数据: 《PLoS One》2015年一篇题目为《Comparison of Two Hybrid Models for Forecasting the Incidence of Hemorrhagic Fever with Renal Syndr…...

开源任务调度框架
本文主要介绍一下任务调度框架Flowjob的整体结构,以及整体的心路历程。 功能介绍 flowjob主要用于搭建统一的任务调度平台,方便各个业务方进行接入使用。 项目在设计的时候,考虑了扩展性、稳定性、伸缩性等相关问题,可以作为公司…...

Android Native 开发 要点记录
Android Studio 中写 C 代码 android studio创建C项目_android studio native c-CSDN博客 项目配置参考 【CMake】CMakeLists.txt的超傻瓜手把手教程(附实例源码)_【cmake】cmakelists.txt的超傻瓜手把手教程(附实例源码)-CSDN博客 CMakeLists.txt 讲解…...
数据库中查询所有表信息,查询所有字段信息
MYSQL中 所有表信息 information_schema.tables表 SELECT * FROM information_schema.tables -- TABLE_NAME 表名 -- TABLE_COMMENT 表中文名所有字段信息 information_schema.COLUMNS表 SELECT * FROM information_schema.tables -- TABLE_SCHEMA 数据库名 -- COLUMN…...

改进智能优化算法常用指标一键导出为EXCEL,最优值,平均值,标准差,最差值,中位数,秩和检验,箱线图...
声明:对于作者的原创代码,禁止转售倒卖,违者必究! 为了突出改进智能优化算法的效果,常常会将改进的智能算法与其他算法进行对比。 在一些期刊论文中,经常会看到一个超级大的表格,统计着每个算法…...

在asp.net中,实现类似安卓界面toast的方法(附更多弹窗样式)
目录 一、背景 二、操作方法 2.1修改前 2.2修改后 三、总结 附:参考文章: 一、背景 最近在以前的asp.net网页中,每次点击确定都弹窗,然后还要弹窗点击确认,太麻烦了,这次想升级一下,实现…...

一站式解决方案:Qt 跨平台开发灵活可靠
一站式解决方案:Qt 跨平台开发灵活可靠 Qt 是一种跨平台开发工具,为开发者提供了一站式解决方案。无论您的项目目标是 Windows、Linux、macOS、嵌入式系统还是移动平台,Qt 都能胜任。这种跨平台的特性不仅节省开支,还推动了战略的…...

将cpu版本的pytorch换成gpu版本
1.首先激活虚拟环境 winRcmd 打开dos命令窗口 查看虚拟环境列表 conda env list 激活虚拟环境 2.将原来的pytorch_cpu版本换成gpu版本 注意:安装gpu版本的pytorch时并不需要先卸载原来的cpu版本pytorch,安装时会自己替换的 打开pytorch官网查看以前版本 Previo…...

Spark 之 入门讲解详细版(1)
1、简介 1.1 Spark简介 Spark是加州大学伯克利分校AMP实验室(Algorithms, Machines, and People Lab)开发通用内存并行计算框架。Spark在2013年6月进入Apache成为孵化项目,8个月后成为Apache顶级项目,速度之快足见过人之处&…...
《Playwright:微软的自动化测试工具详解》
Playwright 简介:声明内容来自网络,将内容拼接整理出来的文档 Playwright 是微软开发的自动化测试工具,支持 Chrome、Firefox、Safari 等主流浏览器,提供多语言 API(Python、JavaScript、Java、.NET)。它的特点包括&a…...

RNN避坑指南:从数学推导到LSTM/GRU工业级部署实战流程
本文较长,建议点赞收藏,以免遗失。更多AI大模型应用开发学习视频及资料,尽在聚客AI学院。 本文全面剖析RNN核心原理,深入讲解梯度消失/爆炸问题,并通过LSTM/GRU结构实现解决方案,提供时间序列预测和文本生成…...

R语言速释制剂QBD解决方案之三
本文是《Quality by Design for ANDAs: An Example for Immediate-Release Dosage Forms》第一个处方的R语言解决方案。 第一个处方研究评估原料药粒径分布、MCC/Lactose比例、崩解剂用量对制剂CQAs的影响。 第二处方研究用于理解颗粒外加硬脂酸镁和滑石粉对片剂质量和可生产…...
QT3D学习笔记——圆台、圆锥
类名作用Qt3DWindow3D渲染窗口容器QEntity场景中的实体(对象或容器)QCamera控制观察视角QPointLight点光源QConeMesh圆锥几何网格QTransform控制实体的位置/旋转/缩放QPhongMaterialPhong光照材质(定义颜色、反光等)QFirstPersonC…...
Python Einops库:深度学习中的张量操作革命
Einops(爱因斯坦操作库)就像给张量操作戴上了一副"语义眼镜"——让你用人类能理解的方式告诉计算机如何操作多维数组。这个基于爱因斯坦求和约定的库,用类似自然语言的表达式替代了晦涩的API调用,彻底改变了深度学习工程…...

【深度学习新浪潮】什么是credit assignment problem?
Credit Assignment Problem(信用分配问题) 是机器学习,尤其是强化学习(RL)中的核心挑战之一,指的是如何将最终的奖励或惩罚准确地分配给导致该结果的各个中间动作或决策。在序列决策任务中,智能体执行一系列动作后获得一个最终奖励,但每个动作对最终结果的贡献程度往往…...

jdbc查询mysql数据库时,出现id顺序错误的情况
我在repository中的查询语句如下所示,即传入一个List<intager>的数据,返回这些id的问题列表。但是由于数据库查询时ID列表的顺序与预期不一致,会导致返回的id是从小到大排列的,但我不希望这样。 Query("SELECT NEW com…...
Python常用模块:time、os、shutil与flask初探
一、Flask初探 & PyCharm终端配置 目的: 快速搭建小型Web服务器以提供数据。 工具: 第三方Web框架 Flask (需 pip install flask 安装)。 安装 Flask: 建议: 使用 PyCharm 内置的 Terminal (模拟命令行) 进行安装,避免频繁切换。 PyCharm Terminal 配置建议: 打开 Py…...
第22节 Node.js JXcore 打包
Node.js是一个开放源代码、跨平台的、用于服务器端和网络应用的运行环境。 JXcore是一个支持多线程的 Node.js 发行版本,基本不需要对你现有的代码做任何改动就可以直接线程安全地以多线程运行。 本文主要介绍JXcore的打包功能。 JXcore 安装 下载JXcore安装包&a…...