当前位置: 首页 > news >正文

03 - matlab m_map地学绘图工具基础函数 - 设置坐标系(m_coord)

03 - matlab m_map地学绘图工具基础函数 - 设置坐标系(m_coord)

  • 0. 引言
  • 1. m_proj使用方法
  • 2. 结语


0. 引言

  上一篇介绍了m_proj函数用于初始化投影,本篇介绍的函数m_coord用于初始化地理坐标系或地磁坐标系,地理/地磁坐标系和投影坐标系的初始化同样重要。先简单了解下基本概念吧:

地理坐标系

   概念: 地理坐标系是一种用经度和纬度来描述地球上位置的坐标系统。经度和纬度是地球表面上任意点的地理坐标,通过这两个坐标可以精确定位地球上的任何位置。意义:地理坐标系因其全球性的定位能力,在地图制图、导航和地理信息系统中被广泛应用。通过地理坐标系,我们可以准确地标识出地球上的各种自然和人造地标,实现地图的精确定位和导航功能。

地磁坐标系

   概念:地磁坐标系是一种以地球的地磁场为基础建立的坐标系,用于描述地球上的位置和方向。地球的地磁场是由地核运动产生的磁场,它在地球表面和周围空间形成了一个复杂的磁场结构。地磁坐标系利用地球磁场的方向作为参考,来描述地球上的位置和方向。与地理坐标系不同,地磁坐标系不直接使用经度和纬度,而是使用与地球磁场方向相关的参数,如磁纬、磁经等。 意义:地磁坐标系的主要优势在于它能够提供与地球磁场结构相关的定位和导航信息,尤其在需要考虑地球磁场影响的应用场合具有重要意义。

投影坐标系

   概念:投影坐标系是一种将地球表面的三维空间坐标投影到二维平面上的坐标系统。由于地球是一个三维的球体,而地图通常是平面的,为了将地球表面上的地理信息准确地表示在平面地图上,就需要使用投影坐标系。不同的地图投影方法会产生不同类型的投影坐标系,如墨卡托投影、极射赤面投影、等距圆锥投影等。每种投影方法都有其特定的投影规则,使得地球表面上的经纬度坐标能够被准确映射到平面地图上的坐标。这样一来,人们就可以在地图上方便地测量距离、面积和方位等信息。 意义:投影坐标系在地图制图、空间分析、导航和地理信息系统中有着重要的应用,它使得我们能够用平面图形直观地表示出地球表面上复杂的地理信息,方便人们进行地图阅读和空间分析。

三种坐标系的相同和异同点
相同点:

  • 均用于地图制图和导航:这三种坐标系都用于描述地球表面上的位置和方向,对地图制图、导航和空间定位具有重要意义。

  • 都基于地球表面:这些坐标系都是基于地球表面的特征和结构建立的,用于描述地球上的位置和方向关系。

不同点:

  • 定义方式不同:地理坐标系是基于地球椭球体经纬度网格系统建立的,地磁坐标系是基于地球磁场的方向建立的坐标系,而投影坐标系是将三维地球表面投影到二维平面上的坐标系。

  • 应用领域不同:地理坐标系主要用于全球性的定位和导航,地磁坐标系主要用于航空航天、地球物理勘探等领域,而投影坐标系则主要用于地图制图和空间分析。

  • 表达方式不同:地理坐标系使用经度和纬度表示位置,地磁坐标系使用磁场方向参数表示位置,而投影坐标系使用投影坐标表示位置。

1. m_proj使用方法

  m_proj提供了下面4种调用方式:

M_COORD('set') 获取当前使用的坐标系统
M_COORD('get') 获取当前可以选择使用的坐标系统名称
M_COORD('usage') 获取m_coord的使用方法
M_COORD(SYSTEM) 设置坐标系

  逐个看下m_proj不同参数下的输出:

1. m_coord('set')

clc;clear
mstruct = m_proj('Mercator', 'lon', [0 360], 'lat', [-90 90]); % 定义投影坐标系
m_coord('set'); % 查看默认地理坐标系%% 输出结果
>> test_m_coordname: 'geographic'mdate: 0

  该命令执行后打印出了当前使用的地理坐标系的名称,而前面又没有调用m_coord对地理坐标系进行设置,由此可知默认地理坐标系就为’geographic’。

