Более двух десятков лет Министерство обороны США в рамках программы развития спутниковой навигации развивает систему GPS — Global Position System. По идее, каждый боец нашего бывшего потенциального противника должен быть обеспечен персональным навигатором. Не знаю, насколько американцы продвинулись в этом вопросе, но в «конверсионном» виде эти аппараты получили широкое распространение для «гражданской» навигации. Многие туристы давно и успешно используют наладонные модели GPS-приемников.

Мое знакомство с GPS-приемником фирмы Garmin началось именно с такого варианта. Но, как оказалось, персональные навигаторы туристического класса могут пригодиться не только для сбора грибов или постановки сетей на Ахтубе (тех самых сетей, на которые, посетив Астрахань, справедливо сетовал Владимир Владимирович).

GPSmap196
GPSmap196
GPSmap2010-2010C
GPSmap2010-2010C
LEGEND
LEGEND
VISTA
VISTA

Один мой знакомый занимается проектированием низковольтных сельских электросетей и документированием существующих. Документация, которую он принял, пребывала, мягко говоря, в плачевном состоянии. Многое пришлось восстанавливать. Тогда-то ему и пришло в голову использовать любительский навигатор. Миллиметровая точность его не особенно волновала, так что за пару дней он выполнял работу, на которую обычно уходило до месяца. Практика показала, что точность до 5−7 метров в рамках такой задачи совершенно достаточна.

Еще один пример. Удалось мне заполучить лесхозовскую схему кварталок. Запасы делового леса меня совершенно не интересовали — хотелось получить представление о топологии двух участков, особенно перспективных в плане сморчков. По ходу прорисовки карты (лесхозовскую карту я использовал как подложку) оказалось, что лесные богатства нашей Родины посчитаны с точностью не более 25−30%…

Существуют приборы геодезического класса с сантиметровой точностью и выше, но цена на них составляет тысячи долларов. Позволить себе подобное оборудование может не всякая организация, тем более если геодезические съемки не являются ее основной задачей. Впрочем, дело не только в оборудовании: квалифицированный геодезист обычно желает получать хороший оклад…

Можно сделать вывод, что GPS туристического класса незаменимы в оценочной, если можно так выразиться, съемке местности. Инспектору-экологу можно просто выдать GPS и проинструктировать: «Нашел несанкционированную свалку или взял образцы воды/воздуха/почвы для химического анализа — нажми эту кнопку».

Хорошо, данные мы собрали, а что делать дальше? Существует несколько программ для обработки любительских полевых съемок. Как правило, они имеют туристический уклон: вы имеете растровую карту (атлас, карту из клуба и пр.), и надо либо наложить на нее пройденный маршрут, либо создать новый. Геоинформационной системой такую программу можно назвать с натяжкой. И уж, конечно, при помощи подобных программ невозможно выпустить документацию.

Autodesk Land Desktop

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

Несомненно, главным преимуществом всех пакетов от Autodesk является полная совместимость документов. На геоподоснове можно продолжать проектирование здания, на созданном чертеже здания — развести электропроводку. И так до получения полного комплекта документации.

Почему я выбрал именно Land Desktop? Наверное, более уместно не вдаваться в долгие рассуждения, а привести пример.

Если мне надо подготовить макет брошюрки, я, не будучи профессиональным верстальщиком, не стану связываться с Adobe PageMaker. Приятно чувствовать себя Леонардо да Винчи или Ломоносовым, но мы живем в сумасшедшем мире, и объять необъятное не представляется возможным. Я запущу старый добрый Word, при помощи которого написано столько бумажек. Придется разобраться в некоторых тонкостях верстки, зато в результате я могу даже вывести у себя дома на лазерном принтере пленки для типографии (а наверняка ведь и цветоделение можно сделать?..).

Так и с AutoCAD. Не будучи геодезистом (на момент приобретения GPS мои познания в геодезии были ограничены курсом военной кафедры), я вполне уверенно чувствовал себя как конструктор-электрик. Попытка разобраться со специализированными пакетами типа MapInfo и некоторыми другими повергли меня в полную тоску. Значит, кроме AutoCAD, другого пути получить карту, похожую на Конструкторскую Документацию, а не на рисунок первоклассника в графическом редакторе Paint, у меня и не было.

