ecef2enu

Преобразуйте геоцентрические сосредоточенные Землей зафиксированные Землей координаты на локальный "восточный север"

Описание

пример

[xEast,yNorth,zUp] = ecef2enu(X,Y,Z,lat0,lon0,h0,spheroid) преобразовывает геоцентрические Декартовы координаты Сосредоточенного землей зафиксированного землей (ECEF), заданные XY, и Z к локальным Декартовым координатам "восточного севера" (ENU), заданным xEast, yNorth, и zUp. Задайте источник локальной системы ENU с геодезическими координатами lat0, lon0, и h0. Каждый координатный входной параметр должен совпадать с другими в размере или быть скаляром. Задайте spheroid как опорный сфероид для геодезических координат.

[___] = ecef2enu(___,angleUnit) задает модули для широты и долготы. Задайте angleUnit как 'degrees' (значение по умолчанию) или 'radians'.

Примеры

свернуть все

Найдите координаты ENU орбитальных обломков относительно спутника, с помощью координат ECEF обломков и геодезических координат спутника.

Во-первых, задайте опорный сфероид как WGS84 с единицами длины, измеренными в километрах. Для получения дополнительной информации о WGS84, смотрите Опорные сфероиды. Модули для эллипсоидальной высоты, координат ECEF и координат ENU должны совпадать с модулями, заданными LengthUnit свойство опорного сфероида.

wgs84 = wgs84Ellipsoid('kilometer');

Задайте геодезические координаты локального источника. В этом примере локальный источник является спутником. Задайте h0 как эллипсоидальная высота в километрах.

lat0 = 45.9132;
lon0 = 36.7484;
h0 = 1877.7532;

Задайте координаты ECEF интересного места. В этом примере интересное место является орбитальными обломками.

x = 5507.5289;
y = 4556.2241;
z = 6012.8208;

Затем вычислите координаты ENU обломков относительно спутника. В этом примере, zUp отображения в экспоненциальном представлении.

[xEast,yNorth,zUp] = ecef2enu(x,y,z,lat0,lon0,h0,wgs84)
xEast = 355.6013
yNorth = -923.0832
zUp = 1.0410e+03

Инвертируйте преобразование с помощью enu2ecef функция. В этом примере результаты отображаются в экспоненциальном представлении.

[x,y,z] = enu2ecef(xEast,yNorth,zUp,lat0,lon0,h0,wgs84)
x = 5.5075e+03
y = 4.5562e+03
z = 6.0128e+03

Входные параметры

свернуть все

ECEF x - координаты одной или нескольких точек в геоцентрической системе ECEF в виде скаляра, вектора, матрицы или массива N-D. Задайте значения в модулях, которые совпадают с LengthUnit свойство spheroid аргумент. Например, единица длины по умолчанию для опорного эллипсоида, созданного wgs84Ellipsoid 'meter'.

Типы данных: single | double

ECEF y - координаты одной или нескольких точек в геоцентрической системе ECEF в виде скаляра, вектора, матрицы или массива N-D. Задайте значения в модулях, которые совпадают с LengthUnit свойство spheroid аргумент. Например, единица длины по умолчанию для опорного эллипсоида, созданного wgs84Ellipsoid 'meter'.

Типы данных: single | double

ECEF z - координаты одной или нескольких точек в геоцентрической системе ECEF в виде скаляра, вектора, матрицы или массива N-D. Задайте значения в модулях, которые совпадают с LengthUnit свойство spheroid аргумент. Например, единица длины по умолчанию для опорного эллипсоида, созданного wgs84Ellipsoid 'meter'.

Типы данных: single | double

Геодезическая широта локального источника в виде скаляра, вектора, матрицы или массива N-D. Локальный источник может относиться к одной точке или серии точек (например, движущаяся платформа). Задайте значения в градусах. Чтобы использовать значения в радианах, задайте angleUnit аргумент как 'radians'.

Типы данных: single | double

Геодезическая долгота локального источника в виде скаляра, вектора, матрицы или массива N-D. Локальный источник может относиться к одной точке или серии точек (например, движущаяся платформа). Задайте значения в градусах. Чтобы использовать значения в радианах, задайте angleUnit аргумент как 'radians'.

Типы данных: single | double

Эллипсоидальная высота локального источника в виде скаляра, вектора, матрицы или массива N-D. Локальный источник может относиться к одной точке или серии точек (например, движущаяся платформа). Задайте значения в модулях, которые совпадают с LengthUnit свойство spheroid объект. Например, единица длины по умолчанию для опорного эллипсоида, созданного wgs84Ellipsoid 'meter'.

Для получения дополнительной информации об эллипсоидальной высоте, смотрите, Находят Эллипсоидальную Высоту от Ортометрической Высоты.

Типы данных: single | double

Опорный сфероид в виде referenceEllipsoid объект, oblateSpheroid объект или referenceSphere объект. Термин опорный сфероид используется синонимично с опорным эллипсоидом. Чтобы создать опорный сфероид, используйте функцию создания для объекта. Чтобы задать опорный эллипсоид для WGS84, используйте wgs84Ellipsoid функция.

Для получения дополнительной информации об опорных сфероидах, смотрите Опорные сфероиды.

Пример: spheroid = referenceEllipsoid('GRS 80');

Угловые модули в виде 'degrees' (значение по умолчанию) или 'radians'.

Выходные аргументы

свернуть все

ENU x - координаты одной или нескольких точек в локальной системе ENU, возвращенной как скаляр, вектор, матрица или массив N-D. Модули заданы LengthUnit свойство spheroid аргумент. Например, единица длины по умолчанию для опорного эллипсоида, созданного wgs84Ellipsoid 'meter'.

ENU y - координаты одной или нескольких точек в локальной системе ENU, возвращенной как скаляр, вектор, матрица или массив N-D. Модули заданы LengthUnit свойство spheroid аргумент. Например, единица длины по умолчанию для опорного эллипсоида, созданного wgs84Ellipsoid 'meter'.

ENU z - координаты одной или нескольких точек в локальной системе ENU, возвращенной как скаляр, вектор, матрица или массив N-D. Модули заданы LengthUnit свойство spheroid аргумент. Например, единица длины по умолчанию для опорного эллипсоида, созданного wgs84Ellipsoid 'meter'.

Советы

Чтобы преобразовать векторы вместо координатных местоположений, используйте ecef2enuv функция.

Расширенные возможности

Генерация кода C/C++
Генерация кода C и C++ с помощью MATLAB® Coder™.

Представленный в R2012b