ecef2enu

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

Описание

пример

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

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

Примеры

свернуть все

Найти координаты орбитального мусора по отношению к спутнику, используя координаты 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++ с помощью Coder™ MATLAB ®

.
Введенный в R2012b