2. m_coord('get')

>> m_coord('get')Available coordinate systems are:geographicIGRF2000-geomagneticIGRF2011-geomagneticIGRF2020-geomagneticIGRF-geomagnetic

  该命令执行后打印出了所有可设置的地理/地磁坐标系名称,由此可以看到除“geographic”外其余均为地磁坐标系,所以在绘制地理图件的时候可不必调用m_coord对坐标系进行定义,使用默认即可。

3. m_coord('usage')
  该命令没什么实际意义,不展开了。

4. m_coord(system)
  该命令在绘图地磁有关的图件时或能用到,下面还是用一个简单例子,展示下m_coord(system)是否可以正确修改坐标系。

clc;clear;
mstruct = m_proj('Mercator', 'lon', [0 360], 'lat', [-90 90]); %初始化投影坐标系
m_coord('set'); % 获取当前坐标系
m_coord('IGRF2000-geomagnetic'); % 对坐标系进行修改
m_coord('set'); % 是否修改成功%% 输出结果
>>name: 'geographic'mdate: 0name: 'IGRF2000-geomagnetic'mdate: 730486

  见输出可以看到m_coord(‘IGRF2000-geomagnetic’)起到了设置坐标系的作用。

2. 结语

  本篇介绍了m_coord函数的用法,在地学制图中一般是用不到的,在绘制地磁图件时可以用于设置不同的地磁坐标系。






😜
😜😜
😜😜😜😜

相关文章:

03 - matlab m_map地学绘图工具基础函数 - 设置坐标系(m_coord)

03 - matlab m_map地学绘图工具基础函数 - 设置坐标系(m_coord) 0. 引言1. m_proj使用方法2. 结语 0. 引言 上一篇介绍了m_proj函数用于初始化投影,本篇介绍的函数m_coord用于初始化地理坐标系或地磁坐标系,地理/地磁坐标系和投影…...

UEC++ 虚幻5第三人称射击游戏(一)

UEC 虚幻5第三人称射击游戏(一) 创建一个空白的C工程 人物角色基本移动 创建一个Character类添加一些虚幻商城中的基础动画 给角色类添加Camera与SPringArm组件 UPROPERTY(VisibleAnywhere, BlueprintReadOnly, Category "SpringArm")clas…...

java小代码(1)

代码 : 今日总结到此结束,拜拜!...

SLAM ORB-SLAM2(27)词袋模型

SLAM ORB-SLAM2(27)词袋模型 1. 词袋模型1.1. 词汇树1.2. 逆向索引表1.3. 逆向索引表2. 词袋向量3. 匹配候选帧3.1. 找出和当前帧具有公共单词的所有关键帧3.2. 找出和当前帧最多公共单词的关键帧3.3. 剔除共享单词数较少的关键帧3.4. 计算关键帧的共视关键帧组的总得分3.5. …...

OpenAI 的 GPT-5:CTO米拉-穆拉提说,到 2026 年将实现博士级智能(Ph.D.-Level))

据首席技术官米拉-穆拉提(Mira Murati)介绍,GPT-5 是 OpenAI 人工智能的下一代进化产品,将于 2025 年底或 2026 年初在特定任务中实现博士级智能。 GPT-5 内部代号为 "Gobi "和 “Arrakis”,将是一个多模态…...

macbook配置adb环境和用adb操作安卓手机

(参考:ADB工具包的安装与使用_adb工具箱-CSDN博客) 第一步:从Android开发者网站下载Android SDK(软件开发工具包)。下载地址为: 第二步:解压下载的SDK压缩文件到某个目录中。 进入解…...

微软TTS最新模型,发布9种更真实的AI语音

很高兴与大家分享 Azure AI 语音翻译产品套件的两个重大更新: 视频翻译和增强的实时语音翻译 API。 视频翻译(批量) 今天,我们宣布推出视频翻译预览版,这是一项突破性的服务,旨在改变企业本地化视频内容…...

python爬虫 -爬取 json 格式数据

在Python中,爬取JSON格式的数据通常涉及到发送 HTTP请求到某个URL,并解析返回的JSON数据。以下是一个简单的示例,说明如何使用Python的requests库来爬取JSON格式的数据: 1. 首先,确保你已经安装了requests库。如果没…...

