15 - matlab m_map地学绘图工具基础函数 - 一些数据转换函数(二)

news2024/9/23 13:25:41

15 - matlab m_map地学绘图工具基础函数 - 一些数据转换函数(二)

  • 0. 引言
  • 1. 关于m_geodesic
  • 2. 关于mygrid_sand2
  • 3. 结语


0. 引言

   通过前面篇节已经将m_map绘图工具中大多绘图有关的函数进行过介绍,已经能够满足基本的绘图需求,本节介绍下m_map中关于提取数据的两个函数,在特定应用场景下也是极为重要的。首先介绍下面几种数据转换函数:。

1. 关于m_geodesic

   m_geodesic 函数用于计算大圆航线或大圆弧的坐标点。大圆航线是地球表面上两点之间的最短路径,而大圆弧是大圆航线在地球表面上的投影。

m_geodesic函数的基本用法:

[lat, lon] = m_geodesic(lat1, lon1, lat2, lon2, npts)

其中:

  • lat1 和 lon1 是起始点的纬度和经度。
    - lat2 和 lon2 是终点的纬度和经度。
  • npts 是用于近似大圆弧的点的数量。

   这个函数返回一个列向量 lat 和一个列向量 lon,它们包含了大圆航线或大圆弧上的坐标点的纬度和经度。

   例如,假设你想要在地图上绘制从纽约(40.7128° N,74.0060° W)到洛杉矶(34.0522° N,118.2437° W)的大圆弧,你可以使用 m_geodesic 函数来计算坐标点,然后使用 plot 函数将其绘制出来。

clc;clear;
lat1 = 40.7128; lon1 = -74.0060; % 纽约
lat2 = 34.0522; lon2 = -118.2437; % 洛杉矶
npts = 100; % 用于近似的点的数量

% 计算大圆弧上的坐标点
[lat, lon] = m_geodesic(lon1,lat1, lon2,lat2, npts);

% 绘制大圆弧
plot(lon, lat, 'r', 'LineWidth', 2);

   这段代码计算了从纽约到洛杉矶的大圆弧上的坐标点,并使用 plot 函数将其绘制为一条红色的曲线。

2. 关于mygrid_sand2

   mygrid_sand2函数用于提取经纬度范围内的水深数据。

[image_data,vlat,vlon] = mygrid_sand2(region,ssfname)
%  MYGRID_SAND2  Read bathymetry data from Sandwell Database
%    [Z,LAT,LON] = MYGRID_SAND2(REGION) extracts data from
%    the Sandwell and Smith bathymetry, which is now at 1-minute
%    resolution.
%
%
% WARNING: change ssfname and ssversion to the correct one for 
%          your machine
%
%                                               Catherine de Groot-Hedlin
%                                               modified Rich Pawlowicz
%
% latitudes must be between -80.738 and 80.738;
%       input:
%               REGION =[west east south north];
%       output:
%               Z - matrix of sandwell bathymetry/topography
%               LAT - vector of latitudes associated with image_data
%               LON - vector of longitudes

   其中,region为研究区四至;ssfname数据源路径,需要注意数据的是否匹配。

mygrid_sand2函数使用示例

Ulo1 = [-90,-68];                          % 经纬度范围大致是美国东海岸的地形水深范围
Ula1 = [30,42];
m_proj('mercator','long',Ulo1,'lat',Ula1); % 绘图前需指定投影方式与范围
 
[Sele,Sla,Slo] = mygrid_sand2([-90 -68 30 42]);
figure()
%m_contour(Slo-360,Sla,Sele); % 西半球270转化为-90度,以此类推
m_contourf(Slo-360,Sla,Sele); % 西半球270转化为-90度,以此类推{contourf效果更好}
m_grid('box','fancy','tickdir','in','gridlines','no','fontsize',12)
 
colorbar

3. 结语

   本篇介绍了读取SandwellSmith测深文件的函数(mygrid_sand2)和获取椭球测地线的点的函数(m_geodesic),通过示例展示了各函数的基本用法,对于绘制常见地学图已经够用了,后面若发现还有其它相关函数再进行补充希望对绘图的你有所帮助






😜
😜😜
😜😜😜😜

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

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

相关文章

Linux vim文本编辑器

Vim(Vi IMproved)是一个高度可配置的文本编辑器,它是Vi编辑器的增强版本,广泛用于程序开发和系统管理。Vim不仅保留了Vi的所有功能,还增加了许多新特性,使其更加强大和灵活。 Vim操作模式 普通模式&#xf…

下载安装nodejs npm jarn笔记

下载安装nodejs npm jarn笔记 下载 Node.js安装Node.js修改node全局路径安装yarn 下载 Node.js 下载Node.js 安装Node.js 双击下载的下来的.msi文件运行并安装一直点next。安装路径可以是默认也可自定义。安装完成后Node.js和npm就安装完成了 命令行输入: nod…

企业网络实验(vmware虚拟机充当DHCP服务器)所有IP全部保留,只为已知mac分配固定IP

文章目录 需求实验修改dhcp虚拟机配置文件测试PC获取IP查看user-bind 需求 (vmware虚拟机充当DHCP服务器)所有IP全部保留,只为已知mac分配固定IP 实验 前期配置: https://blog.csdn.net/xzzteach/article/details/140406092 后续配置均在以上配置的前…

【学术会议征稿】第三届智能电网与能源系统国际学术会议

