Географический эллипс от центра, больших осей, эксцентриситета и азимута
[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-')