# eci2aer

Convert Earth-centered inertial (ECI) coordinates to azimuth, elevation, slant range (AER) coordinates

## Syntax

``aer = eci2aer(position,utc,lla0)``
``aer = eci2aer(position,utc,lla0,reduction)``
``aer = eci2aer(position,utc,lla0,reduction,deltaAT)``
``aer = eci2aer(position,utc,lla0,reduction,deltaAT,deltaUT1)``
``aer = eci2aer(position,utc,lla0,reduction,deltaAT,deltaUT1,polarmotion)``
``aer = eci2aer(position,utc,lla0,reduction,deltaAT,deltaUT1,polarmotion,Name,Value)``

## Description

example

````aer = eci2aer(position,utc,lla0)` converts Earth-centered inertial coordinates, specified by position, to azimuth, elevation, and slant range (AER) coordinates, based on the geodetic position (latitude, longitude, and altitude). The conversion is based on the Coordinated Universal Time (UTC) you specify.Azimuth (A) — Angle measured clockwise from true north. It ranges from 0 to 360 degrees.Elevation (E) — Angle between a plane perpendicular to the ellipsoid and the line that goes from the local reference to the object position. It ranges from –90 to 90 degrees.Slant range (R) — Straight line distance between the local reference and the object, meters.```

example

````aer = eci2aer(position,utc,lla0,reduction)` converts Earth-centered inertial coordinates, specified by `position`, to azimuth, elevation, and slant range coordinates. The conversion is based on the specified reduction method and the Coordinated Universal Time you specify.`aer = eci2aer(position,utc,lla0,reduction,deltaAT)` uses the difference between International Atomic Time and UTC that you specify as `deltaAT` to calculate the AER coordinates.`aer = eci2aer(position,utc,lla0,reduction,deltaAT,deltaUT1)` uses the difference between UTC and Universal Time (UT1), which you specify as `deltaUT1`, in the calculation.`aer = eci2aer(position,utc,lla0,reduction,deltaAT,deltaUT1,polarmotion)` uses the polar displacement, `polarmotion`, in the calculation.`aer = eci2aer(position,utc,lla0,reduction,deltaAT,deltaUT1,polarmotion,Name,Value)` uses additional options specified by one or more Name,Value pair arguments.```

## Examples

collapse all

Convert the position to AER coordinates from ECI coordinates 1e08*[-3.8454 -0.5099 -0.3255] meters for the date 1969/7/20 21:17:40 UTC at 28.4 degrees north, 80.5 degrees west and 2.7 meters altitude.

```aer = eci2aer(1e08*[-3.8454,-0.5099,-0.3255],... [1969,7,20,21,17,40], [28.4,-80.5,2.7])```
```aer = 1.0e+08 * 0.0000 0.0000 3.8401```

Convert the position to AER coordinates from ECI coordinates 1e08*[-3.8454 -0.5099 -0.3255] meters for the date 1969/7/20 21:17:40 UTC at 28.4 degrees north, 80.5 degrees west and 2.7 meters altitude. For an ellipsoid with a flattening of 1/290 and an equatorial radius of 60000 meters, use the IAU-76/FK5 reduction, polar motion [-0.0682e-5 0.1616e-5] radians, and nutation angles [-0.2530e-6 -0.0188e-6].

```aer = eci2aer(1e08*[-3.8454,-0.5099,-0.3255],... [1969,7,20,21,17,40],[28.4,-80.5,2.7],... 'IAU-76/FK5',32,0.234,[-0.0682e-5 0.1616e-5],... 'dNutation',[-0.2530e-6 -0.0188e-6],... 'flattening',1/290,'RE',60000)```
```aer = 1.0e+08 * 0.0000 0.0000 3.8922```

## Input Arguments

collapse all

ECI coordinates in meters, specified as an M-by-3 array.

Coordinated Universal Time (UTC), in the order year, month, day, hour, minutes, and seconds, for which the function calculates the conversion, specified as one of the following:

• For the year value, enter a double value that is a whole number greater than 1, such as `2013`.

• For the month value, enter a double value that is a whole number greater than 0, within the range `1` to `12`.

• For the hour value, enter a double value that is a whole number greater than 0, within the range `1` to `24`.

• For the hour value, enter a double value that is a whole number greater than 0, within the range `1` to `60`.

• For the minute and second values, enter a double value that is a whole number greater than 0, within the range `1` to `60`.

Specify these values in one of the following formats:

• 1-by-6 array

Specify a 1-row-by-6-column array of UTC values.

• M-by-6 matrix

Specify an M-by-6 array of UTC values, where M is the number of transformation matrices to calculate. Each row corresponds to one set of UTC values.

This example is a one-row-by-6-column array of UTC values.

Example: `[2000 1 12 4 52 12.4]`

This example is an M-by-6 array of UTC values, where M is 2.

Example: ```[2000 1 12 4 52 12.4;2010 6 5 7 22 0]```

Data Types: `double`