Во-вторых, Autodesk Land Desktop — именно геоинформационная система. Это преимущество не менее важно, чем легкий старт для любителя (а инженера из управы, которому вменили в обязанность заняться учетом детских песочниц, иначе как любителем не назовешь).

Autodesk Land Desktop хранит данные, связанные с полевыми съемками и топологией местности, в базе данных. Под «базой данных» следует понимать именно СУБД (система управления базами данных). В данном случае это ядро Microsoft Jet — основа всем известной СУБД Microsoft Access. Не будем обсуждать достоинства и недостатки этого программного продукта. Единственное, что нужно отметить: Access — как СУБД — это не лучший вариант, но при работе с Autodesk Land Desktop мы его явно не видим и по большому счету вовсе не обязаны представлять себе, что это такое. Если производительности системы нам не хватает, Autodesk Land Desktop дает возможность использовать всю мощь такого монстра, как Oracle. С другой стороны, для начального уровня применение таких средств — это уже стрельба из пушки по воробьям. На более-менее приличной машине Access за терпимое время справляется с четвертью миллиона точек.

Поскольку данные хранятся в базе, мы получаем все возможности, предоставляемые СУБД. Например, с помощью встроенного в Land Desktop редактора запросов (термин «запрос» в данном контексте следует понимать как понятие из структурированного языка запросов SQL) мы можем получить любую информацию, подсчитанную по любому сценарию. Вообще осознать всю мощь языка запросов совсем не просто: пользователь часто ограничен не столько скудостью информации, сколько неумением правильно составить запрос.

Что такое персональный навигатор?

Для начала — краткое описание принципа работы системы спутниковой навигации. На орбите находится более трех десятков спутников, которые вращаются под определенным наклоном к плоскости экватора. (Кстати, отечественный ГЛОНАСС не работает именно из-за того, что СССР развалился прежде, чем мы успели запустить необходимое количество спутников.) Спутники расположены так, что в любой момент над головой наблюдателя их не менее трех. Точно синхронизированные передатчики каждого спутника передают пакеты данных, содержащие информацию о номере спутника, времени, параметры различных поправок и некоторую другую информацию.

Приемник представляет собой наладонный микрокомпьютер с как правило двенадцатиканальным приемником и с полноценным набором всех элементов (процессор, память, дисплей, порт), свойственных компьютеру. В ПЗУ микрокомпьютера прошита программа, которая управляет радиоприемником и обрабатывает полученные данные. Время запаздывания сигнала при прохождении от спутника до точки съемки служит основой для вычисления местоположения наблюдателя.

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

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

Модельный ряд навигаторов туристического класса (производители применяют термин «outdoor») достаточно широк, и выбор конкретной модели зависит от предполагаемого использования. Цены, как правило, терпимые: от 200 до 800 долларов США.

Точность определения местоположения

До недавнего времени американцы вносили в сигнал, предназначенный гражданскому потребителю, случайную ошибку. Величина ее составляла порядка 70−100 метров. Считалось, что в таком случае террорист или шпион не сможет точно определить местоположение интересующего его объекта. Не знаю, что побудило правительство США снять принудительное искажение координат, но в настоящий момент всё отображается как есть.

Любительские приборы используют такую схему обработки данных, которая при идеальном приеме и максимальном количестве видимых спутников может давать ошибку порядка пяти метров. Точность определения местоположения может ухудшаться при ослаблении сигнала от спутника — например, густыми кронами деревьев, неблагоприятным расположением самих спутников и прочими факторами. Облачность и дождь, как правило, не дают заметного снижения точности, но очевидно, что GPS не будет работать в помещениях и под землей.

Узкое место навигаторов — точность определения высоты. Она тоже составляет от пяти метров и больше, но если по горизонтали такая ошибка часто непринципиальна, то по вертикали она уже совершенно неприемлема. Как пример приведу свою попытку моделирования зоны покрытия сотовой связи. Решил посчитать, будет ли у меня работать на даче телефон или нет. Сравнил с картой покрытия, взятой с сайта оператора, — топология совпадает полностью. А распределение мощности сигнала совершенно не соответствует ни заявленному, ни фактическому…

Именно из-за погрешности по вертикали бытовые навигаторы категорически запрещено использовать при взлете-посадке в авиации.

