07 - matlab m_map地学绘图工具基础函数 - 绘制等高线

07 - matlab m_map地学绘图工具基础函数 - 绘制等高线

  • 0. 引言
  • 1. 关于绘制m_contour
  • 2. 关于绘制m_contourf
  • 3. 关于绘制m_elev
  • 4. 结语


0. 引言

   本篇介绍下m_map中添加绘制等高线的一系列函数及其用法,主要函数包括m_elevm_contourm_contourf还有一些函数也和绘制等高线有关(如:m_tbase、m_etopo2),但没有合适的数据,未完成调用测试,所以进行展开

1. 关于绘制m_contour

  m_contour 函数用于在地图投影上绘制等值线图。等值线图是一种常用的展示地理数据的方法,通过连接相同数值的点来展示数据的变化趋势。使用m_contour函数可以在地图上直观地显示这些等值线,并帮助分析地理数据的特征。

  m_contour 函数的一般调用形式

 [cs,h]=m_contour(long,lat,data,varargin)

  其中,long,lat为绘制数据的一系列经纬度坐标,data为高度起伏数据,long,lat和data都是矩阵形式,且行列必须一致,long,lat和data可以理解为投影区域的一系列3维点,m_contour是将相同或相近起伏的点进行连接的过程;varargin为可选参数,控制绘制的等高线的样式,如linecolor线的颜色、linewidth线宽、edgecolor边缘颜色等;返回的cs存储等高线矩阵,h包含了绘制等高线的一些其它参数,cs和h如果没用,可以省略输出。

  示例: 示例中使用的外部数据是全球的GLDAS水文模型,绘制了下图区域的水文等高线图。测试数据在网盘中,提取码为n67r。

