Фиксирование положения

Основной целью навигации является определение в данный момент, как двигаться к месту назначения, избегая опасностей на пути. Первый шаг в достижении этого - установить вашу текущую позицию. Ранние моряки держались в поле зрения земли, чтобы облегчить это. Сегодня навигация в пределах видимости (или радиолокационной области значений) земли называется пилотированием. Положения фиксируются путем корреляции подшипников и/или областей значений ориентиров. В реальном пилотировании все прицельные подшипники рассматриваются как линии гребня, в то время как на самом деле они являются большими кругами.

На расстояниях, связанных с визуальными наблюдениями (до 20 или 30 морских миль), это предположение не вызывает измеримой ошибки, и это обеспечивает значительное преимущество, позволяя навигатору построить график всех подшипников как прямых линий на проекции Меркатора.

Mercator был разработан именно для этой цели. Круги области значений, которые могут быть определены с помощью радара, приняты, чтобы построить график как истинные круги на диаграмме Меркатора. Это позволяет навигатору вручную рисовать дугу области значений компасом.

Эти предположения также приводят к вычислительно эффективным методам фиксации положений с помощью компьютера. Тулбокс включает в себя navfix функция, которая имитирует процесс ручного графического изображения и фиксации, используя эти предположения.

Чтобы получить хорошее навигационное исправление, ваше отношение как минимум к трем известным точкам считается необходимым. Сомнительное или плохое исправление может быть получено с двумя известными точками.

Некоторые возможные ситуации

В этой воображаемой прибрежной области вы берете визуальный подшипник на радиовышке 270 °. При этом Маяк Гиллигана несёт 0 °. Если вы строите график линии 90 ° -270 ° через башню радио и линию 0 ° -180 ° через маяк на вашей диаграмме Меркатора, точка, в которой линии пересекают, является исправлением. Поскольку вы использовали только две линии, однако, его качество сомнительно.

Но подождите; Ваш искатель порта говорит, что он взял на себя на мысе Джонс 300 °. Если эта линия точно пересекает точку пересечения первых двух линий, у вас будет идеальное исправление.

Ой. Что случилось? Ваш поиск в ошибку? Возможно, но, возможно, один или оба ваших подшипников были слегка ошибочны. Это происходит постоянно. Какая точка, 1, 2 или 3, верна? Насколько вы знаете, все они одинаково действительны.

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

Заметьте, что три линии привели к трем точкам пересечения. Четыре линии вернут шесть точек пересечения. Это случай комбинаторного подсчета. Каждое пересечение соответствует выбору двух линий для пересечения из n линий.

В следующий раз, когда вы пройдете эти проливы, это очень туманное утро. Ориентиров не видно, но к счастью, ваш навигационный радар работает. Каждая из этих ориентиров имеет хорошую радиолокационную сигнатуру, поэтому вы не беспокоитесь. Вы получаете область значений от радиовышки 14 морских миль и область значений от маяка 15 морских миль.

Теперь что? Вы взяли области значений только из двух объектов, и, тем не менее, у вас есть две возможные позиции. Такая неоднозначность возникает из-за того, что круги могут пересекаться дважды.

К счастью, ваши радиолокационные часы сообщают, что у него есть Кейп Джонс на 18 морских милях. Это должно решить все.

На этот раз тебе повезло. Третья область значений разрешила неоднозначность и дал вам отличное исправление. Три пересечения практически совпадают. Иногда неоднозначность разрешается, но исправление все еще плохое, потому что три ближайших пересечения образуют своего рода круговой треугольник.

Иногда третья область значений только добавляет путаницы, либо путем деления двух исходных вариантов, либо путем неспособности пересечь одну или обе другие дуги вообще. В целом, когда используются n дуг, 2 x(n-choose-2) возможный результат пересечения. В этом примере легко сказать, какие из них правы.

