misc/class
lib/jquery_pnotify, lib/moment, lib/lodash, misc/notification, site/engine, misc/social
if( $.browser.msie && $.browser.version <= 8 ) include('lib/respond'); $._social.__cfg = {"init":[{"service":"basic"},{"fb_app_id":"1997094873850041","service":"fb"},{"vk_app_id":"2978320","service":"vk"},{"service":"twi"}],"like":[{"service":"fb"},{"service":"vk"},{"via":"","channel":"","hash_tag":"","service":"twi"}]}; window._SiteEngine = new classes.SiteEngine( { user_id: 0, controller: 'content_article', action: 'view', content_css_version: '1459538664', social_enabled: 0} );

Faiwer

Блог web-программиста

Подготовка растровых карт для CompeGPS

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

Первоначально нам нужно подготовить сам растр. Для этого отлично подойдёт программа SAS.Планета. Она позволяет загрузить локально карты с пары десятков различных сервисов, навроде Google Maps, Yandex Maps, Bing Maps и др.. Мне не понравились Google-карты, но понравились Yandex-карты, поэтому я выбрал их.

Нужно найти на карте мира нужный участок и воспользоваться инструментом "выделение" (вторая кнопка на панели). Выбрав нужную область у вас появится окно "операция с выделенной областью":

Здесь нас интересуют два первых таба. В табе "загрузить" нам нужно загрузить в локальный кеш программы все изображения с сервиса карт. В зависимости от выбранного масштаба это может занять от пары секунд, до пары лет. В нижней левой части главного окна указан текущий масштаб, так что соориентироваться не проблема. Скорее всего вы остановитесь на масштабе от 14 до 17.

Перед тем как нажать кнопку "начать" уберите галочку "закрыть окно после старта" (для удобства). В противном случае окно с операциями над областью исчезнет и вам придётся снова его открывать. Кстати говоря, чтобы не выделять область заного, воспользуйтесь этой опцией:

Следующим шагом мы переходим на таб "склеить" (в окне выделения). Выбираем результирующий формат PNG, заного задаём масштаб, ставим галочку "Создавать файл привязки: .map". Жмём начать. Программа создаст 1 большой PNG файл, заключающий в себе всю карту. Для удобства можно воспользоваться опцией разбития изображения на куски (снизу справа). Правда я не проверял, съест ли потом его CompeGPS.

Теперь открываем CompeGPS и выбираем пункт меню Maps - Batch convert raster maps. Выбираем наш .map файл, в появившемся диалоговом окне выбираем RMAP, жмём Ok. Если программа не ругнулась, то в той же директории появится файл в формате RMAP, с которым CompeGPS умеет полноценно работать.

Преимущества подобных форматов в том, что они позволяют в себе хранить всю карту в одном файле, и при этом устроены таким образом, чтобы программа, использующая такую карту, не была вынуждена работать с ней, как с единым целым. Т.е. CompeGPS не сможет работать с 700 MiB PNG файлом, а вот с 700 MiB RMAP файлом вполне.

^ результат. Кстати говоря, для того, чтобы карта была наложена на 3D, вам нужна 3D карта. Получить её несложно. Узнайте нужные координаты, например:

В данном случае нас интересует 49 и 084. Эта та область, карты высот которой нам нужны. Затем вбейте в поисковик: N49E084.hgt. Google вам предложит два десятка вариантов с одним и тем же файлом.

unix-оидам на заметку: что SAS.Планета, что CompeGPS приемлимо работают под wine-ом.

 

Комментарии
Оставить комментарий
Оставить комментарий:
Отправить через:
Предпросмотр
modules/comment
window._Comment_content_article_118 = new classes.Comment( '#comment_block_content_article_118', { type: 'content_article', node_id: '118', user: 1, user_id: 0, admin: 0, view_time: null, msg: { empty: 'Комментарий пуст', ask_link: 'Ссылка:', ask_img: 'Ссылка на изображение:' } });