Раз попалась мне в руки 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
Карта в польском формате
Карта в формате для загрузки в ГПС
Комментарии
Зарание спасибо
Щас наваял программулину, вдруг кому понадобится. Краткое описание - просмотровщик и редактор waypoint'ов для ALAN500. Можно редактировать типы точек, которые GPSMapEdit любезно сваливает в нули... Прогу можно взять тут http://turizm-club.narod.ru/data/read_wpr.rar, если на прямую не отдастся, то смотреть с этой страницы http://turizm-club.narod.ru/otchets.htm.
Вощем буду ее дальше развивать, кому интересно - пишите в мыло или в гостевуху на сайте!
Помогите пожалуйста начинающему бродяге найти приличные карты севера киргизии Алматы казахстана?
Заранее очень признателен.
Вова, не обижайся,
Поделитесь пожалуйста !
Спасибо
Если есть - пришлите пожалуйста на .
в ArcGis, знакомым студентам нужен MapInfo, лит-ры нету, может кто-нибудь поможет. Заранее благодарю.
http://www.angara.net/geo/maps/hamar-daban/album/
У меня Гармин gpsmap60CSx,так вот просит на той страничке где приведствие,при включении GPS.Ты случайно не втречал в сети для него инструкцию на твой не надо у меня есть.
А насчет cgpsmapper я спрашивал любую ShareWare версию желательно по свежей.
Тут выложили карты,может комуто пригодятся http://mapcenter.cgpsmapper.com/catalogue.php
Вышла новая стоть почитай понравится http://v-dorogu.narod.ru/article/compegps.htm и опять же Easy Trace http://v-dorogu.narod.ru/article/useeasytrace.htm
Проверь почту и если сможешь распиши все в письме, может смогу помочь и расписать более подробно.
как-то писал в 2004 г. на этом форуме, что имеет:
карту Польши для Mapsource (.img) (35 Мег);
Garmin Europe Metroguide 5 (1 Гиг);
карту Финляндии (.img) (6 Мег).
Но потом он пропал.
Может кто из вас имеет эти карты? Отзовитесь.
ICQ#:313-048-826
Есть навигатор 60С на нём 4 области записаны (купленные за дорого!). При попытке в тупую перекачать с помощью IMG2GPS в мой 276С он пишет "не могу разблокировать карты". Помогите, пожалуйста! Я знаю, что можно :)
Решил обзавестись Garmin GPSMAP 60 CX - но на предлагаемых картах отмечены только реки, дороги и нас.пункты в 2-х или 5-м км масштабе, ни болот, ни высот, ни просек на них нет.
Возможно ли каким либо образом закачать и привязать в GarminMAP60 СХ отсканированные карты (растровые), чтобы их использовать в дальнейшем? Если ли вообще варианты решения данной проблемы?
С уважением!
Столкнулся с такой ситуацией. Нарисовал в MapWel схему улиц города и попытался добавить в GPSMAP60. В меню выбрал именно "добавить", а не "заменить". Но эта зараза MapWel затерла родную гарминовскую карту мира. А я поначалу не разобрался, и не сделал с нее копию. Пришлось положить вместо нее карту из MapSource.
Но не уверен, что они одинаковые по точности-детализации. В принципе можно пользоваться и той, но хочется убедиться. Если кто знает точно, подскажите плиз (можно сравнить img файл в приемнике и в MapSource).
Кстати как оказалось, сделать копию и залить новую проще простого.
Обязательно делайте копию перед любыми экспериментами.
Кстати интересно, какая политика Гармина по обновлению вложенной карты мира в их приемниках? По идее они должны официально предоставлять своим пользователям вложенную карту по мере ее обновления.
Огромное спасибо
Качнуть не удалось, пишет что нет ресурса.
Суть проблемы: работаю только в MapInfo, а карт нет. Нашёл карты для Ozi. А как их конвертнуть из формата *.ozf2 хотя бы в MapEdit (можно даже в *.BMP формат ) не знаю. MapEdit ругается, грит не поддерживаю GDI+. Вот такая проблема.
h t t p: //w w w.n a t a h a u s.r u/2 0 0 6/0 7/3 1/pr int:p age,1,e sri_arc gis_9_arcm ap_rukovods tvo_polzovatelja.h t m l
сам играюсь
1. В OziExplorer расставляеш где надо "уголки" (Check Calibration of Map)
2.Запускаеш Map Merge for OziExplorer 1.05
устанамлеваеш Pixel Scale чуть больше чем оригинал (например оригинал 12.618 ставим 13 в большую сторону) выбираем карты для склеки и запускаем (он склеивает карты по точно "уголкам")
Получаеш map и ozf3 склееной карты.(если карт много то склейка идет долго до нескольких суток)
3.Утилитой ozf2img перегоняеш ozf3 в png.
Получаеся вполне нормальная карта.
Так я склеил пермскую область:
1. из атласа автом. дорог -82Mg
2. километровка(основная часть обл.) -192Mg
3. Полная наверно будет 300Mg.
Пожалуйста!!!
Это подарок любимому, но я в этом не разбираюсь....
To Костя: возможно сделать так: открываешь все растровые карты в Ози и привязываешь. Потом открываешь один из них в GPSMapEdit и сохрыняй .mp файл. потом лезь в него и подпиша по анологии остальные .map файлы.
правд есть проблема что он может после этого не все открыть. совет такой поставь поменьше цветов нарабочем столе (16bit).
Я создал карту огромную с помощью r2v и GPSMapEdit. А при конвертации из .MP в .IMG пришлось разревать карту на 12 отдельных кусков. так что лучше сразу делай по отдельности
карту создавал на базе 100 с лишним топокарт. естественно без объеденения. Получилось точнее чем всё имеещееся в инете...
Дайте пожалуйста ссылочку на карту с которой вы работали и напишите пожалуйста координаты четырех точек и восточное и северное смещение для каждой из точек. И ещё как загрузить карту в формате "map" из OziExplorer в r2v.
если напишите, то буду очень благодарен.
Страницы