Раз попалась мне в руки Garmin eTrex Vista, раз мы идем с ней в поход в район Прибайкалья и раз у нее целых 24 мегабайта памяти, то возникает желание загрузить в приемник карту тех мест, куда мы пойдем, и желательно физическую. Но, как и следовало ожидать, таких карт в природе не существует, а существует только растровая двухкилометровка из альбома Прибайкалье. Вывод неутешительный, будем пытаться векторизовать карту самостоятельно, лишний experience никогда не помешает. Наш маршрут проходит полностью по листу с номером 72 альбома Прибайкалье или по листу 19 альбома Хамар-Дабан, что одно и тоже, значит, его я и буду пытаться погрузить в GPS.
В этой статейке я опишу, как я векторизовал карту, и что в результате получилось. Не претендую на открытие Америки, тем более на то, что нашел наиболее простой и лучший способ векторизации карт для Garmin, но главное - он работает. И так начнем. Буду предполагать, что читатель - полный чайник во всей этой тематике, то есть ровно на том этапе, с которого я начал.
Оказывается, в приемнике Гармин основная система координат - WGS84, то есть импорт и экспорт всех точек и карт происходит в этой системе координат. А карта, которую я векторизую, дана в системе Пулково - 1942. Отсюда начинается первая пачка мучений. Чтобы во всем разобраться и убедиться, что нет ошибок, сначала надо попытаться привязать карту в OziExplorer. Я пользуюсь OZI версией 3.95.3, которую можно скачать на родном сайте http://www.oziexplorer.com. Поройтесь, в сети обязательно найдутся краки.
Устанавливаем в любое удобное место, запускаем и пытаемся привязать карту.
Возможны три варианта:
1. На карте есть градусная сетка. Самый простой вариант, разберетесь сами.
2. На карте есть километровая сетка, но нет градусной. Это как раз мой случай.
3. На карте нет ни той ни другой сетки. Печальный случай, в этой статье не рассматривается.
Моя карта имеет километровую сетку, но не имеет градусной. Что бы ее правильно привязать, надо знать в какой она находится зоне, знать центральный меридиан этой зоны и координаты хотя бы одной точки карты. На мое счастье, половина работы по привязке карты уже сделана: на сайте http://www.angara.net узнал, что центральный меридиан для этой зоны 105 градусов, что для узла сетки в левом верхнем углу рядом с мягким знаком от слова "Гань" координаты (468, 5704).
Запускаем Ози, заходим File/Load and calibrate map, выбираем картинку и видим такой диалог:
В Map Datum выбираем Пулково 1942, в Map Projection выбираем Transverse Mercator, при этом выскакивает окно с настройками проекции:
Давайте в вкратце разберемся, что это за цифры. 105 - это центральный меридиан нашей зоны. Ставим E потому что это восточная часть полушария. Scale Factor по всей видимости некое масштабирование, почему оно равно 1, не знаю. А вот 500000 - это смещение вдоль оси X. Оно означает, что в точке лежащей на центральном меридиане ваша координата по X будет равна 500000, а не ноль. Нужно это для того, чтобы по всей зоне координата X была положительная (если бы на центральном меридиане был ноль, то соответственно по одну сторону координаты будут положительные, по другую отрицательные). Сей замечательный факт еще в дальнейшем сыграет свою роль.
Теперь открываем закладку Point 1, кликаем курсором мышки в узел сетки на нашей карте, для которого мы знаем вертикальное и горизонтальное смещение
и прописываем известные координаты (в метрах):
Что бы привязать карту, Ози нужно как минимум 3 точки, для пущей верности надо ввести 4 по углам карты. Для этого надо вычислить их координаты с помощью километровой сетки (между линиями по 4 км). Не забудем, что при движении направо, координата X увеличивается, а при движении вниз координата Y уменьшается. Потом нажимаем Save и сохраняем файл в озиевском формате *.map.
Первый тест, который должна пройти ваша привязка - координатные линии, проведенные Ози и их растровые собратья должны максимально совпадать. Для этого включим отображение сетки в Ози: Map/Grod line setup:
Еще зайдем в настройки Ози: File/Configuration и на закладке Maps выберем User Grid:
Теперь любуемся на наше произведение, если сетки практически совпадают, то почти наверняка все сделано правильно. Для пущей верности можно попросить у местных координаты каких-нить примечательных точек в формате Long/Lat, вбить их в Ози и посмотреть куда лягут. Если попали куда надо, можно спать спокойно. В моем случае это точки присланные знакомыми из Иркутска baikalpoints.wpt
Если все сделано правильно, значит мы застрахованы от ошибок при позиционировании карты, когда будем ее векторизовывать.
1. Программа, в которой больше всего работаешь и собственно векторизуешь карту это R2V. В ней происходит привязка карты к нужным координатам, полуавтоматическая и ручная прорисовка нужных деталей по слоям и экспорт в файлы ArcView *.shp
2. Программа ArcView нужна для того, чтобы открыть файл shp генеренный из R2V и пересохранить в этом же формате. При этом исправляется какой-то глюк в файле, который оставляет после себя R2V, и файл уже можно грузить в MapEdit. Сразу импортировать в MapEdit полученный из R2V файл SHP не получается, потому что отображается только первый элемент, который вы рисовали, а остальные исчезают. Этот глюк удалось обойти только с промежуточным звеном ArcView.
3. MapEdit импортирует shp-файлы, при этом преобразует координаты в систему WGS84. Там же вы выбираете, как будут отрисовываться ваши объекты в приемнике. Карта сохраняется в польском текстовом формате.
4. Программа cgpsmapper.exe импортирует файл в польском текстовом формате и сохраняет его в формате IMG.
5. Программа SendMap посылает ваш img в приемник.
Такой неблизкий путь надо пройти, чтобы увидеть правильнопривязанную карту в вашем Garmin-е.
Где ее достать в сети, не знаю. Поищите, может найдете. :)
Запускаете, заходите File/Open image or project, выбираете вашу картинку, смотрите, любуетесь. Все это вам предстоит прорисовать практически руками. :)
Для начала надо привязать карту, поэтому жимаем сюда: и выставляем те же 4 точки, которые выставляли в Ози:
Сохраняем точки привязки File/Save control points и получаем файл 19.cpt. Он вам не раз еще пригодится.
Теперь совет, что б не повторять моих ошибок, заведите много слоев с помощью кнопки :
и в каждом слое рисуйте объекты определенного типа. Если вы временно не редактируете слой, то закройте его с помощью кнопки Lock/Unlock. Если слой мешается, его можно сделать Off. Чтоб слой было видней на карте, можно выбрать подходящий цвет.
Не буду описывать подробности работы с R2V. К нему прилагается замечательный 30 minutes tutorial, читайте и въезжайте.
Возможности R2V мне очень понравились, аккуратная безглючная программа позволяет достаточно быстро просто руками прорисовать все главные горизонтали (у меня на это ушло часа 4 для карты Хамар-Дабана, чего говорить о Южном Урале, где горизонталей гораздо меньше). А что касается рек, то их можно векторизовать практически в автоматическом режиме, если перед этим поколдовать в Photoshop-е чтоб кроме рек на карте ничего не осталось. К сожалению, горизонтали так вычленить не удалось отчасти, потому что исходный растр был не очень хорошего качества, отчасти потому что их слишком много и они слишком часто и сам-то не всегда разберешься, какая горизонталь куда идет.
Один совет. Если вы, как и я решили ручками обвести все основные горизонтали, делайте это сразу аккуратно, а то потом будете долго и упорно поправлять передвигая узловые точки туда, где им следует быть.
Я в R2V обвел все основные горизонтали, часть не основных в том районе, куда мы собираемся идти, все реки, все дороги, поставил станции и мосты. По идее можно всем объектам дать название, оно будет отображаться в приемнике, когда наведете на него курсор, но мне было лень.
В R2V можно прорисовать и экспортировать точечные и линейные объекты (точечные - это, например, станции, а линейные - реки). Для этого они, разумеется, должны быть в разных слоях. А вот площадные объекты, такие как озера, экспортировать не удалось, хотя MapEdit понимает такие шейпы и умеет их импортировать. Я нашел такой выход. Прорисовал форму озер в R2V, открыл их в ArcView, Создал там новую тему и поверх первой повторил только уже как полигоны (они даже автоматически закрашиваются). Первую тему просто забыл, а вторую (которую создал в ArcView) экспортнул в SHP и потом уже грузанул в MapEdit. Тогда озера выглядят на карте озерами.
Вот как выглядят мои художества в R2V, если отключить показ карты. Желтые - это вспомогательные горизонтали, остальное это основные горизонтали и реки. В левом верхнем углу часть ЛЭП-ы.
Вот как это выглядит поверх карты:
После того, как вы достаточно нарисовались, можно экспортировать результаты своего труда в файлы SHP. Это надо делать отдельно по каждому слою, для этого надо отключить все слои кроме одного и нажать File/Export Vector... Выбрать тип SHP, и в возникшем диалоге ввести так:
Если вы экспортируете точечный слой (содержащий точечные объекты) выберите Points.
Кроме того, в R2V не забывайте сохранять проект. Если что, в проект можно добавить шейп, пользуясь меню File/Import geo-coded vector, где надо указать точно те настройки, которые вы выставляли, когда экспортировали SHP.
Как уже говорилось, в MapEdit не получается загрузить полученные шейпы по какой-то странной причине. Если попытаться, вы там увидите только первую линию или только первую точку. Может есть другой способ побороть этот глюк, но я использовал ArcView версии 3.2. Программа весьма ревниво охраняется Ersi, и просто так из сети скачать ее вам не удастся. Идите на Горбушку. :)
1. Создайте новый проект. Создайте новый вид. Зайдите Вид/Добавить тему (у меня русифицированная версия), программа предложит выбрать шейп:
Вы увидите нечто подобное:
Значит, все получилось. Заходим Тема/Преобразовать в шейп-файл и пересохраняем в другой шейп.
Если вы хотите прорисовать озера, как я уже говорил выше, создайте новую тему при этом выберите
и рисуйте на здоровье. Потом так же сохраняете.
MapEdit - еще одна милая программа, с которой нам предстоит работать. Она легко доступна через интернет. Устанавливаем, запускаем, выбираем File/Import/ERSI Shape *.shp. Можно выбрать за раз все ваши шейпы, сколько их там, и программа по очереди для каждой запустит мастера в зависимости от типа импортируемого шейпа. Импорт состоит из нескольких этапов:
1. Выбираем символ, каким будут отображаться объекты вашего шейпа. Если это точечные объекты, будут предложены точечные символы, если это линии, будет предложен перечень линейных объектов, если это, например, озера, будут предложены площадные объекты:
2. Выбираем подписи объектов. Я обычно ничего не выбираю, чтоб потом не любоваться на нолики.
3. Выбираем систему координат, в которой представлен наш шейп:
Тут начинаются пре-вра-ще-ния. Как я смог догадаться, ума не приложу, наверное жена у меня - ничего себе. :) Товарищ MapEdit почему-то предлагает работать с системой координат Pulkovo 1942 года отлично от OziExplorer. А именно тут указывается не смещение относительно центрального меридиана и не центральный меридиан, а меридиан, от которого начинается отсчет, ну или что-то типа того. Способ задания преобразования указанный на скриншоте оказался успешным, хоть я не до конца понимаю внутреннее содержание фокуса. Кто знает разгадку, поделитесь с общественностью.
4. В последнем окне диалога надо выбрать некий уровень, о котором читайте ниже, и нажать ОК.
Потом переходите к следующему шейпу.
По мере загрузке шейпов, они будут у вас отображаться на карте и вы можете любоваться своими художествами, по крайней мере мой конечный результат меня очень обрадовал:
Теперь об уровнях. Зайдите File/Map properties. Там на закладке Levels мы видим:
Все шейпы вы загружали в уровень 0, это означает, что они будут отображаться при масштабе карты крупнее чем 1.2 км, то есть если в приемнике вы захотите уменьшить масштаб, все ваши художества пропадут, и вам придется наблюдать карту только с масштабом 500 метров и крупнее. MapEdit нам предлагал загружать шейпы только в один уровень с номером 0, хотя на самом деле в пустой карте их по умолчанию два. Дело в том, что в последний уровень нам объекты добавлять не предлагают. Поэтому на самом деле надо было сначала добавить еще уровень 1.2 - 3 км (а можно и еще несколько), и при загрузке шейпов выбрать все эти уровни, и карта у вас будет показываться при более мелких масштабах.
Но тут такая странная вещь, перед тем, как не загрузишь хоть один шейп, никак не удается добавлять новые уровни. Так что сначала загружаем любой не самый важный шейп, потом добавляем нужное кол-во уровней, потом загружаем оставшиеся шейпы в добавленые уровни. Такая вот бодяга. Кроме того, в списке уровней следите, чтобы строго соблюдалась последовательность по возрастающей, иначе не удастся экспортировать карту в формат IMG. Успешным оказался такой способ задания зумовых уровней:
Все наши старания сохраняем в польском текстовом формате и радуемся, потому что мучений осталось совсем не много.
Программка cGPSMapper тоже лихо распространяется через интернет, скачиваем, разворачиваем архив куда нравится.
Параметры ей можно передавать через командную строку, а можно сделать еще проще. В MapEdit нажимаем File/Export/cGPSMapper, выбираем путь к программе, нажимаем ок и ждем, пока она конвертирует. Потом рядом с cGPSMapper видим появившийся файл img.
Sendmap свободно распространяется в интернете.
Корпиуем IMG в папку с SendMаp, в командной строке пишем:
SendMap COM2 -s57600 00000000.IMG
Смысл этих параметров наверное ясен. Первое - это компорт к которому подключен у вас Гармин, второе - это скорость порта (можно поставить меньше), третье это имя загружаемого файла.
Смотрим, что получилось в Гармине. Собственно, что вы нарисовали, то у вас и получилось. :) Если результат радует, идем пить чай.
Не стесняйтесь делиться своими картами с другими, чтоб люди не делали дважды одну и ту же работу. :)
Карта, которую я векторизовывал
Точки привязки в R2V
Проект в R2V
Выгруженные и переработанные шейпы готовые для загрузки в MapEdit
Карта в польском формате
Карта в формате для загрузки в ГПС
Комментарии
Алексей, вебмастер http://www.na-svyazi.ru
НАРОД есть вектор у Кого-нибудь какой-либо для ХМАО?
Может кто-нибудь подскажет, почему она отрисовывается только при 200 м масштабе?
Почему я в цветной не могу ее загнать?
Большое спасибо всем в особенности Андрею. Кстати, информация. Цифровал в проге Мапинфо 6,5.
Взаимовыгодные условия гарантируются
Мой почтовый ящик
проекция -- transverse mercator, latitude origin=0, central meridian соответствующий, scale factor=1, false easting=500000, false northing=0.
изменение значения latitude origin почему-то никак на рисуемую сетку не влияет.
может также выложим на какой-нибудь адрес кто что сделал???
Это нормально, так и должно быть или.......????
Заранее благодарю.
Если для оцифровки нужно использовать Easy Trace, то в первую очередь необходимо подготовить растр, чтоб было хорошее разрешение и почистить, а лучше наверное в фотошопе или ещё где нибудь поработать с цветами, например сделать так чтоб на карте выделялись только дороги или речки,тогда можно будет практически в автоматическом режиме оцифровать карту.
Посмотри ещё справку в Easy Trace, там кажется есть какой-то учебник прикольный, пошагово процесс оцифровки показывает, тоже может помочь.
Я когда пользовался этой программой, то все равно перекидывал всё в ArcView (ArcGis или Mapinfo) и там проверял и если это было необходимо подтягивал или... вообщем корректировал. Затем вектор открывал в gpsmapedit? раскидывал по слоям и перегонял в IMG, затем в GPS (Garmin Etrex Legend C)
Заранее благодарю
http://www.southural.ru/experience/201.html
Приветствуются добавления и исправления.
А статья классная. И у Григория мощно получилось.
Где её достать, подскажите пожалуйста.
Поможите векторизовать чем-нибудь карты для Ози. Или скажите, чем это сделать. Очень надо!!
можно ли векторную карту формат RUSSA.map конвертировать в формат Garmin MapSourse.map(IMG) и какой программой.
====Можно, есть прога GPSMapEdit, она позволяет конвертить...
При закачке карт в Garmin CS76 из MapSourse, при выборе нескольких карт, закачивается одна единственная, и все! Все перепробовал. Такой инфы (проблеммы) не нашел? Буду благодарен! Очень нужно ЕТ последний с лекарством. Скиньте на Заранее благодарен!
http://southural.ru/experience/201.html
Также см. мои комментарии к ней от 07.01.06. И в поштовом ящике тоже кое-что имеется:)
Инженер Гарин
ВОТ СИЖУ ДОВОЛЬНЫЙ КАК ДВА СЛОНА!!!!!!!!!
Есть карта БЕЛОРУСИИ в *.img.Архив 6,5 мег.если найдется человек который выложит куда либо для свободного доступа,то скину архив.Могу выложить и в ящик на mail.ru,но внутренний голос говорит, что те ребята, что берут за прошивку нехилые деньги её оттуда моментом сотрут.
BRAITON
Как на указанный тобой адрес выложить попавшую ко мне карту Белорусии,поверь люди будут благодарны ,в инете такой точно нет-я 4 дня искал.И еще если будешь
отвечать то делай скидку на то что в интернет технологиях я не силен :)Поподробнее.
С уваженьем,дата,подпись
вы ответьте нам а то,если вы не отзоветесь мы напишем в СПОРТЛОТО!
BRAITON
Давно слежу за этой темой. Есть возможность заполучить вот такой прибор:
Product specifications:
Processor: 266 Samsung MHz
Operating system: Microsoft WinCE.NET 4.2. Core Version
Antenna: Built in GPS high sensitivity receiver (16 channels) 32 bit risc CPU NMEX Chipsets with support for (not in package) extra active antenna
Memory 64 MB SDRAM built in, 32 MB Flash EPROM
Screen: 3,5" TFT touch screen
Input Method: Software keyboard
Expansion slot for SD card (up to 1GB)
Headphone slot for 3.5 mm Mini Jack
USB slot for ActiveSync
Battery: Internal re-chargeable Li-On Battery 1300 mAh ( up to 3-4 hours)
Dimensions and weight: 97 mm x 74 mm x 56 mm, 280 grams (0.62 lbs)
Operating Temperature -20º to + 60º C (Industrial Grade)
Я не разбираюсь в КПК, поэтому и возникли вопросы:
1)Что это за Windows такой WinCE.NET 4.2. Core Version
2) Есть ли версия Mapsource для такой винды
Вообще этот приемник ориентирован на европейских автомобилистов. К нему отдельно продаются карты некоторых европейских стран с возможностью автоматического прокладывания маршрута, а также голосового сопровождения. Короче говоря - полноценная замена штатным системам навигации в автомобиле. Технический специалист (по этому прибору) написал, что там используются карты GDF или Shapefileformat. У меня есть карта Беларуси в img формате. Естьли конвертеры в эти форматы? Мне даже на первом этапе не нужны функции прокладки маршрута или голоса. Желательно просто запустить на нем Mapsource или адаптировать img карту.
Но r2v(5.5.041012) не привяжет никогда точно(!) по градусной сетке. Т.к. р2в не умеет это делать. По т.с. "линейным" координатам - запросто (типа километрой сетки)
Файлы скину на выходных, тогда инет
дешевле.
По поводу народ заложил,то не обижай, и контора не совсем та что названа да и чел который это сделал мне никто ,я заплатил он согласился-без обязательств.
прога что идет в комплекте конвертит в SXF DXF SHP MIF,ЗНАЧИТ насколько я понял ,я могу выйти на линейку накатанных преобразований и сделать IMG,а такой карты БЕЛОРУСИИ
в инете точно нет.Объем карт конечно большой ,но эту проблему я решу точно и так думаю что на www.poehali.net эти карты будут и многим помогут просто лучше жить.
Кто из Белоруси читает просьба с вопросами на e-mail,здесь действительно очень большой комментарий к статье получился.
Кстати,у моего друга есть свой сайт,никто туда не ходит, но там есть чат и кажется какой-то форум.Может использовать это дело-я могу спросить.
BRAITON
Скажите пожалуйста, где можно взять карту Европейской части России в формате (rus)
можно (map).
Отличная работа!!!
Народ! Часом кто нибудь не сталкивался с подобными мапмейкерами для симбиан мобилок?
Страницы