NavRoad
Как работает GPS навигатор - смотреть фильм
 

 City Guide фильм  Навител фильм    City Guide фильм   City Guide      Навител - фильм         

 

 

 

О ПРОЕКТЕНОВОСТИСТАТЬИПАРТНЕРЫ
О компании
GPS программы
Каталог карт для GPS
Производители GPS карт и программ
Поддержка
Отзывы клиентов
Контакты
Интерактивные карты
ПОИСК КАРТ для GPS
 
 
Поиск интерактивной карты
 
 
Сделать стартовой Добавить в азбранное
Географические координаты городов
   Назад Назад

СТАТЬИ

Самостоятельное изготовление карт для GPS навигаторов

Автор:   Шлейхер Леонид

 

 

 

Самостоятельное изготовление карт для GPS-приемников

Россия на кончике карандаша

 

изготовление GPS карты

 

 

Вместо вступления

Давно это было. Вроде как аж в 1999 году.

Середина лета, Южный Урал, лес. Мы в команде из четырех человек путешествуем с небольшим оттенком экстрима по горам. То ли по молодости, то ли по неопытности решили мы совершить марш-бросок на одну из тамошних вершин налегке (в таких случаях вещи тщательно прячутся, с собой берется только самое необходимое: немного еды на перекус, фонарик, спички). Как-то вот не дрогнуло сердце, что 40 километров без тропы — это несколько крутовато. Не дрогнуло, поэтому пошли...

изготовление GPS карты

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

изготовление GPS карты

Первой компанией, поставившей выпуск навигаторов «на поток», стала Garmin. Ее устройства до сих пор наиболее востребованы на рынке.

Уже не важно, что мы все-таки побывали на этой вершине. Помнится, не было там дороги, и вынуждены мы были возвращаться другим путем, и темнело уже. Одним словом, заблудились мы на обратном пути.

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

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

Суть вопроса

Речь пойдет о создании карт для GPS-навигаторов. Думаю, ни для кого не будет открытием, что с картами в нашей стране всегда было туго. До недавнего времени даже бумажные карты более-менее подробного масштаба являлись государственной тайной, и достать их было очень трудно. Электронные карты, судя по всему, наследуют эти проблемы. К слову сказать, сами GPS-навигаторы тоже подвергались (частично и до сих пор подвергаются) всевозможным гонениям.

Что может себе позволить пользователь, только что купивший навигатор с картографическими возможностями?

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

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

Вполне может случиться, что карты не будет никакой. В этом случае можно попытаться купить карту или найти ее в интернете. Искать следует карты в формате IMG, и с помощью программы MapSource загружать их в навигатор. С большой долей вероятности карта будет рабочей, однако качество карт, добытых в Сети, непостоянно. Для других GPS-навигаторов карты будут в других форматах, их описание можно добыть в инструкции к устройству.

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

Тут есть обширное поле для экспериментов. Следует обратить внимание на такие программы, как OziExplorerCE, работающую с растровыми картами, и на Navitel Navigator, предназначенную для использования векторных карт. Карты также можно найти в интернете или купить. Производители Navitel Navigator предлагают обзорную карту России бесплатно и более подробные карты некоторых городов (стоят денег). Растровых карт, подходящих к OziExplorerCE, в Сети на первый взгляд много, но зачастую требуемый регион среди них отсутствует, а большинство из имеющихся требует доработки. Также интересна возможность использования в Ozi спутниковых снимков Google Maps, но применимость этого способа ограничена: снимки не имеют подписей к запечатленным объектам.

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

изготовление GPS карты

Многослойная структура карты позволяет отображать на экране навигатора именно то, что интересует пользователя в данный момент времени. Поэтому при движении по магистрали проселочные дорожки будут скрыты, но при съезде на грунтовую дорогу сразу «проявятся».

