ХТ -туристичний форум України и велофорум Харкова

Полная версия ВходРегистрация

FAQПоиск


Пред. тема | След. тема
Страница 1 из 1 [ Сообщений: 28 ]
Начать новую тему Ответить
Версия для печати

SAS Планета: подключение оффлайн-карт

SAS Планета: подключение оффлайн-карт

- Юрий Сенкевич
Профиль  WWW 
20.12.2013 02:41 Сообщение
Мне очень нравится программа SAS Планета. В частности, в ней удобно отмечать точки для предстоящего маршрута, переключаясь между различными картами. Или же просматривать треки уже пройденного маршрута.

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

Вкратце, что я сделал. Один из листов вышеупомянутой "Союзкарты" формата .png + .map с помощью программы MAPC2MAPC я сконвертировал в кэш SAS Планеты. Затем создал в директории программы папку для этого кэша и залил его туда. Затем создал папку с описанием источника, причём указал название папки кэша, а вот URL онлайн-источника не прописывал. И что же? Всё получилось. Есть в этом деле кое-какие тонкости, но, если это кому-то интересно, опишу их в другой раз. А сейчас ложусь спать :smile:
Последнее сообщение


Re: SAS Планета: подключение оффлайн-карт

- Семен Дежнев
Профиль 
22.12.2013 16:48 Сообщение
Поподробнее и пошагово пожалуйста.


Re: SAS Планета: подключение оффлайн-карт

- Юрий Сенкевич
Профиль  WWW 
22.12.2013 17:03 Сообщение
vituser писал(а)
Поподробнее и пошагово пожалуйста.

Приятно, что хоть кто-то заинтересовался )))
Подробнее опишу сегодня вечером, когда ребёнка спать уложим. А то бодрствующий террорист не даёт сосредоточиться )))


Re: SAS Планета: подключение оффлайн-карт

- Юрий Сенкевич
Профиль  WWW 
23.12.2013 03:24 Сообщение
Итак, постараюсь понятно описать процесс.

Сначала создаём для SAS Планеты папку с описанием источника. Созданную мной папку я прикрепляю ниже. Её нужно поместить сюда: SAS.Planet\Maps\sas.plus.maps
В этой папке я прописал, что моя оффлайн-карта будет находиться в пункте меню "Оффлайн", подпункте "Оффлайн 1". Вы можете изменить название как угодно, или даже создать несколько папок-описаний под различные оффлайн-карты. Этот процесс описан здесь: [url]http://sasgis.ru/wikisasiya/doku.php/простой_пример[/url]

Также в папке-источнике я прописал, что кэш будет находиться в папке offline_1. Эту папку нужно создать здесь: SAS.Planet\cache_gmt\offline_1

Далее нам нужно получить кэш оффлайн-карты. Для этого я использовал программу MAPC2MAPC. Эта программа платная. Ей можно пользоваться и бесплатно, но тогда на выходе получаем карту, хаотично усеянную "водяными знаками" (красными крестиками). Чтобы от этого избавиться, нужно ввести ключ (длинное число), который покупается за деньги. Я ключ нагуглил в интернете (уже не помню, где), причём не для самой свежей версии, а для слегка устаревшей.

Программу MAPC2MAPC можно скачать здесь: http://www.the-thorns.org.uk/mapping/down.html

А вот страничка (на английском, но с понятными картинками), где рассказывается, как сделать карту для Android-программы Locus Map: http://www.the-thorns.org.uk/mapping/help/locus.html
Мы будем делать практически то же, но выберем формат SAS Планеты.

Итак, берём карту в виде: графический файл (.jpg, .png, .gif, .bmp, .tif) плюс файл привязки (.map). Я, например, взял кусок атласа Крыма от "Союзкарты".

Запускаем программу MAPC2MAPC и в пункте меню "File" выбираем "Open calibration". Находим наш map-файл и открываем его. Если хотим проверить, нужная ли карта загрузилась, просмотрим её в пункте "View".

Далее выполним следующее действие: File>Write Mobile Atlas
В открывшемся окне выбираем формат "SAS Planet zZ/Y/X.png". Жмём кнопку "ОК" и ждём окончания процесса, о котором возвестит появление надписи "Done Mobile Atlas".