Pytorch(5)-----梯度计算

一、问题 如何使用Pytorch计算样本张量的基本梯度呢?考虑一个样本数据集,且有两个展示变量,在给定初始权重的基础上,如何在每次迭代中计算梯度呢? 二、如何运行 假设有x_data 和 y_data 列表,计算两个列表需…...

C#的膨胀之路:创新还是灭亡

开篇概述 C#,这门由微软推出的编程语言,自2000年诞生以来,以其简洁的语法、强大的功能和广泛的应用场景,赢得了我等程序员的热爱。它在.NET框架的加持下,展现出无与伦比的开发效率和性能。然而,随着时间的流…...

SpringBoot 过滤器和拦截器的区别

SpringBoot 过滤器和拦截器的区别 Spring拦截器(Interceptor)和过滤器(Filter)是Spring框架中用于处理请求的两种机制,虽然它们都可以在请求处理的不同阶段进行拦截和处理,但它们的工作原理和应用场景有所…...

协程执行顺序引发的问题

引言 在Golang中,因为协程执行的顺序是不固定的,如果不在代码里进行控制,可能就会导致预期外的输出。 本文通过分析一段代码的执行来介绍这种情况,以及可行的控制协程执行顺序的方法: sleep()waitGroup 实例分析 代…...

android webview调用js滚动到指定位置

