Маленькие круги от центра, области значений и азимута
[lat,lon] = scircle1(lat0,lon0,rad)
[lat,lon] = scircle1(lat0,lon0,rad,az)
[lat,lon] = scircle1(lat0,lon0,rad,az,ellipsoid)
[lat,lon] = scircle1(lat0,lon0,rad,units)
[lat,lon] = scircle1(lat0,lon0,rad,az,units)
[lat,lon] = scircle1(lat0,lon0,rad,az,ellipsoid,units)
[lat,lon] = scircle1(lat0,lon0,rad,az,ellipsoid,units
,npts)
[lat,lon] = scircle1(track,...)
[lat,lon] = scircle1(lat0,lon0,rad)
вычисляет маленькие круги (на сфере) с центром в точке lat0,lon0
и радиус rad
. Входы могут быть скалярными или столбцевыми векторами. Входной радиус в степенях длины дуги на сфере.
[lat,lon] = scircle1(lat0,lon0,rad,az)
использует входную az
для определения вычисленных дуг малого круга. Азимуты дуги измеряются по часовой стрелке с должного севера. Если az
является вектор-столбец, тогда длина дуги вычисляется с должного севера. Если az
является двухколоночной матрицей, затем вычисляются малые дуги окружности, начиная с азимута в первом столбце и заканчивая азимутом во втором столбце. Если az = []
, затем вычисляется полный небольшой кружок.
[lat,lon] = scircle1(lat0,lon0,rad,az,ellipsoid)
вычисляет маленькие круги на эллипсоиде, заданные входы ellipsoid
, а не путем принятия сферы. ellipsoid
является referenceSphere
, referenceEllipsoid
, или oblateSpheroid
объект или вектор формы [semimajor_axis eccentricity]
. Если значение оси semimajor ненулевое, rad
принято в единицах измерения расстояния, соответствующих модулям измерения большой оси. Однако, если ellipsoid = []
, или если ось большой полуоси равна нулю, то rad
интерпретируется как угол, и маленькие круги вычисляются на сфере, как в предыдущем синтаксисе.
[lat,lon] = scircle1(lat0,lon0,rad,units)
,
[lat,lon] = scircle1(lat0,lon0,rad,az,units)
, и
[lat,lon] = scircle1(lat0,lon0,rad,az,ellipsoid,units)
все действительные формы вызова, которые используют входные модули для определения угловых модулей входных и выходных параметров. Если вы опускаете модули, 'degrees'
принято.
[lat,lon] = scircle1(lat0,lon0,rad,az,ellipsoid,
использует скалярный входной units
,npts)npts
для определения числа точек на вычисленный малый круг. Значение по умолчанию npts
равен 100.
[lat,lon] = scircle1(track,...)
использует track, чтобы задать большой радиус окружности или линии ветви. Если
, затем вычисляются небольшие круги. Если track
= 'GC'track = 'rh'
затем вычисляют круги с радиусами постоянного расстояния линии револьвера. Если вы опускаете дорожку, 'gc'
принято.
mat = scircle1(...)
возвращает один выходной аргумент, где mat = [lat lon]
. Это полезно, если вычислена одна небольшая окружность.
Несколько кругов могут быть определены из одной начальной точки путем обеспечения скалярной lat0,lon0
входы и векторы-столбцы для rad
и az
при желании.
Создайте и постройте график маленькой окружности с центром (0 °, 0 °) радиусом 10 °.
axesm('mercator','MapLatLimit',[-30 30],'MapLonLimit',[-30 30]); [latc,longc] = scircle1(0,0,10); plotm(latc,longc,'g')
Если требуемый радиус известен в некоторых модулях неуглового расстояния, используйте радиус, возвращенный earthRadius
функционирует как эллипсоидный вход, чтобы задать модули измерения области значений. (Используйте пустую запись азимута, чтобы указать полный круг.)
[latc,longc] = scircle1(0,0,550,[],earthRadius('nm')); plotm(latc,longc,'r')
Для всего лишь дуги окружности введите азимутальную область значений.
[latc,longc] = scircle1(0,0,5,[-30 70]); plotm(latc,longc,'m')