Geodetic coordinates of the local reference (latitude, longitude, and ellipsoidal altitude), in degrees, degrees, and meters. Latitude and longitude values can be any value. However, latitude values of +90 and –90 can return unexpected values because of singularity at the poles.

Reduction method to calculate the coordinate conversion, specified as one of the following:

• `'IAU-76/FK5'`

Reduce the calculation using the International Astronomical Union (IAU)-76/Fifth Fundamental Catalogue (FK5) (IAU-76/FK5) reference system. Choose this reduction method if the reference coordinate system for the conversion is FK5. You can use the `'dNutation'` Name,Value pair with this reduction.

Note

This method uses the IAU 1976 precession model and the IAU 1980 theory of nutation to reduce the calculation. This model and theory are no longer current, but the software provides this reduction method for existing implementations. Because of the polar motion approximation that this reduction method uses, `eci2aer` performs a coordinate conversion that is not orthogonal due to the polar motion approximation.

• `'IAU-2000/2006'`

Reduce the calculation using the International Astronomical Union (IAU)-2000/2005 reference system. Choose this reduction method if the reference coordinate system for the conversion is IAU-2000. This reduction method uses the P03 precession model to reduce the calculation. You can use the `'dCIP'` Name,Value pair with this reduction.

Difference between International Atomic Time (IAT) and UTC, in seconds, for which the function calculates the direction cosine or transformation matrix. By default, the function assumes an M-by-1 array of zeroes.

• scalar

Specify one difference-time value to calculate one direction cosine or transformation matrix.

• one-dimensional array

Specify a one-dimensional array with M elements, where M is the number of direction cosine or transformation matrices to calculate. Each row corresponds to one set of UTC values.

Example: `32`

Specify `32` seconds as the difference between IAT and UTC.

Data Types: `double`

Difference between UTC and Universal Time (UT1) in seconds, for which the function calculates the direction cosine or transformation matrix. By default, the function assumes an M-by-1 array of zeroes.

• scalar

Specify one difference-time value to calculate one direction cosine or transformation matrix.

• one-dimensional array

Specify a one-dimensional array with M elements of difference time values, where M is the number of direction cosine or transformation matrices to be calculated. Each row corresponds to one set of UTC values.

Example: `0.234`

Specify `0.234` seconds as the difference between UTC and UT1.

Data Types: `double`

Polar displacement of the Earth, in radians, from the motion of the Earth crust, along the x- and y-axes. By default, the function assumes an M-by-2 array of zeroes.

• 1-by-2 array

Specify a 1-by-2 array of the polar displacement values to convert one direction cosine or transformation matrix.

• M-by-2 array

Specify an M-by-2 array of polar displacement values, where M is the number of direction cosine or transformation matrices to convert. Each row corresponds to one set of UTC values.

Example: `[-0.0682e-5 0.1616e-5]`

Data Types: `double`

### Name-Value Arguments

Specify optional pairs of arguments as `Name1=Value1,...,NameN=ValueN`, where `Name` is the argument name and `Value` is the corresponding value. Name-value arguments must appear after other arguments, but the order of the pairs does not matter.

Before R2021a, use commas to separate each name and value, and enclose `Name` in quotes.

Example: `'dNutation',[-0.2530e-6 -0.0188e-6]`

Adjustment to the longitude (dDeltaPsi) and obliquity (dDeltaEpsilon), in radians, specified as the comma-separated pair consisting of `'dNutation'` and an M-by-2 array. You can use this Name,Value pair with the IAU-76/FK5 reduction.

For historical values, see the International Earth Rotation and Reference Systems Service website (`https://www.iers.org`) and navigate to the Earth Orientation Data Data/Products page.

• M-by-2 array

Specify M-by-2 array of adjustment values, where M is the number of LLA coordinates to be converted. Each row corresponds to one set of longitude and obliquity values.

Data Types: `double`

Adjustment to the location of the celestial intermediate pole (CIP), in radians, specified as the comma-separated pair consisting of `'dCIP'` and an M-by-2 array. This location (dDeltaX, dDeltaY) is along the x- and y- axes. You can use this argument with the IAU-200/2006 reduction.

For historical values, see the International Earth Rotation and Reference Systems Service website (`https://www.iers.org`) and navigate to the Earth Orientation Data Data/Products page.

• M-by-2 array

Specify M-by-2 array of location adjustment values, where M is the number of LLA coordinates to convert. Each row corresponds to one set of dDeltaX and dDeltaY values.

Example: `'dCIP',[-0.2530e-6 -0.0188e-6]`

Data Types: `double`

Custom ellipsoid planet defined by flattening, specified as the comma-separated pair consisting of `'flattening'` and a 1-by-1 array.

Example: `1/290`

Data Types: `double`

Custom planet ellipsoid radius, in meters, specified as the comma-separated pair consisting of `'re'` and a 1-by-1 array.

Example: `60000`

Data Types: `double`

## Version History

Introduced in R2015a