Общие вопросы
- Для кого предназначена эта программа?
Программа предназначена для тех, кто хочет самостоятельно изготавливать векторные
карты для GPS-приёмников Garmin,
ALAN,
Holux,
Навител Навигатор.
Она предоставляет возможность быстрой загрузки и визуализации векторных карт в
"Польском формате", сравнения их с данными из альтернативных источников
(растровые карты, GPS-треки и путевые точки).
Кроме того, программа может быть использована для конвертирования GPS-треков,
путевых точек и маршрутов между различными форматами.
- Что такое "Польский формат"?
GPS-приёмники фирмы Garmin, поддерживающие загрузку карт, используют закрытый
и недокументированный формат IMG.
Однако существует программа cgpsmapper.exe
(польского происхождения), позволяющая преобразовывать текстовые файлы с геоданными
(с расширениями .TXT или .MP), имеющими простую и хорошо документированную структуру,
в файлы IMG. Ее входной язык называется "Польским форматом".
- Где можно найти карты в "Польском формате"?
Какие еще программы поддерживают этот формат?
Например, mapcenter.cgpsmapper.com.
Существуют различные конверторы из других общедоступных форматов в "Польский".
В первую очередь стоит отметить конвертор из формата GEM/GCT фирмы
Ингит.
Конвертор можно скачать
здесь.
Примером утилиты, осуществляющей дополнительную обработку карт в "Польском формате" является
pGPSmap.
Еще один пример - pmf2mi -
конвертор Польского формата в формат ГИС
MapInfo.
Люди, более или менее знакомые с программированием, могут написать свои конверторы из
других векторных форматов. При этом удобно использовать GPSMapEdit в качестве "верификатора"
получаемых файлов, а также источника готового исходного кода.
- Возможно ли конвертировать карты из формата OziExplorer?
Карты для программы OziExplorer -
растровые, то есть представляют собой обычные отсканированные изображения бумажных карт.
Автоматическое преобразование таких карт в векторный вид предполагает распознавание
образов. Существуют специальные программы-векторизаторы (например,
EasyTrace и R2V), но все они всё же
требуют определенного объема ручного труда при векторизации.
Во всяком случае, растровые карты можно использовать в GPSMapEdit качестве основы для
векторных карт, а так же при коррекции векторных карт с помощью аффинного преобразования.
- Какие еще форматы файлов поддерживает программа?
Подробную информацию можно найти здесь.
- На каких условиях распространяется программа?
В настоящее время программа распространяется как
условно-бесплатная.
Часть функций доступна только при наличии
лицензионного ключа. Информация о приобретении лицензионного ключа:
здесь.
Кроме того, желающие могут ознакомится с исходным кодом
программы и использовать его фрагменты в своих проектах - в соответствии с
Лицензионным соглашением.
- Какие языки интерфейса поддерживаются программой?
В настоящее время поддерживается только английский язык.
Русификация планируется, но не в ближайшее время.
- Как связаться с автором программы?
Лучше всего задавать вопросы в
форуме GPSMapEdit. Автор фигурирует в этом форуме под именем kg_vista.
По электронной почте - kg@geopainting.com.
Можете также оставить запись в
гостевой книге.
Установка, запуск и работа.
- Каковы требования, предъявляемые к аппаратуре и операционной системе?
Подробный ответ на этот вопрос находится здесь.
Следует обратить внимание на то, что не во всех версиях Windows доступны все возможности
программы; список ограничений можно найти там же.
Наилучшие результаты достигаются под MS Windows 2000 и Windows XP.
- В чем заключается установка программы?
Сама программа не требует специальной установки и сразу готова к работе. Просто скачайте
последнюю версию программы и распакуйте ZIP-файл в любую удобную папку. Исключением является
случай использования форматов PNG и TIFF - подробнее об этом читайте здесь.
- Как загрузить карту в программу?
Есть три способа:
- С помощью пункта меню 'File | Open'. Кроме того, можно добавлять данные, не выгружая при этом
старых с помощью пункта меню 'File | Add'.
- При запуске программы указать в командной строке полный путь к загружаемым файлам
(в кавычках, через пробел).
- Путем перетаскивания значков файлов из Проводника (Explorer) в окно программы.
- После загрузки не видно карты. Но если увеличить масштаб, изображение появляется. Почему?
Это может быть результатом неправильной конвертации карты.
Карта в общем случае может содержать несколько уровней детализации для различных масштабов.
В Польском формате эти уровни задаются в заголовке карты (в секции [IMG ID]) в виде параметров
"LevelX", "ZoomX".
Например, если в заголовке задано несколько уровней, а фактически в файле содержатся данные
только для одного из них, то программа соответственно не показывает ничего для остальных слоев.
Простейший способ решить эту проблему - уменьшить число уровней детализации в заголовке до двух
(ВНИМАНИЕ: наименее детальный слой всегда должен быть пустым, согласно документации cGPSMapper;
поэтому минимальное число слоев в заголовке - два).
- Что означают надписи "=LevelX" в нижней части окна?
Они показывают номер уровня детализации карты, отображаемого в текущем масштабе. При этом символ ">"
означает, что текущий масштаб мельче, чем предусмотрено для наименее детального уровня, а символ "<"
- что масштаб крупнее, чем предусмотрено для наиболее детального. Символ "*" означает, что включен
режим визуализации конкретного слоя (см. меню 'View | Levels').
- Как узнать, что загружаемая карта содержит отклонения от стандартного "Польского формата"?
Если после загрузки файла в левой нижней части окна появляется надпись "Ready*", а не просто "Ready",
то это означает, что в журнале имеются некоторые предупреждения. Просмотреть журнал предупреждений
можно через пункт меню 'File | Message Log'.
- Почему на карте нет лесов?
Это связано с настройками используемого конвертора. Например, cMap 1.5 (конвертор GEM-файлов)
по умолчанию игнорирует леса и многие другие типы объектов. Чтобы включить конвертирование нужных типов,
требуется дополнительная настройка конвертора.
- Почему городские кварталы на карте имеют тип "City park"?
Почему мосты всегда повернуты горизонтально?
Это связанно с ограничениями, присущими системе типов, используемой в картах Garmin. Кроме того, не
все GPS-приёмники поддерживают все типы! Например, тип, предназначенный для городских кварталов, не
отображается в eTrex Vista.
Мосты с точки зрения Garmin являются точечными объектами, не имеющими направления.
Кроме того, очень многие объекты вообще не имеют адекватных типов у Garmin, например, железнодорожные
платформы, станции метро, площади, здания (как многоугольники) и т.д.
- Можно ли использовать русские буквы в названиях объектов?
GPS-приёмники Garmin поддерживают возможность использования национальных алфавитов в картах -
при условии полной русификации прошивки. К сожалению, до настоящего времени встречались только прошивки
с русифицированными пунктами меню, но без фонтов, необходимых при визуализации карт. То есть
изготавливать карты с русскими названиями возможно, но они не будут правильно показываться в приёмниках.
Для создания Garmin-карт с русскими названиями необходимо задать в поле
'File | Map properties | Header | Coding schema' значение 'European',
а в 'Code page' - '1251 (ANSI - Cyrillic)'.
- Что означают "~[0x" в метках объектов?
С помощью этих символов в "Польском формате" кодируются заглавные буквы, символы для шоссе и другие
сущности для визуалиции.
- ~[0x1b] - Следующая буква будет заглавной.
- ~[0x1e] - Часть метки правее этого символа отображается только при масштабе крупнее 1 км.
- ~[0x1f] - Часть метки левее этого символа отображается только при масштабе крупнее 1 км.
- ~[0x2a] - Международное шоссе
- ~[0x2b] - Номер шоссе в символе в форме щита
- ~[0x2c] - Номер шоссе в круглом символе
- ~[0x2d] - Номер шоссе в красно-синем символе (малом)
- ~[0x2e] - Номер шоссе в большом символе
- ~[0x2f] - Номер шоссе в белом символе (малом)
- Почему после сохранения карты в Польском формате все координаты имеют только 5 значащих цифр после запятой?
В картах для GPS-приёмников фирмы Garmin все координаты объектов хранятся с точностью, не превышающей
360о/224=2.1*10-5 (примерно 2,4 метра).
Поэтому не имеет смысла задавать координаты с более высокой точностью.
- Что делают функции 'Join per-level objects' и 'Split objects by levels'?
В Польском формате имеется возможность определять объекты, состоящие из нескольких элементов,
в том числе, распределенных по разным уровням детализации ('DataX=' и 'OriginX='), а не задавать
по отдельному объекту на каждый уровень. Это позволяет обрабатывать объект как единое целое:
пользователь может перемещать, переименовывать, изменять тип, удалять и т.д. этот объект на всех
уровнях сразу.
Напротив, MP-файлы, импортированные из IMG, всегда содержат объекты, состоящие только из одного
элемента каждый. (Природа этого явления кроется в устройстве формата IMG.) Это создает большие
неудобства для пользователей во время редактирования.
Итак, функция 'Join per-level objects' предназначена для объединения похожих друг на друга объектов,
распределенных по разным уровням детализации, в единые объекты из нескольких элементов. Функция
'Split objects by levels' разрезает объекты обратно.
- Что такое аффинное преобразование?
Это понятие из линейной алгебры, обозначающее произвольные линейные преобразования координат.
Частными случаями являются сдвиг (параллельный перенос), смещение, поворот, сжатие или растяжение в
различных направлениях.
Иногда карты, даже представленные в векторном формате, имеют подобные искажения.
Применение аффинного преобразования к подобным картам позволяет в ряде случаев значительно
улучшить их точность.
Афинное преобразование в общем случае требует задания трех пар точек; в каждой из пар одна точка
исходная ("откуда"), а вторая целевая ("куда"). В частности, обе точки пары могут совпадать, что
означает отсутствие сдвига в этом месте. Если все точки попарно совпадают, карта в результате
преобразования не изменяется.
Для выполнения аффинного преобразования необходимо иметь высокоточный материал для калибровки.
Это может быть растровая карта OziExplorer, качество привязки которой проверено на практике,
а также треки и путевые точки, полученные на местности с помощью GPS-приёмника. Важно также,
чтобы датумы (системы координат) используемых калибровочных данных были, или могли быть
преобразованы в WGS84.
- Как осуществляется аффинное преобразование?
Алгоритм:
- Подгрузить растровые карты, треки, путевые точки, по которым будет делаться калибровка.
- Выбрать режим аффинного преобразования (через панель инструментов или меню).
- Для каждой из 3-х пар точек:
- Выбрать в плавающем окне "Affine transformation" соответствующую пару.
- Мышью ткнуть в исходную точку пары, и, удерживая левую кнопку, перевести курсор на целевую точку.
Если обе точки пары должны совпадать, достаточно просто нажать и отпустить левую кнопку.
- Убедившись, что смещенное полупрозрачное изображение хорошо накладывается на "подложку",
отпустить левую кнопку.
- Перейти к следующей паре.
При этом любую пару можно удалить кнопкой [x] в плавающем окне или перейти к этой паре
по кнопке [...] (при этом карта отскроллируется так, чтобы пара оказалась в центре окна).
- Нажать "Apply" в плавающем окне.
Если что-то не так, можно сделать Undo и подкорректировать нужную пару (или пары).
Кроме того, можно временно переключаться из режима аффинного преобразования на другие режимы -
навигации по карте (Drag map), выбора объектов (Select) и др. - а затем возвращаться обратно
к заданию пар точек.
Рекомендуется задавать пары, как можно более удаленные друг от друга и от центра карты -
так точность будет выше.
Геодезия и картография
- Что такое датум?
Форму Земли принято приближенно считать эллипсоидом вращения. Поскольку реальная форма Земли
гораздо сложнее, то когда указывают широту и долготу некоторой точки на местности, имеют в виду
координаты проекции этой точки на эллипсод. По историческим причинам, в разных странах
при этом используют немного отличающиеся эллипсоиды: они различаются как размерами, так и положением
их центра относительно центра масс Земли, и даже направлением осей. В результате, одна и та же точка
на местности с точки зрения геодезистов разных стран, будучи спроецирована на разные эллипсоиды,
получает несколько отличающиеся широту и долготу. В некоторых случаях отличие составляет более километра.
По этой причине для точного описания местоположения точки на местности оказывается недостаточно
указать её координаты. Необходимо так же указать, в каком датуме заданы эти координаты, то есть
уточнить, к поверхности которого эллипсоида привязаны эти координаты. Неправильное указание датума может
приводить в общем случае к ошибкам от десятков метров до километра.
Общедоступные российские карты, как правило, публикуются в системе координат "Пулково-1942",
основанной на так называемом эллипсоиде Красовского. В GPS используется другой датум - WGS84. В районе
Московской области относительный сдвиг между ними составляет порядка 150 метров.
Подробнее о датумах можно прочитать здесь.
Планируемые функции
- Какие новые функции планируется добавить в программу в будущем?
Публикуемый ниже список ориентировочный, он не отражает порядок реализации:
Форматы файлов
- Сохранение в Garmin IMG
- Экспорт в шейпфайлы
- Загрузка и сохранение в формате MapDekode DBX
- Импорт из AutoCAD (DXF)
- Импорт точек из текстовых файлов (NIMA) и баз данных
- Поддержка MrSID, GeoTIFF
Редактирование
- Отрезание по непрямоугольной рамке
- Выделение элементов по фильтру (метки, типы, уровни и т.д.)
- Автоматическая генерализация
Визуализация
- Усовершенствование вывода надписей
- Поиск объектов
- Измеритель расстояний
- Печать
Прочее
- Automation (макросы) и plug-in'ы
- Русификация
- Инсталятор
Copyright (C) Константин Галичский, 2002-2008