第三届智能电网与能源系统国际学术会议 2024 3rd International Conference on Smart Grid and Energy Systems 第三届智能电网与能源系统国际学术会议(SGES 2024)将于2024年10月25日-27日在郑州召开。 智能电网可以优化能源布局,让现有能源…

推荐一款uniapp拖动验证码插件

插件地址:易盾验证码 - DCloud 插件市场 具体使用方式访问插件地址自行获取

【教程】Vue2中使用svg矢量图

1.npm导包 npm i svg-sprite-loader --save2.创建目录放入svg文件,创建SvgIcon.js 3.SvgIcon.js const req require.context(./svg, false, /\.svg$/) const requireAll requireContext > requireContext.keys().map(requireContext) requireAll(req)4.vue.c…

【Js】导出 HTML 为 Word 文档

在 Web 开发中,有时我们希望用户能够将网页上的 HTML 内容保存为 Word 文档,以便更方便地分享和打印。 html样式 word文档 工具准备 1、 html-docx-js - npm html-docx-js是一个 JavaScript 库,用于将 HTML 内容转换为 Word 文档的格式。它…

MySQL-基础点

目录 MySQL概念 数据库三大范式是什么? blob 和 text 有什么区别? DATETIME 和 TIMESTAMP 的异同? MySQL 中 in 和 exists 的区别? MySQL 里记录货币用什么字段类型比较好? MySQL 怎么存储 emoji? 用过哪些 M…

.NET MAUI开源架构_2.什么是 .NET MAUI?

1.什么是.NET MAUI? .NET 多平台应用 UI (.NET MAUI) 是一个跨平台框架,用于使用 C# 和 XAML 创建本机移动和桌面应用。使用 .NET MAUI,可从单个共享代码库开发可在 Android、iOS、macOS 和 Windows 上运行的应用。 .NET MAUI 是一款…

Flower花所比特币交易及交易费用科普

在加密货币交易中,选择一个可靠的平台至关重要。Flower花所通过提供比特币交易服务脱颖而出。本文将介绍在Flower花所进行比特币交易的基础知识及其交易费用。 什么是Flower花所? Flower花所是一家加密货币交易平台,为新手和资深交易者提供…

Python + OpenCV 简单车辆统计

目录 1 源码 2 运行结果 Python OpenCV 简单车辆统计 IDE : PyChram 1 源码 函数 car_count() 简单车辆统计 # 这是一个示例 Python 脚本。# 按 ShiftF10 执行或将其替换为您的代码。 # 按 双击 Shift 在所有地方搜索类、文件、工具窗口、操作和设置。 import cv2 impor…

Mojo语言的运用

1.Mojo语言概述 1.1什么是Mojo语言? Mojo语言是一种现代的动态编程语言,主要用于Web开发。它结合了多种语言的优点,如JavaScript、Perl和Lua,旨在为开发者提供: 简洁的语法:易于学习和使用,适…

课程设计——Python+OpenCV数字图像处理[车牌识别]

Python opencv 车牌识别 数字图像处理课程设计作业Python3OpenCV使用tkinter搭建界面tmp/文件夹是数字图像处理过程chepai/文件夹是车牌图片pic/文件夹是程序界面图PPT文件是验收时要讲的程序是从网上学习的并自己弄的,不完善,识别率不高 开发环境配置…

Java核心篇之JVM探秘:垃圾回收算法与垃圾收集器

系列文章目录 第一章 Java核心篇之JVM探秘:内存模型与管理初探 第二章 Java核心篇之JVM探秘:对象创建与内存分配机制 第三章 Java核心篇之JVM探秘:垃圾回收算法与垃圾收集器 第四章 Java核心篇之JVM调优实战:Arthas工具使用及…

QT creator与VS2019 QT加载模块方法

QT creator与VS2019加载模块方法 QT creator,pro文件添加 VS2019 QT

JavaScript中的面向对象编程

OPP在JavaScript的表现方式:原型 传统的OPP:类 ● 对象(实例)由类实例化,类的功能类似于蓝图,通过蓝图来实现建筑(实例) ● 行为(方法)从类复制到所有实例 …

子进程继承父进程文件描述符导致父进程打开设备文件失败

开发过程中有时会遇到需要在程序中执行三方程序或者shell脚本,一般会通过system(), popen(), exec簇来完成该功能。我们知道以上方法会通过fork创建子进程后在子进程中执行相应指令。如图1为某个示例流程,具体的程序执行流程如图2所示,线程my…

Android ListView

ListView ListView是以列表的形式展示具体内容的控件,ListView能够根据数据的长度自适应显示,如手机通讯录、短消息列表等都可以使用ListView实现。如图1所示是两个ListView,上半部分是数组形式的ListView,下半部分是简单列表Lis…

WPF学习(5) -- WPF绑定

一、双向绑定 1.代码示例 <Window x:Class"学习.MainWindow"xmlns"http://schemas.microsoft.com/winfx/2006/xaml/presentation"xmlns:x"http://schemas.microsoft.com/winfx/2006/xaml"xmlns:d"http://schemas.microsoft.com/expres…

批量导出word,并导出一个zip文件

系统导出功能&#xff0c;多条数据分别导出word&#xff0c;多个word打包到一个zip进行导出&#xff0c;直接拷贝过去可用&#xff0c;如果缺包自行查找。 参考&#xff1a; Java使用word模板导出word_java根据模板导出word-CSDN博客. Action(value "exportToWordZip&qu…