Процесс самостоятельного создания карты включает несколько этапов. Сначала — сбор информации о регионе. Это будут растровые топографические карты, какие удастся найти, возможно — имеющиеся, но не устраивающие нас векторные (например, та же обзорная карта с сайта Навитела), точки и треки, записанные в этом регионе, точки, найденные в сети, снимки Google maps и т.д. Следующий этап заключается в обработке имеющейся информации, отделении зерен от плевел, проверке качества привязки растровых карт. Затем, сообразно своим целям, планируется сама карта: определяется требуемое количество слоев, какие объекты будут размещаться на карте, а какие — нет, прикидываются интересующие создателя карты границы региона.

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

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

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

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

Самостоятельное создание GPS-карты — это удел тех, кого в четвертом классе школы на самом деле интересовала география. Это для тех, кто готов знать, что такое датум, альманах и «поперечный Меркатор». Эти люди составляют сообщество увлеченных, которое помогает другим постичь все тонкости мастерства.

Программы для работы с GPS картами

За рубежом было выпущено несколько программ для работы с картами и GPS. Как правило, при покупке навигационного прибора или этой программы предусматривалась возможность купить и сами карты. Однако территория России на них представлена не была, поэтому для жителей нашей страны этот софт был бесполезен. К тому же большинство этих систем имело закрытые форматы данных, и создать или изменить карту в них было нереально.

В пику им появились продукты, лишенные этих проблем, — в нашей стране, по понятным причинам, тоже. Отрадно, что, пожалуй, лучшая программа такого класса — отечественная.
Это GPSMapEdit Константина Галичского (
geopainting.com). Она относится к классу Shareware, имеет бесплатную версию с ограниченным функционалом, однако даже его вполне достаточно для того, чтобы творить. Работает программа на десктопе, написана под Windows. Полная версия добавляет некоторые дополнительные возможности.

Справедливости ради упомяну, что есть аналог этой программы (есть подозрения, что он использует код MapEdit), который работает под Windows Mobile. Это PTGMAP (imocoding.com). C помощью PTGMAP можно править карты прямо в КПК, но это — только для настоящих маньяков.
GPSMapEdit имеет множество инструментов для работы с картами и экспортирует результаты в несколько форматов. Это форматы программ GisRussa и Navitel Navigator, очень схожие между собой и существующие во владениях Windows Mobile, а также форматы Holux и Alan Map, о которых мне мало что известно. C помощью стороннего ПО (cgpsmapper) можно сохранять карты для навигаторов Garmin в формате IMG.

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

Что называть картой

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

Любая карта является проекцией объектов реального мира (дорог, рек, озер, линий электропередач или бензоколонок) на некую плоскость, будь то поверхность листа бумаги или плоскость экрана навигатора.

изготовление GPS карты

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

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

Объекты карты

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

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

1. Точка. Это тип объектов обычно конечного размера, который используется в том случае, когда нас интересует только его расположение в пространстве. Точкой можно описать, например, вершину горы, родник, полянку с грибами, кафе с хорошими булочками. Для точки мы можем назначить пиктограмму, которая поможет быстрее увидеть на карте то, что мы ищем. GPSMapEdit и программы, использующие карты, созданные им, определяют большое количество таких значков в различных категориях: населенные пункты, объекты гидрографии, торговые точки, просто метки, морские объекты и много-много чего еще.

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

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

изготовление GPS карты

Любая карта является проекцией реальных объектов на плоскость.

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

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

Эта операция, повторенная множество раз, и занимает основное время при подготовке карты.

Уместно сделать одно замечание. Когда мы рисуем на листе бумаги, мы ориентируемся на отступы кисти от края листа или от предыдущих штрихов, используя привычные меры длины для этих отступов — сантиметры, миллиметры или дюймы. Когда мы делаем то же самое в графической программе — в том же Adobe Photoshop — мы ориентируемся на пиксели и пункты. А когда мы строим карту, мы используем в качестве координат точек реальные координаты географических объектов — в градусах, минутах и секундах. Именно это помогает навигационной программе расположить точку, только что отмерянную чипом навигации (в этих самых минутах и секундах) на том месте, на котором мы ожидаем ее увидеть. Любая карта должна иметь привязку своих объектов к их настоящим координатам. Бумажные образцы для этого используют координатные и километровые сетки, а электронные — умеют пересчитывать координаты, заданные в координатах точек, в пиксели экрана.