一、activity import android.os.Bundle import androidx.appcompat.app.AppCompatActivity import com.tencent.smtt.sdk.WebView import com.tencent.smtt.sdk.WebViewClientclass MainActivity : AppCompatActivity() {private lateinit var webView: WebViewoverride fun …...

WPF 深入理解一、基础知识介绍

基础知识 本系列文章是对个人 B站 up 微软系列技术教程 记录 视频地址 https://www.bilibili.com/video/BV1HC4y1b76v/?spm_id_from333.999.0.0&vd_source0748f94a553c71a2b0125078697617e3 winform 与 wpf 异同 1.winform 项目结构 编辑主要是在 Form1.cs(页面)&#…...

腾讯云点播ugc upload | lack signature 问题处理

我犯一个很傻的错误 参考腾讯云官方文档:云点播 Web 端上传 SDK-开发指南-文档中心-腾讯云 进行开发,但是却报错了,始终找不到问题,错误提示:ugc upload | lack signature,意思是缺少签名或者签名失败&…...

计算机视觉实验二:基于支持向量机和随机森林的分类(Part one: 编程实现基于支持向量机的人脸识别分类 )

目录 一、实验内容 二、实验目的 三、实验步骤 四、实验结果截图 五、实验完整代码 六、报错及解决方案 PS:实验的运行速度受电脑性能影响,如遇运行卡顿请耐心等待。 一、实验内容 编程实现基于支持向量机的人脸识别分类,基本功能包括:Labeled Faces in th…...

5.什么是C语言

什么是 C 语言? C语言是一种用于和计算机交流的高级语言, 它既具有高级语言的特点,又具有汇编语言的特点 非常接近自然语言程序的执行效率非常高 C语言是所有编程语言中的经典,很多高级语言都是从C语言中衍生出来的, 例如:C、C#、Object-C、…...

DINO-DETR

DINO-DETR DETR收敛慢的问题1. Contrastive DeNoising Training(对比方法降噪训练)2. Mixed Query Selection(混合查询选择方法对锚点进行初始化)3. Look Forward Twice(两次前向方法)==DINO模型的传播过程,以及部分模块的改进==DETR收敛慢的问题 PnP-DETR(ICCV 2021) 改进了…...

Representation RL:HarmonyDream: Task Harmonization Inside World Models

ICML2024 paper code Intro 基于状态表征的model-based强化学习方法一般需要学习状态转移模型以及奖励模型。现有方法都是将二者联合训练但普遍缺乏对如何平衡二者之间的比重进行研究。本文提出的HarmonyDream便是通过自动调整损失系数来维持任务间的和谐,即在世界…...

Centos7系统下Docker的安装与配置

文章目录 前言下载Docker安装yum库安装Docker启动和校验配置Docker镜像加速卸载Docker 前言 此博客的内容的为自己的学习笔记,如果需要更具体的内容,可查看Docker官网文档内容 注意:以下命令在root管理员用户下运行,如果在普通用…...

Linux应用开发之网络套接字编程(实例篇)

服务端与客户端单连接 服务端代码 #include <sys/socket.h> #include <sys/types.h> #include <netinet/in.h> #include <stdio.h> #include <stdlib.h> #include <string.h> #include <arpa/inet.h> #include <pthread.h> …...

C++实现分布式网络通信框架RPC(3)--rpc调用端

目录 一、前言 二、UserServiceRpc_Stub 三、 CallMethod方法的重写 头文件 实现 四、rpc调用端的调用 实现 五、 google::protobuf::RpcController *controller 头文件 实现 六、总结 一、前言 在前边的文章中&#xff0c;我们已经大致实现了rpc服务端的各项功能代…...

Golang dig框架与GraphQL的完美结合

将 Go 的 Dig 依赖注入框架与 GraphQL 结合使用&#xff0c;可以显著提升应用程序的可维护性、可测试性以及灵活性。 Dig 是一个强大的依赖注入容器&#xff0c;能够帮助开发者更好地管理复杂的依赖关系&#xff0c;而 GraphQL 则是一种用于 API 的查询语言&#xff0c;能够提…...

Axios请求超时重发机制

Axios 超时重新请求实现方案 在 Axios 中实现超时重新请求可以通过以下几种方式&#xff1a; 1. 使用拦截器实现自动重试 import axios from axios;// 创建axios实例 const instance axios.create();// 设置超时时间 instance.defaults.timeout 5000;// 最大重试次数 cons…...

深入解析C++中的extern关键字:跨文件共享变量与函数的终极指南

&#x1f680; C extern 关键字深度解析&#xff1a;跨文件编程的终极指南 &#x1f4c5; 更新时间&#xff1a;2025年6月5日 &#x1f3f7;️ 标签&#xff1a;C | extern关键字 | 多文件编程 | 链接与声明 | 现代C 文章目录 前言&#x1f525;一、extern 是什么&#xff1f;&…...

AspectJ 在 Android 中的完整使用指南

一、环境配置&#xff08;Gradle 7.0 适配&#xff09; 1. 项目级 build.gradle // 注意&#xff1a;沪江插件已停更&#xff0c;推荐官方兼容方案 buildscript {dependencies {classpath org.aspectj:aspectjtools:1.9.9.1 // AspectJ 工具} } 2. 模块级 build.gradle plu…...

使用LangGraph和LangSmith构建多智能体人工智能系统

现在&#xff0c;通过组合几个较小的子智能体来创建一个强大的人工智能智能体正成为一种趋势。但这也带来了一些挑战&#xff0c;比如减少幻觉、管理对话流程、在测试期间留意智能体的工作方式、允许人工介入以及评估其性能。你需要进行大量的反复试验。 在这篇博客〔原作者&a…...

在Mathematica中实现Newton-Raphson迭代的收敛时间算法(一般三次多项式)

考察一般的三次多项式&#xff0c;以r为参数&#xff1a; p[z_, r_] : z^3 (r - 1) z - r; roots[r_] : z /. Solve[p[z, r] 0, z]&#xff1b; 此多项式的根为&#xff1a; 尽管看起来这个多项式是特殊的&#xff0c;其实一般的三次多项式都是可以通过线性变换化为这个形式…...

C++ 设计模式 《小明的奶茶加料风波》

&#x1f468;‍&#x1f393; 模式名称&#xff1a;装饰器模式&#xff08;Decorator Pattern&#xff09; &#x1f466; 小明最近上线了校园奶茶配送功能&#xff0c;业务火爆&#xff0c;大家都在加料&#xff1a; 有的同学要加波霸 &#x1f7e4;&#xff0c;有的要加椰果…...

Vue 模板语句的数据来源

&#x1f9e9; Vue 模板语句的数据来源&#xff1a;全方位解析 Vue 模板&#xff08;<template> 部分&#xff09;中的表达式、指令绑定&#xff08;如 v-bind, v-on&#xff09;和插值&#xff08;{{ }}&#xff09;都在一个特定的作用域内求值。这个作用域由当前 组件…...