SASGIS

Веб-картография и навигация

Экспорт в формат навигаторов Magellan (.rmp)

Запрашиваем и выполняем хотелки к SAS.Планете вне очереди

Модераторы: vdemidov, Tolik

Правила форума
Настоятельно рекомендуем ознакомиться с правилами раздела платных услуг ТУТ.

Re: Экспорт в формат навигаторов Magellan (.rmp)

Сообщение lunyachek » 06 фев 2016, 03:35

zed писал(а):Т.е. функционально RMPCreator вас полностью устраивает и хотите такое же в SAS? Там нет никаких лимитов и можно записывать несколько зумов в один rmp?

Ну как вам сказать. Речь ведь идёт об онлайн-картах. А RMPCreator работает с оффлайн-картами. Лимитов там никаких нет. А чтобы сделать многослойную карту, программе нужно скормить эти слои отдельными файлами (в формате Ози или ГеоТифф). Все скормленные файлы RMPCreator объединит в один rmp. Никаких масштабов дополнительно указывать не надо (в отличие от гарминовского JNX), так как Магеллан отображает карты по масштабам ориентируясь исключительно на разрешение карты в метрах на пиксель. Понятно, что в SAS Планете нужно сделать выбор одного или нескольких зумов при помощи проставления птичек в чекбоксах (как в МОБАКе или той же SAS Планете при экспорте, допустим, в RMaps SQLite).

zed писал(а):И ещё вопрос - как обстоят дела с проекцией карты? Там только Geographic или можно и в Меркаторе на сфере/эллипсе писать? В хелпе к RMPCreator что-то не совсем понятно:
- geoTiff (Проекция Geographical Lat\Lon, датум WGS84)
- ozi Explorer .map
- просто картинка
Файлы Ozi .map поддерживаются только если привязка сделана в датуме WGS84.
Если вы загрузите просто картинку, то надо будет ввести координаты ее левого верхнего и нижнего правого углов (опять же в WGS84).
Лучший результат будет получен при использовании geoTiff, подготовленного в Global Mapper.

т.е. GeoTIFF только в географической проекции понимает, а ozi - в любой?

Вы правы, написано там не совсем понятно. Вариант "загрузка просто картинки с введением координат двух углов" мы сразу отбросим, т.к. он не обеспечивает достаточную точность. То есть, там нужно использовать либо Ози, либо ГеоТифф.
Теперь о проекции. Магеллану нужна карта только в проекции Geographic Lat\Lon. Программа RMPCreator менять проекцию не умеет. Она просто нарезает карту на тайлы с указанной степенью jpg-сжатия. Поэтому в RMPCreator нужно запихивать карты, уже преобразованные в нужную проекцию. Конечно, можно запихнуть в него и карту в другой проекции (например, Mercator), но получившийся в результате rmp-файл не будет нормально совпадать с координатами. Поэтому нужно, чтобы SAS Планета при экспорте выдавала конечный результат в проекции Geographic Lat\Lon.

zed писал(а):Могу попробовать сделать такой экспорт за $25.

Честно говоря, надеялся на более низкую цену. Насколько я видел, формат OruxMaps вы прикрутили за 500 рублей, т.е. в 4 раза дешевле (я допускаю, что там может быть более простой формат).
Тут ещё дело в том, что прямо какой-то сильной потребности в экспорте RMP из SAS Планеты у меня нет. Я делаю карты RMP быстро и уверенно, практически из любого растра, попадающегося под руку. Просто хотелось сделать приятно себе и другим магеллановцам. А также чтобы любимая программа (SAS Планета) стала ещё лучше. Ну и немного утереть нос гарминовцам, т.к. один из их аргументов в вопросе "почему Гармин лучше Магеллана" - это то, что SAS Планета умеет делать карты для Гармина, а для Магеллана - нет.
Ладно, вернусь от лирики обратно к делу. Скажите, мы можем рассмотреть вопрос определённого снижения стоимости?
lunyachek
Соображающий
 
Сообщения: 61
Зарегистрирован: 04 фев 2016, 13:57
Благодарил (а): 1 раз.
Поблагодарили: 0 раз.

Re: Экспорт в формат навигаторов Magellan (.rmp)

Сообщение Papazol » 06 фев 2016, 12:19

Можно ещё скинуться нескольким энтузиастам.
Аватара пользователя
Papazol
Гуру
 