Линии подшипника и дуги могут быть объединены. Если бы вместо сообщения о третьей области значений, ваши радиолокационные часы сообщили о подшипнике с радиолокационной башни в 20 °, неоднозначность также могла бы быть устранена. Обратите внимание, однако, что на практике линии подшипника для навигационной фиксации должны быть приняты только визуально, за исключением отчаяния. Ширина луча радара может быть степенью или больше, что приводит к неопределенности.

Когда вы начинаете задаваться вопросом, можно ли автоматизировать этот процесс графического изображения вручную, ваш первый офицер появляется на мосту с ноутбуком и программным обеспечением Mapping Toolbox™.

Используя navfix

navfix функция может использоваться для определения точек пересечения между любым количеством линий и дуг. Однако следует предупредить, что из-за комбинаторного характера этого процесса время расчета быстро растет с количеством объектов. Чтобы проиллюстрировать эту функцию, присвойте позиции ориентирам. Точка A, Кейп-Джонс, находится в (latA, lonA). Точка B, радиовышка, находится в (latB, lonB). Точка C, маяк Гиллигана, находится в (latC, lonC).

Для примера только линий подшипника, синтаксис:

[latfix,lonfix] = navfix([latA latB latC],[lonA lonB lonC],...
                         [300 270 0])

Это определяет три точки и их подшипники, взятые с корабля. Выходы будут выглядеть примерно так, с фактическими цифрами, конечно:

latfix =

	latfix1       NaN          % A intersecting B
	latfix2       NaN          % A intersecting C
	latfix3       NaN          % B intersecting C

lonfix =

	lonfix1       NaN          % A intersecting B
	lonfix2       NaN          % A intersecting C
	lonfix3       NaN          % B intersecting C

Заметьте, что это матрицы с двумя столбцами. Второй столбец состоит из NaNs, поскольку он используется только для неоднозначности двух перекрестков, связанной с дугами.

Для примера только для области значений дуг, синтаксис следующий

[latfix,lonfix] = navfix([latA latB latC],[lonA lonB lonC],...
                         [16 14 15],[0 0 0])

Это определяет три точки и их области значений, взятые с корабля. Конечный аргумент указывает, что все три случая являются областями значений.

Выходы имеют следующую форму:

latfix =

	latfix11  latfix12          % A intersecting B
	latfix21  latfix22          % A intersecting C
	latfix31  latfix32          % B intersecting C

lonfix =

	lonfix11  lonfix12          % A intersecting B
	lonfix21  lonfix22          % A intersecting C
	lonfix31  lonfix32          % B intersecting C

Здесь используется второй столбец, поскольку каждая пара дуг имеет два потенциальных пересечения.

Для примера подшипников и областей значений синтаксис требует окончательного входа, чтобы указать, какие объекты являются линиями подшипника (обозначенными как 1) и какие являются дугами области значений (обозначены как 0):

[latfix,lonfix] = navfix([latB latB latC],[lonB lonB lonC],...
                         [20 14 15],[1 0 0])

Полученный выход смешан:

latfix =

	latfix11       NaN          % Line B intersecting Arc B
	latfix21  latfix22          % Line B intersecting Arc C
	latfix31  latfix32          % Arc B intersecting Arc C

lonfix =

	lonfix11       NaN          % Line B intersecting Arc B
	lonfix21  lonfix22          % Line B intersecting Arc C
	lonfix31  lonfix32          % Arc B intersecting Arc C

Для линии из B возвращается только одно пересечение с дугой около B, поскольку линия берёт начало внутри окружности и пересекает ее один раз. Эта же линия пересекает другой круг дважды, и, следовательно, она возвращает две точки. Два круга вместе взятые также возвращают две точки.

Обычно у вас есть представление о том, где вы находитесь, прежде чем взять исправление. Для примера у вас может быть мертвая позиция расчета на время исправления (см. ниже). Если вы предоставляете navfix с этой оценочной позицией он выбирает из каждой пары неоднозначных пересечений точку, ближайшую к оценке. Вот как это может выглядеть:

[latfix,lonfix] = navfix([latB latB latC],[lonB lonB lonC],...
                         [20 14 15],[1 0 0],drlat,drlon)
latfix =

	latfix11                    % the only point
	latfix21                    % the closer point
	latfix31                    % the closer point

lonfix =

	lonfix11                    % the only point
	lonfix21                    % the closer point
	lonfix31                    % the closer point

Численный пример использования navfix

  1. Определите некоторые конкретные точки в середине Атлантического океана. Они являются строго произвольными; возможно, они соответствуют точкам в Атлантиде:

    lata = 3.1;  lona = -56.2;
    latb = 2.95; lonb = -55.9;
    latc = 3.15; lonc = -55.95;
  2. Постройте график на проекции Mercator:

    axesm('MapProjection','mercator','Frame','on',...
    	'MapLatLimit',[2.8 3.3],'MapLonLimit',[-56.3 -55.8])
    plotm([lata latb latc],[lona lonb lonc],...
    	'LineStyle','none','Marker','pentagram',...
    	'MarkerEdgeColor','b','MarkerFaceColor','b',...
    	'MarkerSize',12)

    Вот как это выглядит (с маркировкой и мнимыми береговыми линиями, добавленными постфактум для рисунка):

  3. Возьмите три визуальных подшипника: Точка A несет 289 °, Точка B несет 135 °, и Точка C несет 026,5 °. Вычислите пересечения:

    [newlat,newlong] = navfix([lata latb latc],[lona lonb lonc],...
                              [289 135 26.5],[1 1 1])
    newlat =
    
    	3.0214       NaN
    	3.0340       NaN
    	3.0499       NaN
    
    newlong =
    
    	-55.9715       NaN
    	-56.0079       NaN
    	-56.0000       NaN
  4. Добавьте точки пересечения к карте:

    plotm(newlat,newlong,'LineStyle','none',...
    	'Marker','diamond','MarkerEdgeColor','r',...
    	'MarkerFaceColor','r','MarkerSize',9)

    Линии подшипника были добавлены на карту в целях рисунка. Заметьте, что каждая пара объектов результатов только в одном пересечении, так как все являются линиями подшипника.

  5. Что, если вместо этого, у вас были области значений от трех точек, A, B и C, 13 нми, 9 нми и 7,5 нми, соответственно?

    [newlat,newlong] = navfix([lata latb latc],[lona lonb lonc],...
                              [13 9 7.5],[0 0 0])
    newlat =
    
    	3.0739    2.9434
    	3.2413    3.0329
    	3.0443    3.0880
    
    newlong =
    
    	-55.9846  -56.0501
    	-56.0355  -55.9937
    	-56.0168  -55.8413

    Вот как выглядят эти точки:

    Три из этих точек выглядят разумно, три нет.

  6. Что, если вместо области значений от точки А вы имели подшипник к нему 284 °?

    [newlat,newlong] = navfix([lata latb latc],[lona lonb lonc],...
                              [284 9 7.5],[1 0 0])
    newlat =
    
    	3.0526    2.9892
    	3.0592    3.0295
    	3.0443    3.0880
    
    newlong =
    
    	-56.0096  -55.7550
    	-56.0360  -55.9168
    	-56.0168  -55.8413

    Снова, визуальный осмотр результатов показывает, какие три из шести возможных точек кажутся разумными позициями.

  7. При использовании мертвой позиции расплаты (3,05 ° N, 56,0 ° W) выбирается более близкий, более разумный кандидат от каждой пары пересекающихся объектов:

    drlat = 3.05; drlon = -56;
    [newlat,newlong] = navfix([lata latb latc],[lona lonb lonc],...
                              [284 9 7.5],[1 0 0],drlat,drlon)
    newlat =
    
    	3.0526
    	3.0592
    	3.0443
    
    newlong =
    
    	-56.0096
    	-56.0360
    	-56.0168

Похожие темы