Папка с кэшем будет создана в том же месте, где была исходная карта. Копируем оттуда кэш (несколько папок вида "z12", "z13" и т.д.) в ранее созданную нами папку SAS.Planet\cache_gmt\offline_1

Далее запускаем SAS Планету. Находим нужное место на какой-нибудь другой карте (Гугл, Яндекс), выставляем масштаб в интервале 12-15 и переключаемся на нашу карту: Карты>Оффлайн>Оффлайн 1.

Сначала мы увидим пустой экран. Не пугайтесь. Нужно зайти в следующий пункт меню: Параметры>Параметры карты. В открывшемся окне в поле "Тип кэша" выбираем значение "GlobalMapper Tiles". Жмём "ОК" и любуемся картой.

Вот и всё! Будут вопросы - задавайте.

Вложения

Комментарий к файлу: Архив с папкой-источником
offline_1.zmp.zip
[3.34 КБ]

Скачиваний: 1266



Re: SAS Планета: подключение оффлайн-карт

- Афанасий Никитин
Профиль 
23.12.2013 10:12 Сообщение
Андрей Лунячек писал(а)
В открывшемся окне в поле "Тип кэша" выбираем значение "GlobalMapper Tiles".
Если в SAS предлагаете выбирать тип тайлов как "GlobalMapper Tiles", то, на мой взгляд, логичнее было бы для генерации тайлов использовать именно GlobalMapper. Он также не бесплатный (как и MAPC2MAPC), но в инете масса мест, откуда его можно скачать уже с таблеткой.


Re: SAS Планета: подключение оффлайн-карт

- Юрий Сенкевич
Профиль  WWW 
23.12.2013 21:37 Сообщение
UrikEEE писал(а)
Андрей Лунячек писал(а)
В открывшемся окне в поле "Тип кэша" выбираем значение "GlobalMapper Tiles".
Если в SAS предлагаете выбирать тип тайлов как "GlobalMapper Tiles", то, на мой взгляд, логичнее было бы для генерации тайлов использовать именно GlobalMapper. Он также не бесплатный (как и MAPC2MAPC), но в инете масса мест, откуда его можно скачать уже с таблеткой.

У меня есть GlobalMapper, но я не знал, что он это умеет. Поэтому пользовался MAPC2MAPC. Расскажите, где в GlobalMapper расположена опция генерации тайлов. Возможно, я попробую.


Re: SAS Планета: подключение оффлайн-карт

- Афанасий Никитин
Профиль 
24.12.2013 08:08 Сообщение
Андрей Лунячек писал(а)
Расскажите, где в GlobalMapper расположена опция генерации тайлов. Возможно, я попробую.
После того, как в GlobalMapper откроете необходимые карты, идете в меню "Файл", далее "Экспорт вэб...", далее в окошке выбора формата для экспорта выбираете "Google Maps Tiles", далее появится окошко "Google Maps Export Options", в котором имеет смысл изменить номер уровня увеличения с 5 на 1 (тогда будут генерироваться тайлы только для текущего зума, без программной интерполяции на 4 зума назад), нажать кнопку OK.

Далее появится окошко сохранения html-файла, вводите произвольное имя и, главное, указываете (и запоминаете) папку, куда сохранили этот файл. После этого GM начнет генерировать html-файл, попутно создавая в этой папке локальный кэш тайлов. По окончании генерации html-файл можете удалить, а сгенерированные тайлы - это то, что Вам нужно.


Re: SAS Планета: подключение оффлайн-карт

- Афанасий Никитин
Профиль 
24.12.2013 10:06 Сообщение
Еще пару слов про создание локального кэша при помощи GM. Я в свое время через это проходил, создавал локальный кэш для MobAC (подробнее тут). Я тогда натыкался на следующие грабли: чтобы получить локальный кэш тайлов большого размера, приходится процедуру генерации тайлов запускать циклически, порциями. У меня порциями были листы карт Генштаба или ГГЦ (обычно открывал в GM 16 смежных листов). При экспорте каждой порции вылезала одна и та же проблема: пограничные тайлы (расположенные по периметру выгружаемого района) были неполные. И если эти пограничные тайлы просто копировать, то при выгрузке следующей порции (граничащей с текущей порцией) мы получим неполные тайлы по смежной границе, которые при последующем копировании просто перепишут имеющиеся неполные тайлы текущей порции.

