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

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

  • [0. 引言](#0. 引言)
  • [1. m_proj使用方法](#1. m_proj使用方法)
  • [2. 结语](#2. 结语)

0. 引言

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

地理坐标系

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

地磁坐标系

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

投影坐标系

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

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

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

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

不同点:

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

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

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

1. m_proj使用方法

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

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

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

1. m_coord('set')

matlab 复制代码
clc;clear
mstruct = m_proj('Mercator', 'lon', [0 360], 'lat', [-90 90]); % 定义投影坐标系
m_coord('set'); % 查看默认地理坐标系

%% 输出结果
>> test_m_coord
     name: 'geographic'
    mdate: 0

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

2. m_coord('get')

matlab 复制代码
>> m_coord('get')
 
Available coordinate systems are:
     geographic
     IGRF2000-geomagnetic
     IGRF2011-geomagnetic
     IGRF2020-geomagnetic
     IGRF-geomagnetic

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

3. m_coord('usage')

该命令没什么实际意义,不展开了。

4. m_coord(system)

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

matlab 复制代码
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: 0

     name: 'IGRF2000-geomagnetic'
    mdate: 730486

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

2. 结语

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

😜

😜😜

😜😜😜😜

相关推荐
阑梦清川5 小时前
数学建模--Matlab操作与运算
开发语言·数学建模·matlab
Xiaoxll1216 小时前
5G NR下行载波波形生成-Matlab
开发语言·5g·matlab
Esaki diode18 小时前
DC-DC变换电路的研究与设计
单片机·嵌入式硬件·matlab·dc-dc
哥廷根数学学派1 天前
简单的同步压缩变换脊线检测(Python&MATLAB)
开发语言·人工智能·python·算法·机器学习·matlab
MelyLenient2 天前
Matlab复数相关
开发语言·matlab
fei_sun2 天前
MATLAB复习
matlab
顶呱呱程序2 天前
2-11 基于matlab的BP-Adaboost的强分类器分类预测
人工智能·matlab·分类·bp-adaboost·分类器分类预测
机器学习之心2 天前
SCI一区级 | Matlab实现BO-Transformer-LSTM多变量时间序列预测
matlab·lstm·transformer·贝叶斯优化·bayes
IT猿手2 天前
单目标应用:基于吸血水蛭优化器(Blood-Sucking Leech Optimizer,BSLO)的微电网优化(MATLAB代码)
开发语言·算法·matlab·微电网优化·微电网
扬辰鑫2 天前
基于Simulink的行波故障测距
matlab·simulink