SASGIS

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

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

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

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

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

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

Сообщение Draude » 20 фев 2016, 10:55

lunyachek писал(а):....
Как я уже сказал выше, карта, сделанная из одного зума, в отсутствие других карт мерцать не будет. Но фишка Магелланов как раз и состоит в одновременном использовании нескольких карт, в том числе и разных масштабов. Поэтому хочется уменьшить мерцание....

хочется уменьшить мерцание. на компе в VantagePoint или на девайсе ?
Но фишка :? Магелланов как раз и состоит в одновременном использовании нескольких карт, в том числе и разных масштабов Магеллан©2016
Draude
Соображающий
 
Сообщения: 82
Зарегистрирован: 28 авг 2009, 02:02
Благодарил (а): 15 раз.
Поблагодарили: 3 раз.

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

Сообщение zed » 20 фев 2016, 11:49

lunyachek писал(а):Дело в том, что мерцание бывает только при определённых условиях

Мерцают карты только в Меркаторе или и в Географической поведение аналогичное? Тогда и там надо делать по несколько строк на слой?
zed
Гуру
 
Сообщения: 2888
Зарегистрирован: 16 авг 2008, 20:21
Благодарил (а): 89 раз.
Поблагодарили: 568 раз.

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

Сообщение lunyachek » 20 фев 2016, 20:11

Рассказываю кратко, пока есть свободная минутка.

По украинскому языку я посмотрю по вашим ссылкам, когда будет больше свободного времени.
Поля Product и Provider переводить не надо, и так понятно.

О мерцании. Мерцание видно и в навигаторе, и в Vantage Point. Причём только в Меркаторе. В географической проекции всё нормально.

Ночью тестировал ваши сборки, дающие строки по 8/16/32/64/128 тайлов. Успел просмотреть только в Vantage Point, потом меня сморил сон, и в навигатор перекинуть я не успел. В навигаторе буду смотреть сегодня. Но по опыту скажу, что будет то же самое, что и в Vantage Point.
Итак, небольшое мерцание (гораздо меньшее, чем при строках в один тайл) наблюдается при 8 и 16 тайлах. При 32, 64 и 128 тайлах мерцания нет.

Что интересно, сдвига по координатам я тоже не заметил. А ведь, по идее, при строках в 128 тайлов небольшой сдвиг должен был бы быть. И тут я вспомнил, что вы писали, что по сути сделали в Меркаторе псевдогеографическую проекцию по аналогии с Глобал Маппером. Так если это действительно так, то, возможно, и разбиение на строки не нужно? Оно ведь делалось для точной привязки Меркатора. А если получился результат как в Глобал Маппере, то тамошняя "географическая" проекция с неквадратными пикселями совпадает с координатами без всякой нарезки на строки.

Поэтому я сейчас думаю: то ли сделать экспорт в Меркаторе без нарезки на строки, то ли резать на строки в 32 тайла (мерцания при этом не наблюдается).

И ещё одна мысль: если, похоже, получается сделать Меркатор без мерцания, то нафига тогда возможность экспорта в географической проекции? Может, её вообще убрать? Она ведь даёт картинку худшего качества.

Сегодня вечером-ночью для пущей уверенности просмотрю карты со строками в 8/16/32/64/128 тайлов ещё и в навигаторе. О результате отпишусь.
lunyachek
Соображающий
 
Сообщения: 61
Зарегистрирован: 04 фев 2016, 13:57
Благодарил (а): 1 раз.
Поблагодарили: 0 раз.

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

Сообщение zed » 20 фев 2016, 20:55

lunyachek писал(а):Оно ведь делалось для точной привязки Меркатора.

Чем больше тайлов в строке, тем хуже качество в верхней и нижней части экспортируемой области (идёт более сильное сжатие/растяжение картинки). Если строка в 1 тайл, то трансформаций изображения практически нет, именно такая и была задумка - без трансформации и с максимальной точностью. Но из-за мерцания и увеличения числа тайлов в строке, приходится прибегать к трансформациям в угоду точности (в отличии от RMPCreator, где нет трансформации, но точность страдает).
lunyachek писал(а):Поэтому я сейчас думаю: то ли сделать экспорт в Меркаторе без нарезки на строки, то ли резать на строки в 32 тайла (мерцания при этом не наблюдается).

Э.. что-то вы не понимаете немного сути. Запись ведётся в любом случае тайлами. Поскольку в rmp в слое (в файле .a00) должно быть не более определённого числа тайлов и они должны покрывать прямоугольную область без пропусков, выделенную область в SAS приходится обрабатывать особым образом, чтобы получить валидный rmp. И этот особый способ - запись тайлов строками. Если мы говорим, что будет строка из 32-х тайлов (к примеру), то это значит, что колонка тайлов высотой в 32 штуки будет последовательно записываться в rmp слой. Если вдруг вся колонка не может быть записана в слой из-за достижения лимита тайлов, то она целиком будет записана в следующий слой. Тут крайне важно, не разбивать эту колонку на несколько слоёв. Иначе получится невалидный rmp. Если в пользовательском выделении по высоте было больше, чем 32 тайлов, то берётся следующая колонка в 32 тайла или менее, если мы в самом низу выделения. Может оказаться, что последняя колонка будет в 1 или 5 тайлов. Тут уж как получится. Соответственно, если выделение будет меньше 32-х тайлов в высоту, то оно целиком будет представлять из себя строку. Поэтому мерцать могут нижние края экспортируемой области или область целиком, если она слишком низкая.