Мне пришлось писать скрипт и эту проблему я решил. Я вспомнил про эти грабли и и мне стало интересно, сталкивались ли Вы с этой проблемой и (если да) как Вы ее решаете?


Re: SAS Планета: подключение оффлайн-карт

- Семен Дежнев
Профиль 
24.12.2013 17:24 Сообщение
Скачал свежий сас. Не обнаружил указанных папок. Названия неточные или нужно их создать?
SAS.Planet\cache_gmt - такой нет но есть SAS.Planet\cache_gc. Это оно?


Re: SAS Планета: подключение оффлайн-карт

- Юрий Сенкевич
Профиль  WWW 
24.12.2013 19:42 Сообщение
UrikEEE, спасибо за информацию. С описанной вами проблемой я не успел столкнуться, т.к. я только попробовал подключить какую-либо оффлайн-карту к SAS Планете, и тут же описал, что и как у меня получилось. Далеко идущих планов по конвертации карт я ещё не строил. Насчёт пограничных тайлов я уже задумывался, и пока не знаю, как здесь быть. Может, я вообще не буду делать огромного кэша, а просто при необходимости перегонять в кэш какую-то нужную мне в данный момент карту.


Re: SAS Планета: подключение оффлайн-карт

- Юрий Сенкевич
Профиль  WWW 
24.12.2013 19:45 Сообщение
vituser писал(а)
Скачал свежий сас. Не обнаружил указанных папок. Названия неточные или нужно их создать?
SAS.Planet\cache_gmt - такой нет но есть SAS.Planet\cache_gc. Это оно?

Папку cache_gmt, а также в ней подпапку offline_1 вам нужно создать вручную.

А что такое cache_gc, я не знаю.


Re: SAS Планета: подключение оффлайн-карт

- Филипок
Профиль 
08.02.2014 19:51 Сообщение
Здесь очень подробно и хорошо описано, как создавать карты для SASPLanet'а ;).


Re: SAS Планета: подключение оффлайн-карт

- Юрий Сенкевич
Профиль  WWW 
08.02.2014 21:12 Сообщение
Любопытная статейка, спасибо. Вот только у меня есть предположение, что из двух описанных в статье программ в реальности нужна только одна - GlobalMapper, а без второй программы можно обойтись. Но никак руки не дойдут проверить. Ведь SAS Планета понимает кэш в формате GlobalMapper. Главное - не начудить при создании этого кэша.


Re: SAS Планета: подключение оффлайн-карт

- Афанасий Никитин
Профиль 
08.02.2014 23:22 Сообщение
Андрей Лунячек писал(а)
Ведь SAS Планета понимает кэш в формате GlobalMapper.
Вы в этой ветке уже пару раз упоминаете про кэш в формате GlobalMapper. Вы уверены, что такой формат существует?

GlobalMapper в своей работе нигде не использует такое понятие, как "кэш тайлов". Разве что при экспорте растра в вэб GlobalMapper дает выбрать формат для экспорта своих карт в сторонний вэб-формат (а они все тайловые) и один из них - это "Google Maps Tiles" (сокращенно GMT). Может быть, Вы эту аббревиатуру расшифровали неверно - как GlobalMapper Tiles ?


Re: SAS Планета: подключение оффлайн-карт

- Юрий Сенкевич
Профиль  WWW 
09.02.2014 00:48 Сообщение
UrikEEE писал(а)
Андрей Лунячек писал(а)
Ведь SAS Планета понимает кэш в формате GlobalMapper.
Вы в этой ветке уже пару раз упоминаете про кэш в формате GlobalMapper. Вы уверены, что такой формат существует?

GlobalMapper в своей работе нигде не использует такое понятие, как "кэш тайлов". Разве что при экспорте растра в вэб GlobalMapper дает выбрать формат для экспорта своих карт в сторонний вэб-формат (а они все тайловые) и один из них - это "Google Maps Tiles" (сокращенно GMT). Может быть, Вы эту аббревиатуру расшифровали неверно - как GlobalMapper Tiles ?