Сообщения: 2069
Зарегистрирован: 04 дек 2009, 01:39
Откуда: Рязань
Благодарил (а): 74 раз.
Поблагодарили: 647 раз.

Re: Экспорт в формат навигаторов Magellan (.rmp)

Сообщение zed » 06 фев 2016, 13:17

lunyachek писал(а):формат OruxMaps вы прикрутили за 500 рублей, т.е. в 4 раза дешевле (я допускаю, что там может быть более простой формат)

Да, с Orux было проще. Тут же мне надо сперва разобраться с форматом, написать библиотеку для работы с ним (по типу JNXlib) и уже только потом интегрировать это в SAS. Соответственно, распределение в плане сложности такое: написание библиотеки - $20, интеграция в SAS - $5.
lunyachek писал(а):Скажите, мы можем рассмотреть вопрос определённого снижения стоимости?

Хорошо, могу уступить $5. И как уже подсказали выше, мы принимаем коллективные заказы, т.е. можете кинуть клич на тематическом форуме, может кто-то ещё захочет войти в долю.
zed
Гуру
 
Сообщения: 2888
Зарегистрирован: 16 авг 2008, 20:21
Благодарил (а): 89 раз.
Поблагодарили: 568 раз.

Re: Экспорт в формат навигаторов Magellan (.rmp)

Сообщение lunyachek » 07 фев 2016, 02:29

Спасибо. Тогда остановимся на 20 долларах. Я попытаюсь подключить ещё желающих. Как только мы закончим сбор денег, я вам сообщу. Ну и деньги, естественно, перечислю.
lunyachek
Соображающий
 
Сообщения: 61
Зарегистрирован: 04 фев 2016, 13:57
Благодарил (а): 1 раз.
Поблагодарили: 0 раз.

Re: Экспорт в формат навигаторов Magellan (.rmp)

Сообщение Draude » 07 фев 2016, 13:29

lunyachek писал(а): ... Я создавал с помощью МОБАКа работоспособные карты с разрешением более чем 19000х19000 пикселей. Работать они перестают именно после 20000х20000 пикселей.
А сам формат rmp ограничений на размер карты не имеет. Если делать не с помощью МОБАКа, а, к примеру, с помощью RMPCreator, то можно создавать сколь угодно огромные карты. Я это проделывал неоднократно...

lunyachek писал(а): Если делать в MOBAC карту для Магеллана размером 20000х20000 пикселей или более, то карта создаётся, но не работает. Хотелось бы, чтобы в SAS Планете не было такого недостатка, и можно было бы создавать карты неограниченного размера...

Ограничение на слой по любому должно существовать, не факт что в пикселях, а скажем к примеру в количестве тайлов ( в JNX как известо 50000 на слой/уровень).

Для "облегчения жизни" исполнителям , чтоб не гадать на кофейной гуще,пожалуйста предоставте пример сколь угодно огромной карты, скажем в 52000 тайлов х 256=> 13312000x13312000 пикселей (256x256 -пиксельный размер тайла для Магеллана, если Магеллан кушает и другие размеры тайлов, типа как Garmin -предоставте и этот пример)

За это сообщение автора Draude поблагодарил:
zed (07 фев 2016, 14:17)
Рейтинг: 5.26%
 
Draude
Соображающий
 
Сообщения: 82
Зарегистрирован: 28 авг 2009, 02:02
Благодарил (а): 15 раз.
Поблагодарили: 3 раз.

Re: Экспорт в формат навигаторов Magellan (.rmp)

Сообщение zed » 07 фев 2016, 14:36

Судя по всему, есть лимит на число тайлов в слое. Но количество слоёв вроде бы не ограничено, так что про "сколь-угодно большое" изображение вполне может быть правда. Естественно, в пределах лимита на размер файла в 2Гб. Но я думаю, что можно автоматически разбивать rmp файл, как предложено тут: http://sourceforge.net/p/mobac/feature-requests/151/
zed
Гуру
 
Сообщения: 2888
Зарегистрирован: 16 авг 2008, 20:21
Благодарил (а): 89 раз.
Поблагодарили: 568 раз.

Re: Экспорт в формат навигаторов Magellan (.rmp)

Сообщение lunyachek » 08 фев 2016, 02:51

Draude писал(а):Ограничение на слой по любому должно существовать, не факт что в пикселях, а скажем к примеру в количестве тайлов (в JNX как известо 50000 на слой/уровень).