Особенности карт для GPS. Форматы карт

Не секрет, что любое изображение на компьютере может быть представлено либо в растровом виде, либо в векторном. Карты тоже являются изображениями, и тоже бывают растровые и векторные.

В мире растра господствует программа OziExplorer. C ее помощью можно «привязать» точечное изображение (будь то отсканированная бумажная карта или спутниковый снимок) к географическим координатам изображенных на нем объектов. Поскольку растровые карты — один из основных источников данных для нас, умение пользоваться OziExplorer’ом обязательно. Обойтись без Ozi можно только в одном случае: если есть возможность заполучить уже «привязанные» карты.

Кизготовление GPS карты

Каждая карта, даже самая подробная, состоит из объектов только трех видов — точек, линий и полигонов.

GPSMapEdit создан для работы с векторными картами. Навигаторы Garmin, программы Navitel Navigator и GISRussa тоже используют векторные данные. Причин тому несколько. Во-первых, такие изображения занимают меньше места. Навигаторы имеют определенную предысторию, и в прошлые времена под карты в тех же Garmin’ах отводилось довольно ограниченное пространство, поэтому исходно был выбран более компактный способ хранения данных. Во-вторых, векторные изображения более удобны для масштабирования. Приблизить или уменьшить карту на экране навигатора — привычная манипуляция в дороге. В-третьих, немаловажно более простое редактирование векторной карты при гораздо меньшем риске потери деталей. Справедливости ради нужно сказать, что можно довольно быстро нанести на растровую карту, уже привязанную для Ozi, интересующие нас объекты и просто сохранить картинку, но для этого нужно неплохо владеть каким-нибудь пакетом для работы с растром, например, тем же Photoshop’ом. Существует и промежуточный вариант: Ozi позволяет вместе с данными привязки сохранить на карте и точки (в векторном виде), чем активно и пользуются сторонники этой программы.

Источники информации

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

1. Растровые данные. Это могут быть привязанные отсканированные карты, спутниковые снимки Google Maps и любые другие подобные материалы. GPSMapEdit может открывать такие файлы, и их удобно использовать в качестве «подложки» при отрисовке вектора. Выбрав инструмент создания точки, полилинии или полигона, мы просто обводим контуры растрового материала и получаем его копию в векторном виде. При этом в точки наших объектов записываются их географические координаты.

2. Точки и треки, снятые навигатором непосредственно с местности. Большинство приборов позволяют сохранять текущие координаты и передавать их в виде файлов. Эти данные можно загрузить в GPSMapEdit и либо так же, как растр, обвести по контуру, либо конвертировать в тот или иной объект. Например, трек, записанный при путешествии по лесу, можно трансформировать в объект «тропа» и дать ему подпись «дорога до грибной поляны». Так получается фрагмент карты, который можно использовать для повторения своего маршрута.

3 Точки, найденные в интернете, полученные от знакомых в виде числовых координат объектов. Что-то вроде «N49°59.314', E86°28.153' — родник у тропы». По сути это те же самые точки, снятые навигатором, но они были записаны автором в блокнот, а не в файл. Это могло произойти по совершенно разным причинам — например, если навигатор не поддерживал возможность записи координат (такое встречается у старых моделей) или просто автор по каким-то своим причинам больше доверял блокноту. Такие данные тоже можно наносить на карту. Просто ставится точка нужного типа (в данном случае — родник) в произвольном месте карты, а потом в свойствах этой точки указываются точные координаты, после чего она встает на свое законное место.

4. Данные SRTM. Это материал о высотах поверхности Земли, полученный со спутника. С помощью SRTM можно построить сетку горизонталей для интересующей местности. Как и зачем это делать — тема для отдельного разговора в следующих статьях.

