主要内容

本页采用了机器翻译。点击此处可查看英文原文。

aer2geodetic

将局部球面坐标转换为大地坐标系

说明

[lat,lon,h] = aer2geodetic(az,elev,slantRange,lat0,lon0,h0,spheroid) 将由 azelevslantRange 指定的方位 - 仰角 - 距离 (AER) 球面坐标转换为由 latlonh 指定的大地坐标系。使用大地坐标 lat0lon0h0 指定局部 AER 坐标系的原点。每个坐标输入参数的大小必须与其他参数一致,或为标量。将 spheroid 指定为大地坐标系的参考椭球体。

示例

[___] = aer2geodetic(___,angleUnit) 指定方位角、仰角、纬度和经度的单位。将 angleUnit 指定为 'degrees'(默认值)或 'radians'

示例

全部折叠

利用马特洪峰相对于瑞士采尔马特大地坐标系的 AER 坐标,求出马特洪峰的大地坐标系。

首先,将参考椭球体指定为 WGS 84。有关 WGS 84 的更多信息,请参阅参考椭球体的比较。椭球高和斜距的单位必须与参考椭球体的 LengthUnit 属性所指定的单位一致。由 wgs84Ellipsoid 创建的参考椭球体的默认长度单位是 'meter'

wgs84 = wgs84Ellipsoid;

指定局部原点的大地坐标。在此示例中,局部原点为采尔马特。将 h0 指定为椭球高(单位:米)。

lat0 = 46.017;
lon0 = 7.750;
h0 = 1673;

指定目标点的 AER 坐标。在这个示例中,焦点是马特洪峰。请以米为单位指定斜距。

az = 238.08;
elev = 18.744;
slantRange = 8876.8;

然后,计算马特洪峰的大地坐标系。结果 h 是马特洪峰的椭球高(单位:米)。要以标准记谱法查看结果,请将显示格式指定为 shortG

format shortG
[lat,lon,h] = aer2geodetic(az,elev,slantRange,lat0,lon0,h0,wgs84)
lat = 
       45.977

lon = 
        7.658

h = 
         4531

使用 geodetic2aer 函数逆转转换。

[az,elev,slantRange] = geodetic2aer(lat,lon,h,lat0,lon0,h0,wgs84)
az = 
       238.08

elev = 
       18.744

slantRange = 
       8876.8

输入参数

全部折叠

本地 AER 坐标系中一个或多个点的方位角,指定为标量、向量、矩阵或 N 维数组。方位角以北为起点顺时针测量。请以度为单位指定值。要使用弧度值,请将 angleUnit 参数指定为 'radians'

数据类型: single | double

局部 AER 坐标系中一个或多个点的仰角,指定为标量、向量、矩阵或 N 维数组。请以垂直于椭球体表面法线的平面为基准指定高程。若局部原点位于椭球体表面 (h0 = 0),则该平面与椭球体相切。

请以度为单位指定值。要使用弧度值,请将 angleUnit 参数指定为 'radians'

数据类型: single | double

相对于本地原点的距离,指定为标量、向量、矩阵或 N 维数组。请将每段距离指定为沿一条三维笛卡尔直线测量的距离。请使用与 spheroid 参数的 LengthUnit 属性匹配的单位来指定数值。例如,由 wgs84Ellipsoid 创建的参考椭球体的默认长度单位是 'meter'

数据类型: single | double

局部原点的大地纬度,指定为标量、向量、矩阵或 N 维数组。局部原点可以指一个点或一系列点(例如移动平台)。请以度为单位指定数值。要使用弧度值,请将 angleUnit 参数指定为 'radians'

数据类型: single | double

局部原点的大地经度,指定为标量、向量、矩阵或 N 维数组。局部原点可以指一个点或一系列点(例如移动平台)。请以度为单位指定数值。要使用弧度值,请将 angleUnit 参数指定为 'radians'

数据类型: single | double

局部原点的椭球高度,指定为标量、向量、矩阵或 N 维数组。局部原点可以指一个点或一系列点(例如移动平台)。请使用与 spheroid 对象的 LengthUnit 属性匹配的单位指定数值。例如,由 wgs84Ellipsoid 创建的参考椭球体的默认长度单位是 'meter'

有关椭球高 (ellipsoidal height) 的更多信息,请参阅从正高推算椭球高

数据类型: single | double

参考椭球体,指定为 referenceEllipsoid 对象、oblateSpheroid 对象或 referenceSphere 对象。术语“参考球体”与“参考椭球体”同义,可互换使用。要创建参考椭球体,请使用该对象的创建函数。要指定 WGS84 参考椭球体,请使用 wgs84Ellipsoid 函数。

有关参考椭球体的更多信息,请参阅参考椭球体的比较

示例: spheroid = referenceEllipsoid('GRS 80');

角度单位,指定为 "degrees"(默认值)或 "radians"

输出参量

全部折叠

一个或多个点的大地纬度,以标量、向量、矩阵或 N 维数组形式返回。数值以度为单位在区间 [-90 90] 内给定。要使用弧度值,请将 angleUnit 参数指定为 'radians'

一个或多个点的大地经度,以标量、向量、矩阵或 N 维数组形式返回。数值以度为单位在区间 [-180 180] 内给定。要使用弧度值,请将 angleUnit 参数指定为 'radians'

一个或多个点的椭球高,以标量、向量、矩阵或 N 维数组形式返回。数值以与 spheroid 对象的 LengthUnit 属性匹配的单位进行指定。例如,由 wgs84Ellipsoid 创建的参考椭球体的默认长度单位是 'meter'

有关椭球高 (ellipsoidal height) 的更多信息,请参阅从正高推算椭球高

扩展功能

全部展开

C/C++ 代码生成
使用 MATLAB® Coder™ 生成 C 代码和 C++ 代码。

版本历史记录

在 R2012b 中推出

全部展开