Вы правы, я погорячился. Я не могу что-либо утверждать стопроцентно насчёт максимальных размеров карт для Магелланов, ни в пикселях, ни в тайлах, ни в гигабайтах. Правильнее сказать, что мне не доводилось слышать о каких-то ограничениях. Разве что на одном из форумов один товарищ утверждал, что максимальный размер файла RMP может быть 4 ГБ. Прав он или нет - не знаю, не проверял.

Draude писал(а):Для "облегчения жизни" исполнителям, чтоб не гадать на кофейной гуще, пожалуйста предоставте пример сколь угодно огромной карты, скажем в 52000 тайлов х 256=> 13312000x13312000 пикселей

Я заморочусь делать карту такого огромного размера (если это, конечно, вообще возможно). Самая крупная карта для Магеллана, которую я делал - это карта Карелии (1,36 ГБ): https://cloud.mail.ru/public/6SBU/ULJiwZg8Z
Можете скачать, посмотреть. Это однослойная карта.
А вот ещё одна моя более скромная по размерам (180 МБ), зато двухслойная карта Харькова: https://docs.google.com/file/d/0B3vlk_G ... VYaHc/edit
Скачал SAS Планетой зумы 16 и 18, поменял проекцию и сконвертировал в RMP.

А вообще изготовление огромных карт для Магеллана - дело непрактичное. Большой район можно разбить на несколько меньших, сконвертировать несколько RMP-файлов, и они будут отображаться точно так же, как и один большой RMP-файл на весь этот район. То же самое касается слоёв/зумов/масштабов. Карты разных масштабов можно сделать в виде нескольких отдельных RMP-файлов, а можно слепить их в один RMP-файл. Отображаться будут одинаково. Но если они будут несколькими отдельными файлами, то их можно будет включать-отключать не только все вместе, но и по отдельности.

Draude писал(а):256x256 -пиксельный размер тайла для Магеллана, если Магеллан кушает и другие размеры тайлов, типа как Garmin -предоставте и этот пример

Нет, только 256x256. К тому же только jpg.
lunyachek
Соображающий
 
Сообщения: 61
Зарегистрирован: 04 фев 2016, 13:57
Благодарил (а): 1 раз.
Поблагодарили: 0 раз.

Re: Экспорт в формат навигаторов Magellan (.rmp)

Сообщение lunyachek » 08 фев 2016, 03:30

zed писал(а):Но количество слоёв вроде бы не ограничено

Не совсем понял, что вы подразумеваете под "слоем". У Магеллана любой набор тайлов с определённым масштабом в метрах на пиксель может считаться одним слоем. И количество подобных слоёв с разными масштабами в RMP-файле, похоже, ничем не ограничено. В реальности их нужно максимум 27 штук, если добиваться соответствия линейке масштабов Магеллана (от "3200 км" до "3 м"), что, в принципе, необязательно. В практических целях мне обычно хватает 4-8 слоёв.

P.S. Готовая карта должна представлять собой прямоугольник. Поэтому если где-то не хватает тайлов, программа должна добавлять туда тайлы-заглушки, достраивая карту для прямоугольника. RMPCreator так и делает.

Кстати, можете почитать эту тему: http://travel.org.ua/forums/viewtopic.php?f=21&t=87924
Возможно, найдёте для себя что-то интересное.
Я сам недостаточно разбираюсь в структуре формата RMP. Написал пареньку, который разбирается лучше меня. Но он ответил, что очень занят, и посоветовал списаться с автором программы RMPCreator.

А вот - прога-распаковщик-упаковщик RMP-файлов: https://cloud.mail.ru/public/Ji9H/TZmWRYpvA
Взял отсюда: http://xt.ht/phpbb/viewtopic.php?f=118& ... 0#p1540266
lunyachek
Соображающий
 
Сообщения: 61
Зарегистрирован: 04 фев 2016, 13:57
Благодарил (а): 1 раз.
Поблагодарили: 0 раз.

Re: Экспорт в формат навигаторов Magellan (.rmp)

Сообщение Draude » 08 фев 2016, 09:25

lunyachek писал(а): ...
P.S. Готовая карта должна представлять собой прямоугольник. Поэтому если где-то не хватает тайлов, программа должна добавлять туда тайлы-заглушки, достраивая карту для прямоугольника. RMPCreator так и делает.