Если мы покопаемся в меню SAS Планеты, то фразу "GlobalMapper Tiles" увидим как минимум в двух местах: "Параметры карты" и "Операции с выделенной областью". Так что если кто-то и ошибся, то это не я, а авторы программы SAS Планета.

Вложения

1.jpg
1.jpg
[ 104.71 КБ | Просмотров: 20243 ]

2.jpg
2.jpg
[ 108.29 КБ | Просмотров: 20243 ]




Re: SAS Планета: подключение оффлайн-карт

- Юрий Сенкевич
Профиль  WWW 
09.02.2014 03:40 Сообщение
Только что благополучно создал кэш при помощи GlobalMapper и подключил его к SAS Планете. Несколько моментов: экспортировать кэш нужно в том же формате, который прописан у вас в файле с описанием источника. В том, что я прикрепил выше, прописан формат PNG. Уровень (Level) лучше выбрать вручную. Для экспорта 500-метровки - 14, для километровки - 13 и т.д. Номер уровня увеличения лучше поставить где-то 7-8, для того, чтобы создать тайлы меньших зумов. Иначе пользоваться этой картой в SAS Планете будет неудобно: вы не будете иметь возможность уменьшить карту.


Re: SAS Планета: подключение оффлайн-карт

- Афанасий Никитин
Профиль 
09.02.2014 21:27 Сообщение
Андрей Лунячек писал(а)
Только что благополучно создал кэш при помощи GlobalMapper и подключил его к SAS Планете.
Уточните, пожалуйста, какой использовали вэб-формат при экспорте растра из GlobalMapper. Я полагаю, что использовали "Google Maps Tiles" , но хотелось бы подтверждения.


Re: SAS Планета: подключение оффлайн-карт

- Юрий Сенкевич
Профиль  WWW 
10.02.2014 01:20 Сообщение
Да, вы правы. Использовал Google Maps Tiles.


Re: SAS Планета: подключение оффлайн-карт

- Афанасий Никитин
Профиль 
10.02.2014 07:28 Сообщение
Посмотрел тип кэша в параметрах карты в SAS Planet древней уже версии 110418 (до сих пор у меня стоит). Там увидел то, что и ожидал: "Google maps tiles"

12728

Похоже, в следующих версиях SAS просто недосмотрели и накосячили...


Re: SAS Планета: подключение оффлайн-карт

- Ермак
Профиль 
12.02.2014 05:59 Сообщение
UrikEEE писал(а)
Мне пришлось писать скрипт и эту проблему я решил. Я вспомнил про эти грабли и и мне стало интересно, сталкивались ли Вы с этой проблемой и (если да) как Вы ее решаете?

Я пока не в полном объёме воспользовался этими скриптами, вылетает Gimp при запуске, но само решение вызывает восхищение. Другие решения с фотошопом не имеют скриптов. Пока с белыми полями решаю вопрос с помощью Map Merge v.1.21.
Она позволяет загружать и объединять карты разного масштаба, если нет каких то листов, и разные издательства ГШ + ГГс + схемы, потом сохраняю в .png формате и далее конвертирую Global Mapper и т.д. Вопрос. После создания в Map Merge общего листа, при его сохранении остаются белые заполнения при резке на тайлы они остаются. Как их убрать?


Re: SAS Планета: подключение оффлайн-карт

- Афанасий Никитин
Профиль 
12.02.2014 13:14 Сообщение
Александр Иванов 56140 писал(а)
Вопрос. После создания в Map Merge общего листа, при его сохранении остаются белые заполнения при резке на тайлы они остаются. Как их убрать?

Если это вопрос ко мне, то отвечу, хоть это и не в тему этой ветки: с программой Map Merge я не работал и не знаю, в каком формате она режет тайлы.

