elevation

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

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 свойство входного сфероида к желаемому значению. В этом случае a 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. Наклонная область значений является трехмерным Декартовым расстоянием между точкой 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 степеней от наблюдателя, принимая, что наблюдатель и цель находятся на 1000 км выше Земли.

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