ХТ -туристический форум Украины и велофорум Харькова
http://xt.ht/phpbb/

SAS Планета: подключение оффлайн-карт
http://xt.ht/phpbb/viewtopic.php?f=67&t=166820
Страница 2 из 2

Автор:  Андрей Лунячек [ 09.02.2014 03:40 ]
Заголовок сообщения:  Re: SAS Планета: подключение оффлайн-карт

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

Автор:  UrikEEE [ 09.02.2014 21:27 ]
Заголовок сообщения:  Re: SAS Планета: подключение оффлайн-карт

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

Автор:  Андрей Лунячек [ 10.02.2014 01:20 ]
Заголовок сообщения:  Re: SAS Планета: подключение оффлайн-карт

Да, вы правы. Использовал Google Maps Tiles.

Автор:  UrikEEE [ 10.02.2014 07:28 ]
Заголовок сообщения:  Re: SAS Планета: подключение оффлайн-карт

Посмотрел тип кэша в параметрах карты в SAS Planet древней уже версии 110418 (до сих пор у меня стоит). Там увидел то, что и ожидал: "Google maps tiles"

12728

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

Автор:  Александр Иванов 56140 [ 12.02.2014 05:59 ]
Заголовок сообщения:  Re: SAS Планета: подключение оффлайн-карт

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

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

Автор:  UrikEEE [ 12.02.2014 13:14 ]
Заголовок сообщения:  Re: SAS Планета: подключение оффлайн-карт

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

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

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

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

Автор:  Александр Иванов 56140 [ 12.02.2014 13:38 ]
Заголовок сообщения:  Re: SAS Планета: подключение оффлайн-карт

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

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

Автор:  UrikEEE [ 12.02.2014 14:12 ]
Заголовок сообщения:  Re: SAS Планета: подключение оффлайн-карт

Александр Иванов 56140 писал(а):
Вот я и спрашивал, можно настроить Ваш скрипт для этого?

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

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

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

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

Автор:  Д. Засядько [ 25.08.2015 10:30 ]
Заголовок сообщения:  Re: SAS Планета: подключение оффлайн-карт

Насчёт склеивания кусков кеша САСпланеты с обрезанными тайлами.

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

Структура папок и файлов кеша, если брать формат 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
Ставим эту галку и тайлы будут выходить необрезанными. Если граница тайла вылазит за границу указанной области, то тайл дополнится картинкой за пределами области. Это если, конечно, там есть чем дополнять.

Автор:  Лопатин [ 26.12.2016 11:04 ]
Заголовок сообщения:  Re: SAS Планета: подключение оффлайн-карт

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

Автор:  Андрей Лунячек [ 26.12.2016 11:20 ]
Заголовок сообщения:  Re: SAS Планета: подключение оффлайн-карт

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

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

Автор:  Иван_777 [ 21.02.2018 19:14 ]
Заголовок сообщения:  Re: SAS Планета: подключение оффлайн-карт

Здравствуйте. Сделал все как написано. В Global Mapper создал кэш, скопировал в Sasplanet. Но кэш не грузится в Sasplanet. Помогите с решением вопроса. Спасибо!!!

Автор:  Андрей Лунячек [ 22.02.2018 02:39 ]
Заголовок сообщения:  Re: SAS Планета: подключение оффлайн-карт

Иван_777 писал(а):
Сделал все как написано.

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

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

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

Страница 2 из 2 Часовой пояс: UTC + 2 часа [ Летнее время ]
Powered by phpBB® Forum Software © phpBB Group
http://www.phpbb.com/