Локальный вертикальный угол повышения, область значений и азимут
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]
= ...
вычисляет угол повышения, наклонную область значений и угол азимута точки 2 (с геодезическими координатами
elevation(lat1,lon1,alt1,lat2,lon2,alt2)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);