主要内容

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

ecef2aer

将地心地固坐标转换为局部球坐标

说明

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

示例

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

示例

全部折叠

根据卫星的 ECEF 坐标和卫星天线的大地坐标,求卫星相对于卫星天线的 AER 坐标。

首先,将参考椭球体指定为 WGS84,其长度单位以公里为计量单位。有关 WGS84 的更多信息,请参阅Comparison of Reference Spheroids。椭球高、斜距和 ECEF 坐标的单位必须与参考椭球体 LengthUnit 属性所指定的单位一致。

wgs84 = wgs84Ellipsoid('kilometers');

指定局部原点的大地坐标。在此示例中,局部原点是卫星天线。将 h0 指定为以千米为单位的椭球高。

lat0 = 42.3221;
lon0 = -71.3576;
h0 = 0.0847;

指定感兴趣点的 ECEF 坐标。在这个示例中,卫星是关注点。

x = 10766.0803;
y = 14143.6070;
z = 33992.3880;

然后,计算卫星相对于卫星天线的 AER 坐标。在此示例中,slantRange 以科学记数法显示。

[az,elev,slantRange] = ecef2aer(x,y,z,lat0,lon0,h0,wgs84)
az = 
24.8012
elev = 
14.6185
slantRange = 
3.6272e+04

使用 aer2ecef 函数逆转转换。在此示例中,结果以科学记数法显示。

[x,y,z] = aer2ecef(az,elev,slantRange,lat0,lon0,h0,wgs84)
x = 
1.0766e+04
y = 
1.4144e+04
z = 
3.3992e+04

输入参数

全部折叠

地心地固 (ECEF) 坐标系中一个或多个点的 ECEF x 坐标,指定为标量、向量、矩阵或 N 维数组。请使用与 spheroid 参数的 LengthUnit 属性匹配的单位来指定数值。例如,由 wgs84Ellipsoid 创建的参考椭球体的默认长度单位是 'meter'

数据类型: single | double

地心地固 (ECEF) 坐标系中一个或多个点的 ECEF y 坐标,指定为标量、向量、矩阵或 N 维数组。请使用与 spheroid 参数的 LengthUnit 属性匹配的单位来指定数值。例如,由 wgs84Ellipsoid 创建的参考椭球体的默认长度单位是 'meter'

数据类型: single | double

地心地固 (ECEF) 坐标系中一个或多个点的 ECEF z 坐标,指定为标量、向量、矩阵或 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 函数。

有关参考椭球体的更多信息,请参阅Comparison of Reference Spheroids

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

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

输出参量

全部折叠

局部 AER 坐标系中一个或多个点的方位角,以标量、向量、矩阵或 N 维数组形式返回。方位角以北为起点顺时针测量。数值以度为单位,限定在半开区间 [0 360) 内。要使用弧度值,请将 angleUnit 参数指定为 'radians'

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

数值以度为单位,位于闭区间 [–90, 90] 内。要使用弧度值,请将 angleUnit 参数指定为 'radians'

相对于局部原点的距离,以标量、向量、矩阵或 N 维数组形式返回。每个距离沿三维笛卡尔直线计算。单位由 spheroid 参数的 LengthUnit 属性指定。例如,由 wgs84Ellipsoid 创建的参考椭球体的默认长度单位是 'meter'

扩展功能

全部展开

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

版本历史记录

在 R2012b 中推出

全部展开