Полагаться на стопроцентную точность и гарантированную работоспособность GPS (не пользовательского оборудования — всей системы в целом) не стоит. Нестабильность в мире и последние события вроде войны в Ираке могут побудить правительство США в любой момент снова ввести принудительную случайную погрешность определения местоположения, а то и вовсе заблокировать гражданскую аппаратуру. С другой стороны, мир уверен в надежности системы GPS: многие современные иномарки оснащены навигационной системой, бурно развиваются противоугонные системы с локацией… Вместо вывода процитирую сообщение, которое появляется на экране GPS при загрузке его операционной системы. В вольном переводе оно звучит так: «Все данные приводятся как справочные. Если вы заблудились — пеняйте на себя».

В каком виде GPS представляет местоположение?

Единицей, хранимой и обрабатываемой аппаратом спутниковой навигации, является точка. Точка имеет несколько свойств. Главными являются широта, долгота и высота. Комментарии, пиктограммы и некоторые другие свойства относятся к необязательным.

Для стандарта GPS принята так называемая система WGS (World Geodetic System). Имеется несколько редакций системы — на сегодня наиболее популярной является WGS84.

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

GPS хранит данные именно в формате WGS, а представление всех иных проекций получается пересчетом данных по особому алгоритму. В отечественной геодезии для топографических карт принято представление Гаусса-Крюгера, это одна из разновидностей равноугольной проекции Меркатора. Существует отличный электронный справочник «The European Petroleum Survey Group» (EPSG), который можно найти на сайте www.epsg.org. В нем приведены предельно ясные и пригодные непосредственно для записи в алгоритмическом виде формулы. Никакой теории и высшей математики — только синусы, корни и степени.

Работа с навигатором

Случилась со мной как-то одна история. Начал я исследовать возможности своего сотового телефона. Так нажимал и сяк. Одним словом, выбрал я языком диалога иврит. Ну был бы хоть португальский, хоть венгерский, выбрался бы — термины-то интернациональные. А так всё. И обратно никак…

С GPS такого произойти не может. Здесь всё проще.

На самом деле пугающее название «Спутниковая навигация» не таит в себе ничего сложного для конечного потребителя. Естественно, у непосвященного человека сразу возникают образы тарелок типа НТВ+, или, того хуже, чего-то военного — на базе «КамАЗа» и с антеннами. Не буду пересказывать здесь наставления по работе с персональным навигатором, но замечу, что руководства к некоторым моделям сотовых телефонов куда объемнее и запутанней.

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

  • Широта — это количество градусов от экватора до точки.
  • Долгота — количество градусов от Гринвичского меридиана до точки.
  • Гаусс-Крюгер, он же Меркатор, он же UTM (Transvers mercator) — общепринятая в отечественной геодезии картографическая проекция, только единицы измерений даны не в градусах, а в метрах.
  • WGS — это геоцентрическая проекция с началом системы координат в центре масс Земли: широта, долгота (градусы), высота (метры или футы) над поверхностью геоида.
  • Datum — «нулевая точка отсчета» или начало системы координат. В отечественной геодезии принята система отсчета «Пулково» с разными редакциями. Фактически это поправка: насколько надо сдвинуть и повернуть координаты, чтобы всё совпало. GPS может пересчитывать координаты автоматически.
  • TraсkLog — цепочка точек — траектория вашего перемещения.
  • Waypoint — отметка, сделанная пользователем. Снабжена комментариями.

И ВСЁ!!!

Теперь можно выйти во двор и смело нажимать кнопки. Обычно через полчаса «туман» рассеивается.

Замечание по поводу «русификации». В фирменной прошивке русскоязычный диалог не предусмотрен. Существуют самодеятельные прошивки, поддерживающие кириллицу и имеющие русскоязычный диалог, но к подобным «доработкам» я отношусь резко отрицательно. Выучить полтора десятка английских слов совсем несложно. А последствия от заливки «исправленной» прошивки непредсказуемы: как минимум — некорректная в мелочах работа, как максимум — загубленный аппарат.

Как связать Autodesk Land Desktop с персональным навигатором?

Персональные навигаторы фирмы Garmin имеют разъем для подключения к последовательному порту компьютера. GPS — оборудование достаточно специфическое, и ни одна версия Windows это устройство не поддерживает.