clc;clear;
ncFilePath = 'GLDAS_NOAH10_M.A200602.021.nc4';
lon = ncread(ncFilePath,'lon');
lat = ncread(ncFilePath,'lat');    
soilmoi_data = ncread(ncFilePath,'SoilMoi0_10cm_inst'); [LN,LT]=meshgrid(lon,lat);figure;
m_proj('mercator','lon',[0 105.5],'lat',[0 60]);% 绘制填充的等值线图
[cs,h] = m_contour(LN,LT, soilmoi_data', 'linecolor', 'r', 'linewidth', 1);
%m_contour(LN,LT, soilmoi_data','edgecolor','r','facecolor','g');% 添加地图边界和海岸线
m_coast('line', 'color', 'k');
m_grid('linestyle', 'none', 'box', 'fancy');% 添加颜色条
colorbar;

2. 关于绘制m_contourf

  m_contourf函数用于在地图上绘制填充等值线图。它与Matlab自带的contourf函数相似差异m_contourf在制图中应用,能够基于投影直接绘制地理图件

  m_contourf的一般形式:

[cs,h]=m_contourf(long,lat,data,varargin)

  其调用形式和m_contour基本一致,差异在varargin中部分属性是控制填充的,这个是m_contour中没有的。

  示例如下:测试数据在网盘中,提取码为n67r。

clc;clear;
ncFilePath = 'GLDAS_NOAH10_M.A200602.021.nc4';
lon = ncread(ncFilePath,'lon');
lat = ncread(ncFilePath,'lat');    
soilmoi_data = ncread(ncFilePath,'SoilMoi0_10cm_inst'); [LN,LT]=meshgrid(lon,lat);figure;
m_proj('mercator','lon',[0 105.5],'lat',[0 60]);% 绘制填充的等值线图
[CS,CH] = m_contourf(LN,LT, soilmoi_data');% 添加地图边界和海岸线
m_coast('line', 'color', 'k');
m_grid('linestyle', 'none', 'box', 'fancy');% 添加颜色条
colorbar;

3. 关于绘制m_elev

  m_elev函数可以利用1°高程数据集绘制多种类型的地图,上面提到m_contour(绘制等高线) 和m_contourf(填充等高线)两个函数都可以看作是 m_elev函数功能的一部分

  m_elev函数多种调用形式,主要形式如下:

  • 一般形式1:
[ELEV,LONG,LAT]=M_ELEV([LONG_MIN LONG_MAX LAT_MIN LAT_MAX])

  形式1输入绘图区域经纬度四至即 [最小经度 最大经度 最小维度 最大维度],返回四至区域高程数据格点,分辨率为1°;

   示例: 形式1的调用主要用于提取研究范围的高程数据,并不会绘制等高线,下面两图为有等高线和没等高线的对比

m_proj('mercator','long',[-160 -40],'lat',[30 80]);
m_coast('patch',[1 .85 .7]);%m_elev('contourf',[500:500:6000]);
% 提取范围内高程数据
[ele,lon,lat] = m_elev([-160 -100 30 60]);m_grid('box','fancy','tickdir','in');
colormap(flipud(copper));
  • 一般形式2:
M_ELEV(OPTN,args,...)

  种调用形式,OPTN参数为功能选择参数,可以选择绘制等高线(contour)图、等高线填充(contourf)图、pcolor图、栅格图像(image)和阴影(shadedrelief)图共5种类型的地图; args表示其他可选项,可以控制绘图的线条样式、颜色等属性:

%        OPTN: 'contour' -  contour lines are drawn.
%              'contourf' -  filled contours are drawn. 
%                               LEVELS are the levels used, and ARGS
%                               are optional patch arguments of line types, 
%                               colors, etc. 
%              'pcolor'    - pcolor call
%              'image'     - displays pixellated image  展示栅格图像
%              'shadedrelief' - shaded relief map. 阴影地形图

  下面示例,包含了上述五种类型的有关命令,并展示了五种图的图示:

m_proj('mercator','long',[-160 -40],'lat',[30 80]);
m_coast('patch',[1 .85 .7]);% 一般形式1
%[ELEV,LONG,LAT]=m_elev([-100 -40 50 80]);
% 一般形式2
%m_elev('contourf',[500:500:6000]);  % 绘制等高线
%m_elev('contour',[500:500:6000]);   % 绘制等高线填充
%m_elev('image');
m_elev('shadedrelief','gradient',.5);
%m_elev('pcolor')m_grid('box','fancy','tickdir','in');
colormap(flipud(copper));
contour
image
shadedrelief
pcolor

4. 结语

  本篇介绍m_map中绘制等高线的几个方法,通过示例展示了各函数的基本用法,对于绘制常见地学图已经够用了,后面若发现还有其他和绘制等高线有关的函数再进行补充希望对绘图的你有所帮助






😜
😜😜
😜😜😜😜

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/35055.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

初探海龟绘图

自学python如何成为大佬(目录):https://blog.csdn.net/weixin_67859959/article/details/139049996?spm1001.2014.3001.5501 海龟绘图是Python内置的模块,在使用前需要导入该模块,可以使用以下几种方法导入: l 直接使用import语句导入海龟…

LeetCode 算法:将有序数组转换为二叉搜索树 c++

原题链接🔗:将有序数组转换为二叉搜索树 难度:简单⭐️ 题目 给你一个整数数组 nums ,其中元素已经按 升序 排列,请你将其转换为一棵 平衡 二叉搜索树。 示例 1: 输入:nums [-10,-3,0,5,9]…

[面试题]Zookeeper

[面试题]Java【基础】[面试题]Java【虚拟机】[面试题]Java【并发】[面试题]Java【集合】[面试题]MySQL[面试题]Maven[面试题]Spring Boot[面试题]Spring Cloud[面试题]Spring MVC[面试题]Spring[面试题]MyBatis[面试题]Nginx[面试题]缓存[面试题]Redis[面试题]消息队列[面试题]…

【C语言】操作符(上)

目录 1. 操作符的分类 2. 原码、反码、补码 3. 移位操作符 3.1 左移操作符 3.2 右移操作符 4. 位操作符:&、|、^、~ 5. 单目操作符 6. 逗号表达式 最近准备期末考试,好久不见啦,现在回归—— 正文开始—— 1. …

mulesoft --环境安装与搭建

1.mavenjdkpostman 2.anypoint statdio 下载安装 下载 Anypoint Studio & Mule |骡子软件 (mulesoft.com) 填好基本信息后,会发邮件,在邮件中下载,跳到官网下载 3注册账号 Download Anypoint Studio & Mule | MuleSoft 4.Connect…

详解 ClickHouse 的分片集群

一、简介 分片功能依赖于 Distributed 表引擎,Distributed 表引擎本身不存储数据,有点类似于 MyCat 之于 MySql,成为一种中间件,通过分布式逻辑表来写入、分发、路由来操作多台节点不同分片的分布式数据 ClickHouse 进行分片集群的…

C语言基础——函数(2)

ʕ • ᴥ • ʔ づ♡ど 🎉 欢迎点赞支持🎉 文章目录 前言 一、return语句 二、数组做函数参数 三、嵌套调用和链式访问 3.1 嵌套调用 3.2 链式访问 四、函数声明和定义 4.1 单个文件 4.2 多个文件 总结 前言 大家好啊,继我们上一…

优化系统小工具

一款利用VB6编写的系统优化小工具,系统优化、桌面优化、清理垃圾、查找文件等功能。 下载:https://download.csdn.net/download/ty5858/89432367

【UE5.3】笔记1

内容浏览器:存放项目中所有的资源:关卡、蓝图类...... 关卡--Map 至少有一个关卡,可以有多个关卡 -漫游 视野漫游:鼠标右键WASD QE 鼠标滑轮控制摄像机速度 运行,ESC退出运行,快捷键F8不停止运行单独弹出功能 -创…

《编译原理》阅读笔记:p19-p24

《编译原理》学习第 4 天,p19-p24总结,总计 5 页。 一、技术总结 1.grouping of phases 这里谈到分组(group),那么就会有一个疑问,分组的依据是什么?即根据什么来分组。 (1) front end & back end 编译器包含…

找不到d3dcompiler_47.dll如何修复,这几种修复方法可搞定

最近,我在尝试运行一款游戏时遇到了一个问题,系统提示我丢失了d3dcompiler_47.dll文件。这让我感到非常困扰,因为这个问题导致我无法正常运行游戏。经过一番搜索和尝试,我找到了几种修复这个问题的方法,并成功解决了这…

【内网穿透】FRP 跨平台内网穿透 支持windows linux x86_64 arm64 端口范围映射

AI提供的资料: FRP(Fast Reverse Proxy)是一个专为内网穿透设计的高性能反向代理程序。以下是一些关于FRP的详细资料,帮助您更好地理解和使用这一工具: 核心特点: 内网穿透:能够将位于内网的…

都2024年了,现在互联网行情怎样?

都2024年了,互联网行情是怎样的? 很直白的说,依旧是差得很,怎么说? 我刚在掘金上看到一个掘友写的文章,他是四月领了大礼包,据他的描述如下: 互联网行情依旧是差得很,很…

搜维尔科技:「研讨会」惯性动捕技术在工效学领域应用研讨会

Movella将于7月2日(周二)下午2点举行主题为惯性动捕技术在工效学领域应用的研讨会。来自Movella的伙伴赋能经理Jeffrey Muller作为嘉宾出席,届时主讲人将为大家带来Xsens惯性动捕技术在工效学领域的应用分享。同时,研讨会还邀请多…

监控https证书的到期时间

实现该功能,不用借助第三方库,用go的标准库就足够了… 以下程序可以获取这些域名的SSL证书的到期时间,并在证书距离现在不足7天过期时打印提示: package mainimport ("crypto/tls""fmt""net""…

运维.云技术学习.基于应用服务网格的灰度发布(上:理论基础篇)

运维专题 基于应用服务网格的灰度发布(上:理论基础篇) - 文章信息 - Author: 李俊才 (jcLee95) Visit me at CSDN: https://jclee95.blog.csdn.netMy WebSite:http://thispage.tech/Email: 291148484163.com. Shenzhen ChinaAdd…

Opencv学习项目6——pyzbar

在之前我们学习了解码图片中的二维码,这次我们开启摄像头来解码视频中二维码 开启摄像头 # 打开摄像头 cap cv2.VideoCapture(0) cap.set(3, 640) # 设置摄像头画面宽度 cap.set(4, 480) # 设置摄像头画面高度 我使用的是笔记本上的摄像头来进行的,…

通过systemctl启停tomcat

目录 目的.service配置文件的结构介绍实验步骤1. 安装java2. 二进制安装tomcat3. 编写/usr/systemd/system/tomcat.service文件4. 测试启动关闭 目的 通过二进制安装的tomcat,只能通过tomcat文件目录下的.sh脚本进行启停。 而我们一般使用的服务,是通过…

《数字图像处理》实验报告四

一、实验任务与要求 对 Fig0403.tif 进行傅里叶变换并显示其频谱图像;fft2(x) 对 Fig0405.tif 图像进行填充和非填充的高斯滤波,并观察其不同;paddedsize,fft2(x,m,n) 由 sobel 空间滤波算子生成相应的频率…