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…...
内存分配函数malloc kmalloc vmalloc
内存分配函数malloc kmalloc vmalloc malloc实现步骤: 1)请求大小调整:首先,malloc 需要调整用户请求的大小,以适应内部数据结构(例如,可能需要存储额外的元数据)。通常,这包括对齐调整,确保分配的内存地址满足特定硬件要求(如对齐到8字节或16字节边界)。 2)空闲…...

基于距离变化能量开销动态调整的WSN低功耗拓扑控制开销算法matlab仿真
目录 1.程序功能描述 2.测试软件版本以及运行结果展示 3.核心程序 4.算法仿真参数 5.算法理论概述 6.参考文献 7.完整程序 1.程序功能描述 通过动态调整节点通信的能量开销,平衡网络负载,延长WSN生命周期。具体通过建立基于距离的能量消耗模型&am…...
C++:std::is_convertible
C++标志库中提供is_convertible,可以测试一种类型是否可以转换为另一只类型: template <class From, class To> struct is_convertible; 使用举例: #include <iostream> #include <string>using namespace std;struct A { }; struct B : A { };int main…...

shell脚本--常见案例
1、自动备份文件或目录 2、批量重命名文件 3、查找并删除指定名称的文件: 4、批量删除文件 5、查找并替换文件内容 6、批量创建文件 7、创建文件夹并移动文件 8、在文件夹中查找文件...

8k长序列建模,蛋白质语言模型Prot42仅利用目标蛋白序列即可生成高亲和力结合剂
蛋白质结合剂(如抗体、抑制肽)在疾病诊断、成像分析及靶向药物递送等关键场景中发挥着不可替代的作用。传统上,高特异性蛋白质结合剂的开发高度依赖噬菌体展示、定向进化等实验技术,但这类方法普遍面临资源消耗巨大、研发周期冗长…...
oracle与MySQL数据库之间数据同步的技术要点
Oracle与MySQL数据库之间的数据同步是一个涉及多个技术要点的复杂任务。由于Oracle和MySQL的架构差异,它们的数据同步要求既要保持数据的准确性和一致性,又要处理好性能问题。以下是一些主要的技术要点: 数据结构差异 数据类型差异ÿ…...

Nuxt.js 中的路由配置详解
Nuxt.js 通过其内置的路由系统简化了应用的路由配置,使得开发者可以轻松地管理页面导航和 URL 结构。路由配置主要涉及页面组件的组织、动态路由的设置以及路由元信息的配置。 自动路由生成 Nuxt.js 会根据 pages 目录下的文件结构自动生成路由配置。每个文件都会对…...

NLP学习路线图(二十三):长短期记忆网络(LSTM)
在自然语言处理(NLP)领域,我们时刻面临着处理序列数据的核心挑战。无论是理解句子的结构、分析文本的情感,还是实现语言的翻译,都需要模型能够捕捉词语之间依时序产生的复杂依赖关系。传统的神经网络结构在处理这种序列依赖时显得力不从心,而循环神经网络(RNN) 曾被视为…...

优选算法第十二讲:队列 + 宽搜 优先级队列
优选算法第十二讲:队列 宽搜 && 优先级队列 1.N叉树的层序遍历2.二叉树的锯齿型层序遍历3.二叉树最大宽度4.在每个树行中找最大值5.优先级队列 -- 最后一块石头的重量6.数据流中的第K大元素7.前K个高频单词8.数据流的中位数 1.N叉树的层序遍历 2.二叉树的锯…...
AspectJ 在 Android 中的完整使用指南
一、环境配置(Gradle 7.0 适配) 1. 项目级 build.gradle // 注意:沪江插件已停更,推荐官方兼容方案 buildscript {dependencies {classpath org.aspectj:aspectjtools:1.9.9.1 // AspectJ 工具} } 2. 模块级 build.gradle plu…...