Когда тайлы создает GlobalMapper и выходным форматом выбраны файлы *.png, то GlobalMapper грамотно заполняет частично заполненные тайлы. В png-файлах GlobalMapper использует альфа-канал прозрачности (или доп.слой - как хотите), и незаполненная площадь в тайлах помечается как прозрачная, а заполненная - как непрозрачная. Именно благодаря наличию корректно заполненного канала прозрачности я смог средствами Gimp сделать скрипт по объединению пограничных тайлов, который на прозрачную область одного тайла накладывает непрозрачную область другого тайла (предполагается, что оба тайла имеют одинаковые тайловые координаты и дополняют друг друга).

Может быть, в настройках программы Map Merge есть настройки для формирования тайлов? Обратите внимание именно на прозрачность.


Re: SAS Планета: подключение оффлайн-карт

- Ермак
Профиль 
12.02.2014 13:38 Сообщение
UrikEEE писал(а)
Может быть, в настройках программы Map Merge есть настройки для формирования тайлов? Обратите внимание именно на прозрачность.

Да, вопрос был к вам. Здесь небольшое дополнение. Программой Map Merge тайлы не создаются. Я этой программой открываю несколько файлов OZI, но после слияния листов и получения без шовного изображения, на нём остаются светлые, не заполненные места, которые после резки на тайлы в Global Mapper нужно убирать. Вот я и спрашивал, можно настроить Ваш скрипт для этого?


Re: SAS Планета: подключение оффлайн-карт

- Афанасий Никитин
Профиль 
12.02.2014 14:12 Сообщение
Александр Иванов 56140 писал(а)
Вот я и спрашивал, можно настроить Ваш скрипт для этого?

Сомневаюсь, однако...

Мой скрипт в Gimp работает очень просто: он обрабатывает 2 png-файла, переданных ему в качестве входных параметров "ИзображениеИсточникПриемник" и "ИзображениеИсточник2". При этом оба изображения должны быть одинаковые по размерам (тайлы 256х256 точек). Скрипт накладывает непрозрачную область из "ИзображениеИсточник2" на прозрачную область в "ИзображениеИсточникПриемник" и полученный результат сохраняет там же.

Вы же, как я понял, склеиваете в Map Merge разные карты в одну и на ней получаются незаполненные области. Которые Вам не нужны при последующей нарезке тайлов объединенной карты уже из GlobalMapper.

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


Re: SAS Планета: подключение оффлайн-карт

- Юрий Сенкевич
Профиль 
25.08.2015 10:30 Сообщение
Насчёт склеивания кусков кеша САСпланеты с обрезанными тайлами.

Во-первых, выделять фрагменты для конвертирования нужно с нахлёстом. Величина нахлёста должна быть такая, чтобы в запасе получался один ряд или столбец тайлов. Величина нахлёста в градусах, мнутах и секундах подбирается визуально по САСпланете. Включите в САСпланете отображение границ тайлов и поводите мышкой, чтобы узнать координаты краёв обрезанных и целых тайлов.
Во-вторых, прежде чем закидывать сконвертированные ГлобалМаппером тайлы в папку с кешем САСпланеты, нужно удалить тайлы, которые оказались обрезанными. То есть, вот взяли первый кусок, сконвертировали, удалили обрезанные тайлы, переместили в саспланетовскую папку с кешем, потом следующий кусок сконвертировали (в отдельную папку!), обрезаанные тайлы удалили и тоже переместили в папку с саспланетовскую папку с кешем.

Структура папок и файлов кеша, если брать формат gmt, а не родной сасовский, такая:

\z15\8943\21774.jpg,

где z15 - уровень зума (в примере 15 по обычной шкале. В САСпланете эти тайлы будут видны на уровне 16),
8943 - номер "строки" тайлов,
21774 - номер "столбца" тайлов.
Так вот, горизонтальная линия обреза проходит по всем тайлам одной строки. И все эти тайлы находятся в одной папке. Эта папка имеет наименьший номер для северного края обреза и наибольший номер для южного края обреза. Просто находим эту папку и удаляем со всеми потрохами.