Возможно, существуют и другие пути получения исходного материала, но перечисленные здесь на сегодняшний день являются основными. К сожалению, душещипательный рассказ о том, как раздобыть в нашей стране качественную карту местности и привязать ее для OziExplorer с учетом того, что нужно пересчитать датум Пулково-1942 в используемый в GPSMapEdit WGS-84, просто не поместился бы в эту статью, поэтому оставим это на другой раз.

Слои карты. Детализация карты. Информационная чистота карты

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

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

Слои отделяются друг от друга по масштабу. То есть при увеличении или уменьшении карты в навигаторе в зависимости от текущего масштаба мы видим тот или иной слой.

Когда карта создается, мы указываем количество слоев, необходимых для нас, и для каждого слоя задаем его масштаб. Всего доступно около 20 уровней увеличения —от масштаба стран и континентов (1200 км) до масштаба отдельных деревьев и домов (30 м). Количество используемых слоев зависит от назначения карты, и, как правило, лежит в промежутке от 2 до 7.

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

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

Таким образом, слои служат для разделения всех данных карты на уровни детализации. Этому есть аналог в «бумажной» картографии — одна и та же местность там представлена пакетом карт разного масштаба. При этом каждый масштаб имеет свой набор допустимых пиктограмм и свой набор «разрешенных к показу» элементов. Это позволяет быть карте удобочитаемой, то есть удобной в использовании (быстрее находятся нужные значки и надписи).

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

Что дальше?

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

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

Как сделать свою первую карту — материал следующей статьи. Тому же, кому не терпится приняться за дело, можно порекомендовать воспользоваться поиском информации в интернете. Для старта хороши такие ресурсы, как замечательный сайт «В дорогу!» (v-dorogu.narod.ru), проект «Нарисуй карту» с возможностью пройти курс обучения созданию карт (freemaps.gisrussa.ru), форум на сайте программы Navitel Navigator, где обсуждаются как вопросы эксплуатации Навитела, так и вопросы создания карт (forum.navitel.ru). Думаю, для начала этого достаточно. Эти ресурсы содержат большое количество информации и ссылок на сайты смежной тематики. Вы также можете посетить мой сайт (schleicher.ru), на котором размещены кое-какие материалы по данной теме.

Тем же, кто после прочтения этой статьи решили, что это не для них и заниматься этой нудной работой они никогда не будут, надеюсь, пригодится информация о том, что представляет собою картостроительство для GPS-навигаторов

Часть 2: самостоятельное изготовление GPS карты

Россия на кончике карандаша

 

Эта статья, продолжающая начатую в мартовском номере Mobi тему, носит практический характер. Несмотря на то, что она представлена как пошаговое руководство по созданию GPS-карты для КПК с помощью программы GPSMapEdit и сопутствующих утилит, очень желательно прочитать предыдущую статью — это позволит не запутаться в обилии терминов и рекомендаций.

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

изготовление GPS карты

Исходные материалы

Карты для GPS создаются на основе данных, полученных из разных источников.

Основной из них — это привязанная растровая карта. Под термином «привязанная карта» обычно подразумевается отсканированный лист топографической карты в одном из растровых форматов (обычно jpeg), к которому приложен файл привязки (с расширением .map).

Файл привязки содержит сопоставления пикселей растрового изображения и географических координат, соответствующих им на реальной местности. Обычно привязывается не менее четырех точек карты — чем больше точек привязки имеется, тем точнее карта. На практике достаточно хорошие результаты дают девять точек. Это число не случайно. Оптимальные для туризма бумажные карты масштаба 1 см : 500 м имеют как раз девять отметок координат (не считая сетки): четыре по углам, четыре по серединам сторон карты и одна в центре.

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

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

изготовление GPS карты

Второй источник материала для нашей карты — спутниковый снимок, полученный из сервиса Google Maps.