Если на 32-х тайлах всё ОК, то можем так и сделать. Мне в коде нужно будет поменять всего одну константу (сейчас в ночнушке стоит 8). Но от граничных случаев страховки нет.

lunyachek писал(а):И ещё одна мысль: если, похоже, получается сделать Меркатор без мерцания, то нафига тогда возможность экспорта в географической проекции?

Ну а если тайлы в кэше уже будут в географической проекции, зачем их лишний раз конвертировать в Меркатора? Более того, вот ещё только вчера, юзер под ником flywire интересовался через ЛС, а почему нет такой опции, чтобы тайлы в подходящей проекции загонять без пережатия. Товарищ англоговорящий и через гуглотранслейт он не разобрал, что я писал про эту функцию и что она уже работает абсолютно автоматически. Поэтому убивать функционал, который реализован по всем канонам rmp формата и не подвержен мерцаниям и глюкам, я не вижу смысла и категорически против.
zed
Гуру
 
Сообщения: 2888
Зарегистрирован: 16 авг 2008, 20:21
Благодарил (а): 89 раз.
Поблагодарили: 568 раз.

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

Сообщение zed » 20 фев 2016, 21:40

В общем, жду конкретной циферки с количеством тайлов на строку и считаем заказ исполненным? Что-то как-то затянулся процесс.
zed
Гуру
 
Сообщения: 2888
Зарегистрирован: 16 авг 2008, 20:21
Благодарил (а): 89 раз.
Поблагодарили: 568 раз.

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

Сообщение zed » 20 фев 2016, 22:05

Хотя, я тут подумал, что если туда вписать число 4830 то получится всего 1 колонка тайлов на слой. Маловероятно, что кто-то будет экспортировать такие огромные области, что она не влезет в это число и её придётся разбивать, и тогда действительно получится, что нарезки на строки не будет (будет нарезка на колонки :) ), и будет максимум всего одна строка на слой. Но такой подход будет требователен к памяти (колонка тайлов до записи в слой подготавливается и хранится в памяти) и качество картинки будет зависеть от размеров выделенной области.

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

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

Сообщение lunyachek » 21 фев 2016, 04:46

Спасибо за информацию, всё более-менее понятно.
Я думаю, нужно остановиться на высоте строк в 128 тайлов. Тестировал карты, сделанные вашей сборкой, дающей 128 тайлов в строке. Картинка нормальная, и в центре, и по краям. С координатами совпадает. Мерцание тайлов, насколько я понял в ходе всех моих экспериментов последних дней, наблюдается на границе строк. 128 тайлов - это 32768 пикселей. С таким интервалом будет наблюдаться мерцание. То есть, на многих не слишком больших картах вообще не будет никакого мерцания. А если сделать весьма крупную карту размером где-то 100000х100000 пикселей (редко кто будет делать более крупную), то мерцание будет наблюдаться в 2-4 местах, что совсем немного, учитывая размеры карты.

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

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

Сообщение lunyachek » 21 фев 2016, 04:57

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

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

Сообщение zed » 21 фев 2016, 11:07

lunyachek писал(а):В общем, делайте ночнушку с высотой строк 128 тайлов. Как только сообщите, что сделали, я подтвержу исполнение заказа.

Сделал: https://bitbucket.org/sas_team/sas.plan ... 1c3fea0a2e

Кроме того, теперь будет использоваться один и тот же алгоритм ресайза при перепроецировании в Географическую проекцию и при трансформировании тайлов в Меркаторе (Параметры - Настройки - Внешний вид - "При смене проекции слоя").

Так же, заблокировал зумы 1 и 2, так что экспорт теперь доступен начиная с 3-го.
zed
Гуру
 
Сообщения: 2888
Зарегистрирован: 16 авг 2008, 20:21
Благодарил (а): 89 раз.
Поблагодарили: 568 раз.

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

Сообщение zed » 21 фев 2016, 11:13

lunyachek писал(а):И, пожалуйста, добавьте в украинскую локализацию фразу "Не трансформувати тайли в географічну проекцію".

https://bitbucket.org/sas_team/sas.tran ... 0229c31b7e
zed
Гуру
 
Сообщения: 2888
Зарегистрирован: 16 авг 2008, 20:21
Благодарил (а): 89 раз.
Поблагодарили: 568 раз.

Пред.След.

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

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

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