Идеология и методика привязки километровой сетки листов атласа Арбалета путем введения пользовательской системы координат.Наша задача не похвалить или поругать саму карту, а понять, как пользоваться совместно картой и GPS приёмником безо всяких хитроумных девайсов. Делов-то, можете сказать вы с первого взгляда, сетка есть, так что вбиваешь координаты… Но на самом деле, эта сетка не имеет ничего общего с сеткой государственной прямоугольной системой координат, которая нанесена например на топокартах Генштаба. Значит, нам остаётся ввести собственную систему координат (можете даже своим именем назвать :), совпадающую с сеткой Арбалета, или же вооружиться линейкой и карандашом и нарисовать общепринятую сетку. Вам нравится идея не один час просидеть с карандашом и линейкой над картой? Если нет, то эта статья для вас! Немного ТеорииСоседние две зоны в одну плоскость склеить нельзя. Вообще говоря, без искажений нельзя склеить даже и два листа из соседних зон, но в пределах сотни-другой километров в наших широтах отклонение вертикальной границы зоны от прямой составляет не более 100 метров (1 мм на километровке), так что этим можно пренебречь. В каждой зоне определена своя прямоугольная система координат. Так как при данной проекции центральный меридиан и нулевая параллель (экватор) изображаются всегда прямыми взаимно перпендикулярными линиями, именно они и служат осями координат: за ось X принимают центральный меридиан (далее ЦМ), за Y - линию экватора. Чтобы не иметь дело с отрицательными координатами для точек, расположенных западнее ЦМ, введено смещение координаты Y на 500 км, т.е. точки, расположенные на ЦМ, имеют координату Y = 500000 метров. В GPS и OZI ЦМ называется Longitude Origin и Central Meridian соответственно, смещение координат - False E и False N (второе в северном полушарии равно нулю). Есть еще такой параметр, как масштаб. В нашей системе координат цилиндр, на который проецируется земная поверхность, касается ЦМ, а не сечет зону на некотором расстоянии от него, как принято в UTM, поэтому масштаб (Scale) у нас должен быть равен 1. В OZI можно ввести еще Latitude Origin, если горизонтальная ось проходит не по экватору, - мы ее всегда оставляем равной нулю, т.к. иначе сместятся горизонтальные линии сетки. ЭллипсоидНо, прежде чем задумываться над системой координат, надо, чтобы модель Земли совпадала в Ozi и GPS приёмнике. Большинство карт бывшего СССР используют эллипсоид (datum) Пулково 1942, который как раз удобнее всего выбрать в качестве такой модели.В GPS обычно готового эллипсоида Пулково нет, поэтому его нужно вводить вручную: меню Setup -> Units -> Map datum -> User (для вашей модели может отличаться). Вводим: DX=28, DY=-130, DZ=-95, DA=-108, DF=0.0048079 (подробности на не-грусти). Если ваша модель приёмника не поддерживает пользовательский эллипсоид, значит надо выбрать и в нём и в OZI WGS84. В OZI датум Pulkovo 1942 (1) или (2) нужно установить одновременно в двух местах: в привязке карты (File -> Check Calibration of Map) и в дисплее (кнопочка "Select the display Datum" правее строки с координатами и названием текущего эллипсоида - здесь можно ограничиться выбором "Datum of Loaded Map"). Стандартная прямоугольной система координатТеперь вводим пользовательскую прямоугольную систему координат (далее ПСК). В Garmin`овском GPS ПСК обычно вводится через меню Setup -> Units -> Position Frmt -> User grid: Scale = 1, False E = 500000, False N = 0, Longitude Origin в зависимости от текущей зоны: найти ближайший меридиан с запада, кратный 6 градусам, и прибавить к нему 3. Для большей части Московской области, расположенной восточнее 36 градусов восточной долготы, ЦМ равен 39 градусам.В OZI есть два пути. Во-первых, можно определить Map Projection в привязке карты (File -> Check Calibration of Map, в выпадающем списке Map Projection выбрать Transverse Mercator, выскочит диалог, где надо, не трогая Std Grids, ввести Latitude Origin = 0, остальное как указано выше). На атласах-двухкилометровках ВКФ им. Дунаева километровая сетка совпадает с ГШ, так что для их привязки достаточно определить на каждом листе координаты вертикальной и горизонтальной линий. Это можно сделать либо сравнив их с километровками ГШ, либо прямо на местности, взяв координаты в ПСК любой известной точки (известной весьма приблизительно, с точностью до 2 км: нам нужно лишь определить, в каком квадрате она находится). Вертикальная линия левее точки и горизонтальная ниже нее будут иметь координаты, равные ближайшему снизу к координатам точки целому числу километров, кратному 4. Кстати, географические координаты (широту и долготу) для справки можно взять на обзорной странице атласа (хотя бы чтобы определить ЦМ зоны). Что же делать с Арбалетом?Теперь перейдем теперь к Арбалету (рассматриваем те его издания, которые уже имеют километровую сетку). Здесь всё очень запущено и сделано в строгом соответствии с положениями о секретности. Составители, видимо, поступали следующим образом:
Центральный меридианТеперь уважаемый читатель достаточно подготовлен, чтобы изложить ему самый интересный и нетривиальный момент. Как было показано выше, склеенная карта атласа была повернута на некий угол. Но ни создатели GPS, ни программист OZI на такой идиотизм не рассчитывали - у них в параметрах ПСК нет угла поворота. И тут мы делаем довольно волюнтаристский ход конем: вместо поворота мы меняем ЦМ! Если за новый ЦМ взять меридиан, параллельный вертикальным линиям сетки атласа, линии сетки такой новой ПСК будут параллельны ему и соответственно всем линиям сетки атласа.Волюнтаристский он по той простой причине, что при этом происходит перепроекция сетки, т.е. она не просто поворачивается, но немного искажается. Но как можно показать (уже не в этой статье), при сдвиге ЦМ на 1-2 градуса эти искажения достаточно малы и находятся в пределах точности взятия отсчета по карте с помощью линейки. Зато, ЦМ общий для всего атласа, и найти его надо только один раз. Весь вопрос в том, как это сделать. Проще всего было бы отсканировать несколько листов из середины атласа, привязать их в OZI, включить сетку параллелей и меридианов и посмотреть, какой меридиан окажется параллелен вертикальным линиям сетки. Но, как нам завещали классики Марксизма-Ленинизма, мы пойдём другим путём! (да и сканера нет, и привязывать неохота). Задача разбивается на два этапа: определить угол поворота и найти смещение ЦМ, поворачивающее сетку на этот угол. › Угол поворотаБерем две характерные точки (для Московской области опорные точки лучше брать из зоны восточнее 36 градусов с ЦМ=39, т.к. бОльшая часть области расположена именно там) в пределах одного листа Арбалетовского атласа, желательно поближе к одной из вертикальных линий сетки, и определяем угол между прямой, соединяющей их, и вертикалью. Для этого находим координаты этих точек относительно сетки Арбалета (любую горизонтальную линию берём за x, вертикальную - за y) и считаем арктангенс отношения разностей горизонтальных и вертикальных координат по формуле:Эти же две точки отмечаем на любой привязанной карте в OZI и находим их координаты в ПСК, соответствующей зоне этого листа карты. По этим координатам находим угол наклона прямой, соединяющей эти точки, по той же формуле . Разность этих двух углов и есть угол, на который надо повернуть Арбалет, чтобы его сетка стала параллельной ГШ. › Сдвиг ЦМТеперь вычисляем сдвиг ЦМ относительно ЦМ той зоны, для которой мы определили угол поворота.Если мы посмотрим на любую мелкомасштабную карту с нанесенными на нее меридианами, хотя бы на тот же обзорный лист Дунаевского атласа, мы увидим, что сдвинутые на 1 градус меридианы сходятся под определенным углом. Логично предположить, что угол этот одинаков для любых двух меридианов, отличающихся на градус, т.е. есть некий безразмерный коэффициент, равный углу схождения соседних меридианов и определяющий отношение угла схождения двух меридианов на карте к углу - разности их долгот. Этот коэффициент можно было бы непосредственно измерить на обзорной карте. Можно также перебрать горизонтальную полосу листов ГШ, где не потеряно зарамочное оформление, и вытащить оттуда средние сближения меридианов (это угол между меридианом и вертикальной линией сетки где-то посередине листа) - по изменению этого угла в зависимости от сдвига листа от центра зоны можно легко вычислить искомый коэффициент. Но это всё сведения, составляющие государственную тайну, поэтому мы вычислим этот угол гораздо точнее, руководствуясь самыми общими соображениями. :) Итак, считаем Землю сферой - для данной задачи этого вполне достаточно. Пусть B у нас будет широта. Несложно показать, что … наш коэффициент равен Sin(B). Для широты 56 градусов он равен 0,83. Для достижения максимальной точности этот коэффициент надо брать именно на той широте, для которой мы определили угол поворота. Например, для листа O-37-133, нижняя рамка которого как раз идет по 56 параллели, и который отстоит от центра зоны на 2o45`, сближение меридианов составляет 2o17`. Делим одно на другое, и получаем наши 0,83o. А вы говорите гостайна… Маленькое лирическое отступление. Из этого же коэффициента легко вывести кривизну крайнего меридиана зоны: угол его наклона к ЦМ (и линиям сетки) равен 3o*Sin(B). Для области от широты B1 до B2 разность углов составит 3o*(Sin(B2)-Sin(B1))= 3o*2*Cos((B2+B1)/2)*Sin((B2-B1)/2). Для Московской области B2=57, B1=54, и разность углов составит 0,089o, или плюс-минус 0,044o от прямой, касательной к крайнему меридиану в середине области. Тангенс половины этого угла (0,022o), умноженный на половину размера области с севера на юг 166 км (можно вычислить как 1,5o*111км/ o), дает 64 метра - именно настолько отклоняется крайний меридиан зоны на краях атласа Московской области внутрь от касательной прямой. Таким образом, при сшивке двух соседних зон составителям атласа надо было как-то заштопать дырку между ними шириной до 128 метров, или 1,3 мм в масштабе атласа. Далее уже дело техники. Делим требуемый угол поворота на наш коэффициент, и получаем сдвиг ЦМ. Чтобы не попутать со знаком, сверяемся с обзорной картой, прибавляем или вычитаем его из ЦМ зоны, - и вуаля! ЦМ атласа найден! Для Арбалетовского атласа Московской области ЦМ равен 37o30`. Это число позже было проверено по горизонтальному ряду листов 46-65, оказавшихся счастливым образом склеенными без сдвига горизонтальных линий сетки между листами, и дает на расстоянии чуть более 300 км ошибку менее 100 м! Но о счастливо склеенных листах позже. Относительная круглость ЦМ имеет свое объяснение: он идет почти через центр Москвы и области, и кроме того по нему проходит граница номенклатурных листов-километровок, например N-37-3 и N-37-4. После вычисления ЦМ его корректность надо обязательно проверить, введя его значение в ПСК OZI и убедившись, что теперь углы совпадают. Если окажется, что угол чуть отличается, сделать второе приближение, вычислив новое смещение ЦМ относительно уже введенного. Вообще к определению ЦМ надо подойти со всей ответственностью, т.к. при смене его, даже на незначительную величину, полетит привязка всех листов. А неправильно определенный ЦМ дает поворот системы координат, который сдвигом False E и False N не лечится. Если в атласе есть вертикальный или горизонтальный ряд листов, сетка которых точно стыкуется, ЦМ лучше всего определить по ним: так будет достигнута наибольшая точность. False E и False NОстался сущий пустяк - найти False E и False N для каждого из 72 разворотов атласа. :-] Для каждого листа при известном ЦМ достаточно одной точки, но лучше для проверки брать хотя бы пару. Технология следующая:
а) выбрав нулевые координаты края, мы сразу видим, если вторая координата отрицательна (GPS показывает -----;-----) или более 28000, значит мы вышли за наши калибровки и координаты уже не имеют смысла. б) выбрав координаты вторым образом, мы учитываем ситуации на стыке листов, когда мы еще находимся на листе, но уже или западнее, или южнее крайних красных линий. Выбор смещения +1000000 позволяет нам и в этом случае видеть свои координаты. О выходе за линию сигнализирует смена старших разрядов с 100… на 099…
False Enew=False Eold + Eатл - Eold False Nnew=False Nold + Nатл - Nold ИтогоВот вроде и всё. Для оптимизации процесса можно учесть некоторые индивидуальные особенности атласа, а именно счастливо стыкующиеся листы. Для атласа Московской области закономерности следующие:
Примерчик напоследокНапример, мы едем-едем по Р-115, нам надоедает асфальт и мы решаемся разведку - к ур. Климовка. Что нам надо? Найти тропинку от Дарищи и двигаться по ней на юг. Чтобы не запутаться с поворотами, лучше всего вбитить координаты нашей точки.Сначала определяем страницу начала ряда по обзорной карте - 112. Вбиваем в GPS Longtitude origin: 37o30`, Scale: 1, False Easting +48742, False Northing: -6099082. Так как это не точечный объект, а довольно большое поле, мы определяем координаты на глаз: получаем 136800, 17400. Вот и всё! Ошибка составляет около 300 метров. Это при точности "на глаз"! Линейкой: 136770, 17780, что даёт ошибку всего в несколько метров! © Жураковский Дмитрий, Черкасов Николай. 2006. |