Его основное достоинство — актуальность информации (снимок более актуален, нежели топографические карты, которые были сделаны в 1960-1970 годы), главный недостаток — ограниченная разрешающая способность. Поэтому снимок из космоса годится для уточнения расположения больших объектов с четкими контурами: озер, рек, ледников, дорог. Также снимок хорош для оценки состояния объектов, контур которых со временем изменяется существенно: те же ледники, пересыхающие озера, новые магистрали. Google Maps помогает также в случае, когда составители топографической карты допустили ошибки (случайные или преднамеренные).

Поэтому при создании собственной карты лучше пользоваться топографической картой и спутниковым снимком параллельно, ориентируясь на тот источник, которому доверяем больше.

Как получить нужный район снимка? Дело в том, что в Google Maps вся поверхность земного шара представлена в виде квадратных фрагментов небольшого размера. Склейка и привязка их вручную потребует неимоверных усилий. Поэтому появились программы, автоматизирующие это процесс. Одна из них, очень хорошо выполняющая свои функции, — это свободно распространяемая GoogleMV Николая Серебренникова. Для получения привязанного спутникового снимка достаточно найти требуемый регион, выделить рамкой нужный участок, выбрать требуемое увеличение (настолько подробное, насколько это нужно), степень компрессии получаемого JPEG-файла и нажать кнопку «Cклеить». После этого программа предложит указать название файла и автоматически выкачает требуемые квадраты, склеит их в одно целое и создаст файл привязки. Полученный результат идеологически не отличается от привязанной топокарты, разница лишь в том, что изображены на рисунке не картографические значки, а внешний вид местности. Для того чтобы импортировать этот снимок в GPSMapEdit, нужно открыть его с помощью OziExplorer и просто сохранить заново, ничего не меняя. После этого снимок будет доступен для использования в программе GPSMapEdit.

изготовление GPS карты

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

Подготовка: создание файла, настройка

Наш основной инструмент для создания карты — это GPSMapEdit Константина Галичского. Это условно-бесплатная программа, поэтому не все функции доступны в бесплатной версии. Из ограничений больше всего неприятностей может доставить невозможность открывать большие растровые изображения. А сканированный лист топокарты — это как раз тот размер.

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

изготовление GPS карты

Итак, открываем GPSMapEdit. В основном поле программы — пока ничего. Сразу же бросается в глаза отсутствие привычной кнопки «Создать новый документ». Да, этого действительно тут нет. Чтобы начать работу, откроем что-нибудь из наших исходных материалов, например, топокарту.

Появляется белое поле с топографической сеткой, на котором расположена наша карта. Далее — один небольшой нюанс. Мы должны создать хотя бы один векторный объект. На панели инструментов выбираем инструмент «Создание объектов», который позволяет нанести на карту любой из трех доступных типов объектов (точка, полилиния, полигон).

Выбираем точку, ставим ее где-нибудь в произвольном месте (потом все равно удалим), в раскрывшемся списке выбираем тип точки (к примеру, 0x6300 — Elevation spot — отметка высоты), пишем название, жмем Enter — точка создана.

изготовление GPS карты

Теперь, ничего более не трогая, выбираем из меню «Файл > Сохранить карту как...» и задаем имя создаваемого файла и формат. В качестве формата нас интересует только Map Polish — польский формат,расширение файла .mp. Этот формат позволяет хранить векторные картографические данные. После сохранения в польском формате первоначальная карта переходит в разряд «присоединенных файлов» и не попадает (естественно) в конечный результат. Этой картой мы пользуемся только как фоном для ручной отрисовки объектов.

Однако в данный момент нас интересуют настройки карты, которую мы получаем, и первоначальные настройки программы.

Настройки программы доступны через меню «Инструменты > Настройки». Собственно настроек не так много и, в общем случае, настроек по умолчанию вполне достаточно. Со свойствами карты сложнее, к тому же они весьма важны для нашей работы. Свойства карты находятся в меню «Файл > Свойства карты». Доступно несколько вкладок, больше всего нас интересуют две — «Заголовок» и «Слои».

изготовление GPS карты
изготовление GPS карты

