ecef2ned

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

Описание

пример

[xNorth,yEast,zDown] = ecef2ned(X,Y,Z,lat0,lon0,h0,spheroid) преобразовывает геоцентрические Декартовы координаты Сосредоточенного землей зафиксированного землей (ECEF), заданные XY, и Z на локальный северо-восток вниз (NED) Декартовы координаты заданы xNorth, yEast, и zDown. Задайте источник локальной системы NED с геодезическими координатами lat0, lon0, и h0. Каждый координатный входной параметр должен совпадать с другими в размере или быть скаляром. Задайте spheroid как опорный сфероид для геодезических координат.

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

Примеры

свернуть все

Найдите координаты NED горы Мэнсфилд относительно соседнего самолета, с помощью координат ECEF горы Мэнсфилд и геодезических координат самолета.

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

wgs84 = wgs84Ellipsoid('kilometer');

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

lat0 = 44.532;
lon0 = -72.782;
h0 = 1.699;

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

x = 1345.660;
y = -4350.891;
z = 4452.314;

Затем вычислите координаты NED горы Мэнсфилд относительно самолета. Поскольку эллипсоидальная высота самолета больше высоты горы Мэнсфилд, пассажир должен посмотреть вниз, чтобы видеть горную вершину. Ось z системы координат NED указывает вниз. Таким образом, значение zDown положительно.

[xNorth,yEast,zDown] = ecef2ned(x,y,z,lat0,lon0,h0,wgs84)
xNorth = 1.3343
yEast = -2.5444
zDown = 0.3600

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

[x,y,z] = ned2ecef(xNorth,yEast,zDown,lat0,lon0,h0,wgs84)
x = 1.3457e+03
y = -4.3509e+03
z = 4.4523e+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'.

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

свернуть все

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

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

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

Советы

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

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

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

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