exponenta event banner

ecef2enu

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

Описание

пример

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

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

Примеры

свернуть все

Найти координаты RUS орбитального мусора относительно спутника, используя координаты ECEF мусора и геодезические координаты спутника.

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

wgs84 = wgs84Ellipsoid('kilometer');

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

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

Укажите координаты ECEF интересующей точки. В этом примере интересующей точкой является орбитальный мусор.

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

Затем вычислите координаты RUS мусора относительно спутника. В этом примере: 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

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

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

Z-координаты ECEF одной или нескольких точек в геоцентрической системе 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'.

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

свернуть все

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

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

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

Совет

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

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

Создание кода C/C + +
Создайте код C и C++ с помощью MATLAB ® Coder™

.
Представлен в R2012b