На вкладке Заголовок устанавливаются основные параметры карты. В списке «Набор типов» выбираем Navitel (допустим, что этот пример мы создаем именно для этой программы). Набор типов определяет набор значков, которые мы может добавлять на карту. Navitel выбрали потому, что это одно из самых современных приложений, под которые мы можем создавать карты. Бесплатная версия программы доступна на сайте производителя www.navitel.ru, так что с тестированием созданной карты проблем быть не должно.

Далее встречается поле «Код». Оно используется только в случае, если карта создается для приемников Garmin, поэтому можно оставить поле пустым.

В поле «Название» пишем название нашей карты — произвольная фраза.

Поле «Датум» мы изменить не можем, он всегда WGS-84, А вот единицу измерения высоты установим в привычные для нас метры.

«Кодовая страница» — 1251 (ANSI Кириллица), чтобы не было проблем с русскими названиями. Поле «Вид кодировки» тоже устанавливает параметры текста, выбираем European (Single Byte).

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

Если карта создавалась тем путем, что описан здесь, в этот момент ни одного слоя быть не должно. Поэтому жмем кнопку «Вставить перед...» на вкладке «Слои». При этом появляется не один слой, как можно ожидать, а два. Это связано с особенностью карт в этом формате — они обязаны иметь пустой последний слой.

изготовление GPS карты

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

чем подробнее и точнее должна быть карта, тем большизготовление GPS картыее значение битности должен иметь слой). Важно, что этот параметр будет влиять на то, при каком увеличении становится виден этот слой. Битность выбирают исходя из задач карты. В нашем случае установим для подробного слоя (обозначаемого Level0) значение 22 (500 м), для обзорного слоя (Level1) — 19 (3 км). Для последнего (пустого) слоя — 18 (5-8 км). На прочих вкладках менять ничего не будем.

Теперь наша карта имеет два рабочих слоя. В GPSMapEdit переключаться между ними можно с помощью цифровых клавиш. Текущий слой виден в строке статуса программы (внизу). Большинство работы ведется с самым нижним слоем (Level0). Все объекты сначала изображаются в нем. После полной отрисовки подробного слоя некоторые объекты копируются на обзорный слой, автоматически претерпевая трансформации для приведения в соответствие с битностью.

Все готово для начала работы.

Нанесение объектов

Итак, переходим на нулевой слой (клавиша 0). Мы имеем полный лист топографической карты масштаба 1:50000 (1 см — 500 м). Это достаточно большой регион, поэтому для примера создания карты выберем небольшой фрагмент. Это район гористой местности с участками леса, рекой, дорогой и множеством мелочей. Здесь имеются все типы объектов (точка, полилиния, полигон).

Начнем с точек. Нанесем отметки высоты подобно тому, как мы делали это в самом начале. Выбираем инструмент точки, ставим его в том месте, где точка на растровой карте, выбираем из обширного списка тот тип точки, что нам нужен (Elevation spot, 0x6300, точка), вводим его название. Для отметки высоты название — это собственно значение высоты. Все объекты, размерами которых можно пренебречь, отмечаются точками. Меняются лишь координаты, тип и подпись.

Для того чтобы лучше позиционировать точку, можно изменять масштаб (клавиши + и ?). К слову сказать, в GPSMapEdit большинство действий имеет клавиатурные шорткаты, так что со временем работа становится довольно быстрой. Очень удобны манипуляции с колесом мыши для прокрутки. Так, при нажатой клавише Shift и вращении колеса осуществляется горизонтальная прокрутка, при нажатой клавише Ctrl — масштабирование. Как графический редактор GPSMapEdit довольно удобен, хотя не все эти вкусности очевидны.

Выбор значка для точки не ограничен какими-либо регламентами. Нужно использовать то, что больше подходит по смыслу, или будет удобно выглядеть на получаемой карте. Например, отмечать урезы воды в реках (по сути, это тоже отметка высоты) удобно типом точки 0x6500 Water feature (т.е. некий объект гидрографии), тогда как собственно для отметки высоты вряд ли подойдет что-то лучше знакомой уже Elevation spot.

