повышение

Локальный вертикальный угол повышения, область значений и азимут

elevation будет удален в будущем релизе. Используйте geodetic2aer вместо этого.

Контрольная точка приходит второй в списке аргументов geodetic2aer, и выходные параметры упорядочены по-другому. Заменяющий шаблон:

[azimuthangle, elevationangle, slantrange] = geodetic2aer(lat2, lon2, alt2, lat1, lon1, alt1, spheroid, ...)

В отличие от elevation, geodetic2aer требует сфероидального входа, и это должен быть oblateSpheroid, referenceEllipsoid или объект referenceSphere, не 2 1 вектор эллипсоида.

Можно использовать следующие шаги, чтобы преобразовать вектор эллипсоида, ellipsoid, к объекту oblateSpheroid, spheroid:

  • spheroid = oblateSpheroid;

  • spheroid.SemimajorAxis = ellipsoid(1);

  • spheroid.Eccentricity = ellipsoid(2);

Когда повышение вызвано только 6 входными параметрами, эллипсоид ссылки GRS 80, в метрах, используется по умолчанию. Чтобы заменить это использование, используйте referenceEllipsoid('GRS80','meters') в качестве сфероидального входа для geodetic2aer.

Если вход angleunits включен, он должен следовать за входом spheroid в вызове geodetic2aer, вместо того, чтобы предшествовать ему.

Можно задать параметр lengthunits при вызове elevation, но geodetic2aer не имеет такого входа. Вместо этого установите свойство LengthUnit входного сфероида к требуемому значению. В этом случае объект referenceEllipsoid или referenceSphere должен использоваться (не объект oblateSpheroid).

Синтаксис

[elevationangle,slantrange,azimuthangle] = ...
  elevation(lat1,lon1,alt1,lat2,lon2,alt2)
[...] = elevation(lat1,lon1,alt1,lat2,lon2,alt2,...
  angleunits)
[...] = elevation(lat1,lon1,alt1,lat2,lon2,alt2,...
  angleunits,distanceunits)
[...] = elevation(lat1,lon1,alt1,lat2,lon2,alt2,...
  angleunits,ellipsoid)

Описание

[elevationangle,slantrange,azimuthangle] = ...
  elevation(lat1,lon1,alt1,lat2,lon2,alt2)
вычисляет угол повышения, наклонную область значений и угол азимута точки 2 (с геодезическими координатами lat2, lon2 и alt2), как просматривается от точки 1 (с геодезическими координатами lat1, lon1 и alt1). Координаты alt1 и alt2 являются эллипсоидальными высотами. Угол повышения является углом угла обзора выше локальной горизонтали в точке 1. Наклонная область значений является 3D Декартовым расстоянием между точкой 1 и точкой 2. Азимут является углом с севера к проекции угла обзора на локальной горизонтали. Углы находятся в модулях степеней; высоты и расстояния исчисляются в метрах. Фигура земли является эллипсоидом по умолчанию (GRS 80).

Входные параметры могут быть векторами точек или массивами любой формы, но должны соответствовать в размере за следующим исключением: Повышение, область значений и азимут от одной точки до набора точек могут быть вычислены очень эффективно путем обеспечения скалярных координатных входных параметров для точки 1 и векторов или массивов для точки 2.

[...] = elevation(lat1,lon1,alt1,lat2,lon2,alt2,...
  angleunits)
где angleunits задает модули углов ввода и вывода. Если вы не используете angleunits, 'degrees' принят.

[...] = elevation(lat1,lon1,alt1,lat2,lon2,alt2,...
  angleunits,distanceunits)
где distanceunits задает модули наклонной области значений и высота. Если вы не используете distanceunits, 'meters' является значением по умолчанию. Любое модульное значение, распознанное unitsratio, может использоваться.

[...] = elevation(lat1,lon1,alt1,lat2,lon2,alt2,...
  angleunits,ellipsoid)
использование ellipsoid, чтобы задать эллипсоид. ellipsoid является referenceSphere, referenceEllipsoid, или объект oblateSpheroid или вектор формы [semimajor_axis eccentricity]. Если ellipsoid предоставляется, высоты должны быть в тех же модулях как полуглавная ось, и наклонная область значений будет возвращена в этих модулях. Если ellipsoid не использован, значением по умолчанию является сфера единичного радиуса. Расстояния исчисляются в метрах, если в противном случае не задано.

Примечание

Углы азимута угла обзора, возвращенные elevation, будут обычно отличаться немного от соответствующих выходных параметров azimuth и distance, за исключением больших круговых азимутов на сферической земле.

Примеры

Найдите угол повышения точки 90 степенями от наблюдателя, принимающего, что наблюдатель и цель оба на 1 000 км выше Земли.

lat1 = 0; lon1 = 0; alt1 = 1000*1000;
lat2 = 0; lon2 = 90; alt2 = 1000*1000;
elevang = elevation(lat1,lon1,alt1,lat2,lon2,alt2)

elevang =
   -45

Визуально проверяйте результат с помощью функции угла обзора los2. Создайте сетку данных нулей, чтобы представлять поверхность Земли. Функция los2 без выходных аргументов создает фигуру, отображающую геометрию.

Z = zeros(180,360);
refvec = [1 90 -180];
los2(Z,refvec,lat1,lon1,lat2,lon2,alt1,alt1);

Смотрите также

Представлено до R2006a

Для просмотра документации необходимо авторизоваться на сайте