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