изготовление GPS карты

Если вершина горы имеет название, можно использовать тип Summit. Возможных вариантов значков очень много, это количество способно удовлетворить большинство картографов. Но есть одно правило — нужно использовать так мало разных типов значков, насколько это возможно. Чем проще карта, тем удобнее ею пользоваться.

После точек добавляем полилинии. Полилиния — это ломаная линия, имеющая свой вариант начертания (тип) и свою подпись. Полилиния состоит из отрезков и точек между этими отрезками. Создание полилинии заключается в последовательном добавлении ряда точек вдоль контура изображаемого объекта. Программа сама соединяет эти точки отрезками.

После того как линия создана, она в любой момент может быть изменена. Для этого выбирается инструмент Редактирование точек. С его помощью можно переносить точки с места на место. При этом будет меняться контур объекта, содержащего эти точки.

При добавлении полилиний также нужно руководствоваться простыми правилами: наносить только то, что нужно, выбирать наиболее подходящий по смыслу тип объекта, давать лаконичные названия. В нашем тестовом случае полилиниями являются дороги. Дороги присутствуют двух типов: фрагмент Чуйского тракта (хорошая шоссейная дорога, обозначим как Major highway, 0x0001) и грунтовки, переходящие в конные маршруты (обозначим как Unpaved road, 0xa). Присутствуют также горизонтали, но мы их отмечать не будем, так как этот довольно трудоемкий процесс можно автоматизировать.

изготовление GPS карты

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

С полигонами связан набор правил.Первое — полигон не должен иметь пересекающихся частей, т.е. ни одна из линий, входящих в полигон, не должна пересекать линию этого полигона. При отрисовке полигона легко можно допустить такую ошибку. К счастью, есть средство проверки карты на наличие таких мест. Достаточно выбрать команду меню Инструменты — Проверить карту, и первое из найденных пересечений будет показано на экране. Выполнение проверки до тех пор, пока не исчезнут ошибки, позволит получить правильную карту. Второе правило — полигоны не должны пересекаться друг с другом. Это требование связано с тем, что непересекающиеся объекты быстрее отрисовываются программой навигатора. Особые сложности возникают, когда нужно изобразить два граничащих друг с другом объекта. Точки, которые формируют их границы, должны находиться в одних и тех же местах. Для упрощения процесса существуют логические операции над объектами. Нужно выделить их оба (используя Shift) и выбрать из контекстного меню требуемую операцию. Для создания четкой границы подходит операция Отсечение. При этом имеет значение, какой объект был выбран первым: линия границы будет взята от второго выделенного объекта.

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

изготовление GPS карты

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

Для того чтобы откорректировать карту, рекомендуем использовать Google Maps. Данные Google Maps зачастую более свежие, чем имеющиеся растровые карты, кроме того, спутниковый снимок позволяет взглянуть на местность по-другому. В нашем случае, например, можно увидеть некоторые необозначенные притоки реки, увидеть воду в плотине и заметить, что болото вполне может быть не болотом. По Google Maps хорошо корректировать контуры быстро меняющихся объектов: ледников, пересыхающих озер, отслеживать создание искусственных сооружений — дорог, плотин, населенных пунктов.

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

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

Добавление горизонталей

Горизонтальные линии, проведенные через одинаковые высоты, дают представление о рельефе местности и зачастую могут быть очень полезными. Однако создавать их полилиниями очень трудоемко. На помощь приходят данные SRTM. Это данные о высотах поверхности Земли, полученные ультразвуковым способом со спутника. Они охватывают 80% поверхности, исключая полюса. Разумеется, при съемке не обошлось без помех, есть погрешности и артефакты, однако процесс создания изолиний этим способом настолько прост, что им было бы грешно не воспользоваться. К тому же эти данные могут быть в любой момент откорректированы.

изготовление GPS карты