С вертикальной линией обреза чуть сложнее. Обрезанные тайлы находятся в каждой папке данного уровня зума и имеют минимальный номер для западного края обреза и максимальный номер для восточного края обреза. Записываем этот номер на бумажку и в каждой папке удаляем файл с этим номером. Поскольку таких папок не одна, а часто две и более, то вручную удалять их по одиночке хлопотно. Поэтому лучше использовать DOS-команду del с параметром /S , который заставляет команду проверить не только текущую папку, но и все вложенные подпапки.
Например, мы хотим удалить "обрезанные" тайлы в папке d:\raster\russia\z15\ , которые расположены в подпапках типа \8365\ в файлах 22681.jpg.
Зпускаем консоль (Пуск - Выполнить - набиваем cmd.exe жмём Ентер.
В чёрной консоли набираем
d: жмём Ентер (для перехода на нужный диск. Это если файлы на другом диске)
cd raster\russia\z15 Ентер (для перехода в папку с нужным зумом. Убедитесь, что вы действительно перешли в эту папку. Комп не должен выдать ругательств типа "папка не найдена". Кстати, в WinXP можно полуавтоматически набирать имена папок. Достаточно набрать первые несколько букв и нажать Tab, и комп автоматически добавит "хвостик" названия, если в той же папке нет папки или файла с названием, начинающимся на те же набранные буквы. Тогда надо набрать больше букв. чтобы комп однозначно понял, какая папка вам нужна).
del /S 22681.jpg жмём Ентер
По экрану должны побежать строчки, говорящие, что один файл удалён. И так в каждой папке.

Кстати, как вы догадались, проще нарезать картинку в ГМ на горизонтальные полоски, а не на квадраты. С нахлёстом, разумеется. Тогда удалять обрезанные тайлы проще. Удалил одну папку, и всё. И в консоли не надо ковыряться. Кстати, если вы используете ТоталКоммандер, то вам проще. Надо просто в тотале зайти в нужную папку (в примере это \z15 ) и в командной строке в тотале внизу набрать команду эту самую команду del /S 22681.jpg

P.S. А ещё в опциях экспорта из ГМ в веб-формат есть опция ADVANCED:Fill to tile bounds
Ставим эту галку и тайлы будут выходить необрезанными. Если граница тайла вылазит за границу указанной области, то тайл дополнится картинкой за пределами области. Это если, конечно, там есть чем дополнять.


Re: SAS Планета: подключение оффлайн-карт

- Филипок
Профиль 
26.12.2016 11:04 Сообщение
Андрей, я прошу разъяснений по подключению "офлайн" карт к Sasplanet.
С созданием кэша и помещением его в Sasplanet всё можно понять.
Непонятно, что и как прописать в папке sas.plus.maps. Там находятся некие папки с названием "zmt". Все, кто пишет на эту тему, подробно описывают создание кэша
и этим ограничиваются. Помогите, если можете.


Re: SAS Планета: подключение оффлайн-карт

- Юрий Сенкевич
Профиль  WWW 
26.12.2016 11:20 Сообщение
Папки называются не "zmt", а "zmp". Я уже создал подобную папку специально для подключения оффлайн-карт. Её вы можете скачать на предыдущей странице. Посмотрите четвёртое сообщение этой темы. Там и папка эта есть, и моё подробное пошаговое описание. Внимательно его прочитайте. После этого, если что-то будет непонятно, задавайте конкретные вопросы.

P.S. Там я рассматриваю создание кэша при помощи программы MAPC2MAPC. Но кэш можно создавать и при помощи программы Global Mapper, что описывается в последующих сообщениях этой темы.


Re: SAS Планета: подключение оффлайн-карт

- Филипок
Профиль 
21.02.2018 19:14 Сообщение
Здравствуйте. Сделал все как написано. В Global Mapper создал кэш, скопировал в Sasplanet. Но кэш не грузится в Sasplanet. Помогите с решением вопроса. Спасибо!!!


Re: SAS Планета: подключение оффлайн-карт

- Юрий Сенкевич
Профиль  WWW 
22.02.2018 02:39 Сообщение
Иван_777 писал(а)
Сделал все как написано.

Наверное, всё-таки сделали не совсем всё так, как написано.

Иван_777 писал(а)
Помогите с решением вопроса.

Каким образом вам помочь, если мы не знаем, что вы сделали неправильно?
Вернуться к началу

Начать новую тему  Ответить

Страница 1 из 1 [ Сообщений: 28 ]
Пред. тема | След. тема


Найти
Перейти
 
Полная версия