Да, формат RMP не допускает физического отсутствия даже однного тайла в слое (по крайней мере VantagePoint на такой карте вылетает с ошибкой) но когда мы работаем с RMPCreator, то нужно понимать, что RMPCreator может создавать в том числе и атлас. (Кстати ваша Карелия в прямом понимании не одослойная карта а целый атлас из 48_ми однослоек одного уровня).
А вот при создании атласа RMPCreator не добавляет тайлы-заглушки между картами в этом атласе.
При этом, входящие в атлас от RMPCreator могут как не стыковаться в плоскости (ввиду наличия свободного пространства между этими картами) так и быть разнесены по уровням разрешения (ибо исходники взяты с Z15, Z17...).
RMP_creator1.gif

Каждая карта, входящая в атлас, это по сути отдельная выделенная область.
И этот присутсутствуюий момент, должен понимать заказчик. SAS работает с одной выделенной областю. И прямого зеркала с RMPCreator не будет.
Скорее всего на выходе максимум файл-атлас (или несколько атласов) с "неограниченным" количеством карт ограниченного размера (возможно до тех же 20000x 20000 каждая отдельная карта в атласе)но из одной выделенной области SAS и соответственно весом, допускаемым файловой системой FAT32 или FAT16 (не знаю че там у Маггеланов).
Draude
Соображающий
 
Сообщения: 82
Зарегистрирован: 28 авг 2009, 02:02
Благодарил (а): 15 раз.
Поблагодарили: 3 раз.

Re: Экспорт в формат навигаторов Magellan (.rmp)

Сообщение zed » 08 фев 2016, 12:52

lunyachek попалось мне на глаза ваше сообщение:
Я знаю, что SAS Планета может экспортировать карту в проекции lat/lon. Но, в отличие от Глобал Маппера, эта карта получается сжатой по вертикали. Если её загнать в RMPCreator, то получим RMP-файл с очень хреновым изображением. Так что это не вариант.

И что-то мне не понятно, почему вам не понравился прямой экспорт в lat/lon и чем полученная картинка отличается от ГлобалМаппера? Вы же учтите, что и при экспорте будет происходить точно такая же смена проекции и если вас результат этой операции почему-то не устраивает, может тогда и экспорт внедрять не стоит?
lunyachek писал(а):Не совсем понял, что вы подразумеваете под "слоем".

Файл .a00 + описание к нему в .tlm, в моём понимании - слой. И .tlm вроде бы должно значить Tile Layer Meta?
Формат TLM закладывает ограничение на количество тайлов в слое - 99*98 = 9702. MOBAC ограничивает себя значением 80 и каждый зум сохраняет в отдельный слой, не учитывая этого лимита. Вот и получается, что максимальное разрешение может быть всего 80 тайлов * 256 pix = 20480 pix, что коррелирует с вашими экспериментами. RMPCreator вообще ограничивается 70-ю, но ему, видимо, физически не хватает памяти, чтобы засунуть такую картинку в один слой, поэтому никто и не пытался это провернуть? В сорцах я там не заметил, чтобы он пытался один снимок разбить на несколько слоёв, при достижении лимита, т.е. действует аналогично Мобаку.
Draude писал(а):Да, формат RMP не допускает физического отсутствия даже однного тайла в слое

Вот, а из этого следует, что в SAS возможны как минимум 2 варианта реализации, при экспорте не прямоугольного выделения:
1. Привести его к прямоугольному и вместо тайлов, не попадающих в оригинальное выделение, писать заглушки.
2. Привести его к прямоугольному, разбить получившийся прямоугольник на N квадратов, с расчётом чтобы квадрат мог быть сохранён в один слой, т.е. например, 64*64 тайла. Затем, каждый квадрат, пересекающийся с оригинальным выделением, записать в отдельный слой, а не пересекающийся проигнорировать.
Вариант 1 проще, но в rmp может попасть много заглушек, вариант 2 сильно сложнее, но в некоторых случаях заглушек может оказаться меньше (чем меньше будет выбран размер квадрата, тем меньше будет количество паразитных заглушек).
zed
Гуру
 
Сообщения: 2888
Зарегистрирован: 16 авг 2008, 20:21
Благодарил (а): 89 раз.
Поблагодарили: 568 раз.

Пред.След.

Вернуться в Внеочередное исполнение хотелок

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1