Основной источник данных — интернет. Фрагменты поверхности выложены в свободный доступ, кочуют с сервера на сервер, найти их можно обычным поисковиком. Данные хранятся в файлах формата HGT и открываются пакетом добавлений к GPSMapEdit от Михаила Сотина.

Итак, добавляем файл высот для нашего региона, щелкаем по нему, и из контекстного меню выбираем пункт «Создать изолинии». В появившемся меню задаем необходимые настройки (например, шаг линий сетки, в нашем случае — 25 метров). На следующем экране задаем слои, на которые будем добавлять изолинии. Выбираем наш рабочий слой — Level0. После этого программа сама рассчитывает и создает изолинии. После окончания расчета файл высот можно открепить.

изготовление GPS карты

Каждый фрагмент SRTM охватывает большую поверхность, поэтому создается очень много линий. Как следствие, файл карты непомерно «раздувается» в объеме. Поэтому все линии, выходящие за края карты, отсекаем инструментом «Разрезание карты» выделяем нужную область и из контекстного меню вызываем пункт «Отрезать снаружи».

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

Подготовка слоев

До сих пор мы работали только с нулевым слоем. А одно из больших достоинств электронной карты — это многослойность. Поэтому перед нами стоит задача перенести некоторые особо важные объекты на первый слой. Это не так сложно. Выбираем объект, в его контекстном меню выбираем Изменить — распространить до... и в появившемся диалоге вводим номер слоя, до которого мы хотим видеть этот объект. В нашем случае это слой 1. Чтобы упростить задачу, можно сначала выделить группу объектов и распространить их все на вышележащие слои. Удобно в меню Правка — Выделить — По типу выбрать все объекты одного типа, например, все шоссейные дороги или все широкие изолинии. Однако не стоит забывать об одном нюансе: все слои с более крупным масштабом имеют другую битность. Это означает, что объекты, перенесенные на этот слой, изменяют свою форму. Поэтому после перенесения не забудьте их проверить и внести необходимые коррективы.

Экспорт в нужный формат

До сих пор мы работали с польским форматом. Однако навигационные программы пока что не работают с ним напрямую. Поэтому нужно экспортировать нашу карту в нужный формат. Делается это через диалоговое окно «Сохранить как...» оригинальной программы GPSMapEdit, а не пакета расширений Михаила Сотина, который, вероятно, создавался исключительно для работы с исходниками карты.

В том случае, если вы пытаетесь создать карту для навигатора Garmin, придется выполнить еще одно дополнительное действие. Карту нужно скомпилировать в формат Garmin при помощи cGPSmapper. Это бесплатная утилита командной строки, выполняющая проверку и сборку карты. GPSMapEdit имеет для нее встроенный коннектор. Нужно лишь указать путь к исполняемому файлу cgpsmapper. Далее последует проверка карты, разбиение ее на фрагменты и запись файла в формате IMG. Этот файл уже можно загрузить в навигатор.

Заключение

В этой статье рассказано, как самому начать создавать свои карты для GPS. Достаточно ли данных для того, чтобы создавать шедевры? Вряд ли. Здесь даны только отправные точки. Основная мысль, которую хочется донести: карта своими руками — это не так сложно.

Опубликовано в журнале Mobi

 

 

 



О проекте | Поддержка | Статьи о GPS | Контакты
Детский центр: раннее развитие детей в г. Мытищи
Copyright © 2007 ООО ПРОМОТРЕЙД-М.

 

xDevice

xDevice - новые GPS навигаторы

Навител Навигатор 3.2. Все карты в комплекте.
Автоспутник
Последняя разработка: программа для КПК и коммуникаторов Автоспутник пришла на смену GPSPro Moscow 
Новинка!!! City Guide: - GPS навигатор. Прорбки и GPS слежение входят в цену
NokiaMaps 
 Новинка!!! NokiaMaps: программа и GPS карты для смартфонов Nokia  

 

 

Интерактивные карты России

 

Интерактивные карты Европы

 

 

Интерактивные карты Азии

 Интерактивные карты Африки