Autodesk Land Desktop имеет модуль обмена с геодезической аппаратурой. Естественно, о GPS туристического класса там нет ни слова. Пользоваться импортом в проект внешних данных из файла произвольного формата довольно хлопотно, зачастую не дает однозначных результатов и к тому же требует нестандартных подходов.

Соответственно, первым этапом решения задачи стыковки и передачи данных должно стать написание программы, осуществляющей подготовку команд навигатору, прием и расшифровку данных. Основой для написания такой программы служит фирменное описание протокола Garmin (опубликовано на сайте www.garmin.com). Документ этот, хотя и содержит всю необходимую информацию, составлен на удивление бестолково. Руководство по программированию интерфейса Garmin-PC я основательно переработал, снабдил примерами и опубликовал на сайте www.olexa.com.ua.

Вторым шагом будет передача данных в проект Autodesk Land Desktop.

Можно использовать два подхода. Если придерживаться первого из них, нужно сначала сохранять данные в промежуточной БД, а потом подключать ее к проекту. Как коллектор данных можно использовать Microsoft Access, даже лицензионная копия которого стоит заметно меньше, чем пакет семейства AutoCAD. Как я уже говорил, Autodesk Land Desktop хранит координаты точек в базе Access — как ни странно, версии 97-го офиса (сохранение базы в формате двухтысячного офиса делает базу невидимой для AutoCAD). Несложными операциями можно собрать из разрозненных баз одну, подключив ее к проекту.

Второй подход позволяет напрямую помещать данные в проект, используя написанный для этой цели макрос.

Макрос представляет собой написанную на Visual Basic for Application программу, которая может как загружаться самостоятельно, так и быть встроенной в проект.

Надо отметить, что появление встроенного VBA в семействе двухтысячных AutoCAD является прорывом. Несомненно, LISP давал большие возможности, но для усвоения пользователем он был тяжеловат. Другая и не менее важная возможность, предоставляемая VBA, — это полная интеграция со всеми современными приложениями для Windows.

Чрезвычайно тщательно составленная справочная система по программированию приложений VBA для Autodesk Land Desktop с огромным количеством примеров позволяет с ходу приступать к программированию.

Как язык программирования объектно-ориентированных приложений VB — далеко не лучший вариант. Преимущество встроенной в проект программы состоит в том, что при передаче подготовленного документа или шаблона заказчику не требуется проводить никаких настроек и инсталляций.

Исходя из вышеперечисленного, напрашивается единственный способ решения задачи.

Программа передачи данных из GPS в проект Autodesk Land Desktop должна быть написана на VBA. Она может быть оформлена как отдельный модуль *.dvb, загружаемый при необходимости. Ее можно встроить непосредственно в проект, расчленить на несколько модулей. Проект можно закрыть для конечного пользователя во избежание несанкционированной модификации.

Самым сложным моментом в написании такой программы является создание подпрограммы ввода-вывода для Com-порта. Как ни странно, VBA не предоставляет разработчику возможностей программирования последовательных портов. Существует несколько способов решения этой задачи. Я не стал выдумывать ничего изощренного — вызвал напрямую функции ядра Windows.

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

Возможно осуществлять двустороннюю передачу данных между навигатором и проектом Autodesk Land Desktop. Возможно динамическое отслеживание местоположения наблюдателя, снабженного мобильным компьютером.

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

Резюме

Персональные навигаторы появились на нашем рынке совсем недавно. Суровая отечественная действительность и привычка наших специалистов нетрадиционно, совмещая несовместимое, подходить к решению всех проблем иногда дает очень интересные результаты. Так и вышло с бытовыми GPS и ГИС-комплексами самого высокого уровня.

Совместить их не только можно, но и совсем нетрудно. Будет ли от этой связки экономический эффект? Думаю, что да. Часто мы даже не знаем, что и где лежит у нас в собственном гараже. Что же говорить об интересных и важных задачах, связанных с точным и, самое главное, оперативным (используя удаленный мобильный доступ в Сеть — моментальным) нанесением на карту текущей экологической, метеорологической и прочей обстановки. Лесные пожары, наводнения — часто ведь бывает, что компетентные органы узнают о происходящем от журналистов…

Вот только конструкторская направленность семейства продуктов от Autodesk не позволяет добиться зрелищности представления картографических проектов. Правда, я не такой тонкий знаток этой стороны вопроса — может, кто меня и поправит…