ellipse1

Географический эллипс от центра, больших осей, эксцентриситета и азимута

Синтаксис

[lat,lon] = ellipse1(lat0,lon0,ellipse)
[lat,lon] = ellipse1(lat0,lon0,ellipse,offset)
[lat,lon] = ellipse1(lat0,lon0,ellipse,offset,az)
[lat,lon] = ellipse1(lat0,lon0,ellipse,offset,az,ellipsoid)
[lat,lon] = ellipse1(___,angleUnit)
[lat,lon] = ellipse1(lat0,lon0,ellipse,offset,az,ellipsoid,angleUnit,npts)
[lat,lon] = ellipse1(trackStr,...)
mat = ellipse1(...)

Описание

[lat,lon] = ellipse1(lat0,lon0,ellipse) вычисляет эллипс с центром (ами) в lat0,lon0. Эллипс определяется третьим входом, который имеет вид [semimajor axis,eccentricity], где входы эксцентриситета могут быть двухэлементным вектором-строкой или двухколоночной матрицей. Эллипсный вход должен иметь одинаковое число строк как вход скаляр или векторы-столбцы lat0 и lon0. Средний вход оси в степени дуги на сфере. Все эллипсы ориентированы так, чтобы их основные оси шли на север-юг.

[lat,lon] = ellipse1(lat0,lon0,ellipse,offset) вычисляет эллипс, где большая ось повернута с должного севера на смещение азимута. The offset угол измеряется по часовой стрелке от должного севера. Если offset = [], тогда смещение не принимается.

[lat,lon] = ellipse1(lat0,lon0,ellipse,offset,az) использует входную az для определения вычисленных дуг эллипса. Азимуты дуги измеряются по часовой стрелке с должного севера. Если az является вектор-столбец, тогда длина дуги вычисляется с должного севера. Если az является двухколоночной матрицей, затем вычисляются дуги эллипса, начиная с азимута в первом столбце и заканчивая азимутом во втором столбце. Если az = [], затем вычисляется полный эллипс.

[lat,lon] = ellipse1(lat0,lon0,ellipse,offset,az,ellipsoid) вычисляет эллипс на эллипсоиде, заданный вход ellipsoid. ellipsoid является referenceSphere, referenceEllipsoid, или oblateSpheroid объект или вектор формы [semimajor_axis eccentricity]. Если он опущен, принимается единичная сфера. Когда подается эллипсоид, вход полужидкая ось должна быть в тех же модулях, что и эллипсоидные полужидкие оси. В этом вызове форме модулей оси большой полуоси эллипса не приняты в степени.

[lat,lon] = ellipse1(___,angleUnit) где angleUnit определяет модули входов и выходов. angleUnit можно 'degrees' или 'radians'. Если вы опускаете angleUnit, ellipse1 использует 'degrees'.

[lat,lon] = ellipse1(lat0,lon0,ellipse,offset,az,ellipsoid,angleUnit,npts) использует скалярную npts для определения числа точек на вычисленный эллипс. Если npts опущен, используются 100 точек.

[lat,lon] = ellipse1(trackStr,...) где trackStr задает либо большую окружность ('gc') или ветряная линия ('rh') расстояния от центра эллипса.

mat = ellipse1(...) возвращает один выходной аргумент, где mat = [lat lon]. Это полезно, если вычисляется только один эллипс.

Можно задать несколько эллипсов с общим центром путем предоставления скалярных lat0 и lon0 входы и двухколоночный ellipse матрица.

Примеры

Создайте и постройте график небольшого эллипса с центром (0 °, 0 °), с большой полуосью оси 10 ° и малой полуосью оси 5 °.

axesm mercator
ecc = axes2ecc(10,5);
plotm(0,0,'r+')
[elat,elon] = ellipse1(0,0,[10 ecc],45);
plotm(elat,elon)

Если требуемый радиус известен в некоторых модулях неуглового расстояния, используйте радиус, возвращенный earthRadius функционирует как эллипсоидный вход, чтобы задать модули измерения области значений. (Используйте пустую запись азимута, чтобы задать полный эллипс.)

[elat,elon] = ellipse1(0,0,[550 ecc],45,[],earthRadius('nm'));
plotm(elat,elon,'m--')

Для всего лишь дуги эллипса введите азимутальную область значений:

[elat,elon] = ellipse1(0,0,[5 ecc],45,[-30 70]);
plotm(elat,elon,'c-')

См. также

| |

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