SASGIS

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

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

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

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

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

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

Сообщение lunyachek » 08 фев 2016, 17:01

zed писал(а):если погрешность в пределах тайла допустима

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

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

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

lunyachek писал(а):А именно, если тайл по высоте будет не больше 10 км (на крайняк, не больше 20 км).

Всё ж зависит от зума. На первом зуме, там вообще вся Земля помещается в один тайл и ни о каких 10-20 километрах речи не идёт. Поэтому и говорю, что надо тестировать. И обращать внимание не на километры, а на пиксели.
lunyachek писал(а):И что делает МОБАК? Он меняет проекцию или нет? Если не меняет, тогда что?

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

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

Сообщение lunyachek » 08 фев 2016, 17:32

zed писал(а):И обращать внимание не на километры, а на пиксели.

Центр карты в проекции Mercator размером примерно 30000х30000 пикселей и 400х400 км будет отличаться от проекции lat/lon где-то на 300 метров.
При более подробном зуме те же 30000х30000 пикселей могут соответствовать, допустим, 10х10 км. Тогда погрешность будет не 300 м, а всего лишь около 5 м.
Пиксели одинаковые - километры разные.
lunyachek
Соображающий
 
Сообщения: 61
Зарегистрирован: 04 фев 2016, 13:57
Благодарил (а): 1 раз.
Поблагодарили: 0 раз.

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

Сообщение Parasite » 08 фев 2016, 17:46

Господа, давайте всё же ближе к озвученной теме? А то такое ощущение, что вам просто пообщаться не с кем.
4 страницы ни о чем.
The only difference between me and a mad man is that I am not mad. /Salvador Dali/
Изображение
Аватара пользователя
Parasite
Администратор
 
Сообщения: 5646
Зарегистрирован: 23 окт 2008, 17:38
Благодарил (а): 124 раз.
Поблагодарили: 512 раз.

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

Сообщение zed » 08 фев 2016, 17:56

Parasite писал(а):4 страницы ни о чем.

Ещё как "о чём". Обсуждаем нюансы формата и как лучше делать.
lunyachek писал(а):Пиксели одинаковые - километры разные.

Т.е. вы уверены, что если писать в RMP строками тайлов без перепроецирования (высота строки 256 пикселей), проблем с точностью не возникнет и всех всё устроит? Если так, то требование, что тайлы должны быть в географической проекции, снимаем.

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

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

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

Parasite писал(а):Господа, давайте всё же ближе к озвученной теме? А то такое ощущение, что вам просто пообщаться не с кем.
4 страницы ни о чем.

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

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

Сообщение lunyachek » 08 фев 2016, 18:09

zed писал(а):Т.е. вы уверены, что если писать в RMP строками тайлов без перепроецоровния (высота строки 256 пикселей), проблем с точностью не возникнет и всех всё устроит? Если так, то требование, что тайлы должны быть в географической проекции, снимаем.

Не на все 100 процентов, но процентов на 99 я уверен, что при таком подходе всё будет окей, и все будут довольны. Если только не делать один RMP-файл на всю Евразию.

zed писал(а):Я просто хочу понять, как и что делать, чтобы потом для вас некоторые вещи не оказались большим сюрпризом, из-за которых экспорт в RMP окажется бесполезен. И желательно, чтобы все, кто будет финансово участвовать в данном вопросе, понимали, как будет реализован экспорт.

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

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

Сообщение Draude » 09 фев 2016, 00:33

zed писал(а): Файл .a00 + описание к нему в .tlm... И .tlm вроде бы должно значить Tile Layer Meta?
....


zed писал(а): ...Но в JNX, на сколько я понимаю, координаты задаются для каждого отдельного тайла, поэтому такой хак проходит. Для RMP же надо задавать координаты группы тайлов, объединённых в слой ...


Размер .tlm_шек зависит от количества тайлов (в файле-контейнере *.A00), возникает вопрос, а не указаны ли там координаты (прямые или не прямые) для каждого из тайлов? (чем больше тайлов =>тем больше инфы=> тем больше размер файла .tlm)
А утилитка
rmptoolsJava.7z
(14.91 KiB) Скачиваний: 119
из ссылки во втором посте, не вычисляет а считывает эти координаты из *.tlm
TLM08.02.gif
Draude
Соображающий
 
Сообщения: 82
Зарегистрирован: 28 авг 2009, 02:02
Благодарил (а): 15 раз.
Поблагодарили: 3 раз.

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

Сообщение zed » 09 фев 2016, 00:43

Draude писал(а):возникает вопрос, а не указаны ли там координаты (прямые или не прямые) для каждого из тайлов?

Нет, там координаты углов для всего набора тайлов. Со структурой кажется более-менее разобрался:
Код: Выделить всё
  .RMP file structure:

  4 bytes           - Number of Entries
  4 bytes           - Number of Entries

  24*N bytes        - Entries Meta:
    --- Entry Meta Start ---
    9 bytes         - Entry File Name: 8 chars + #0
    7 bytes         - Entry File Ext: 6 chars + #0
    4 bytes         - Entry Data Offset
    4 bytes         - Entry Data Size
    --- Entry Meta End ---

  2 bytes           - ?? MOBAC write checksum / RMPCreator write 0xE5E5

  8 bytes           - 'MAGELLAN' chars
  22 bytes          - 0x00 - Reserved
  XX bytes          - Entries Data (every entry aligned by 2 bytes (!))
  8 bytes           - 'MAGELLAN' chars

  2 bytes           - ?? MOBAC write checksum / RMPCreator write chars '};'

********************************************************************************

  .A00 file structure:

  4 bytes           - Number of Tiles
  ZZ*N bytes        - Tiles:
    --- Tile Start ---
    4 bytes         - Tile Size
    XX bytes        - Tile Data
    --- Tile End ---

********************************************************************************

  .TLM file structure:

0x00000000 (0):

      4 bytes           - 0x01 - Start of block
      4 bytes           - Total Number of Tiles
      2 bytes           - 256 - Height of tile in pixel
      2 bytes           - 256 - Width of tile in pixel

0x0000000C (+12 (+0x0C)):

      4 bytes           - 0x01 - Start of block
      8 bytes (float)   - Height of tile in degree (degree/pix)
      8 bytes (float)   - Width  of tile in degree (degree/pix)
      8 bytes (float)   - Left (Long)
      8 bytes (float)   - Top (Lat)
      8 bytes (float)   - Right (Long)
      8 bytes (float)   - Bottom (Lat)
      88 bytes          - 0x00 - Reserved

0x00000098 (+140 (+0x8C) -> 152):

      2 bytes           - 0x0001 (256)  - ??
      2 bytes           - 0x0000        - ??
      4 bytes           - TLM file size
      96 bytes          - 0x00 - Reserved

0x00000100 (+104 (+0x68) -> 256):

      4 bytes           - 0x01 - Start of block
      4 bytes           - 0x63 (99) - Number of tiles per block (?? Max blocks count)
      4 bytes           - First block offset (0x0F5C if no index block or 0x1724 if it is)
      3920 bytes        - 0x00 - Reserved

0x0000105C (+3932 (+0x0F5C) -> 4188):

      0x07C8 bytes      - First block with tiles meta
        --- Block Start ---
        4 bytes         - Number of tiles meta in this block
        2 bytes         - Number of tiles meta in this block
        2 bytes         - ?? Block ID
        16*N bytes      - Tiles Meta:
          --- Tile Meta Start ---
          4 bytes       - X
          4 bytes       - Y
          4 bytes       - 0x00 - Reserved
          4 bytes       - Tile Offset in .A00 file
          --- Tile Meta End ---
        --- Block End ---

  Index present only if file contain more then 1 block with data. It always
  placed as second block:

0x00001824 (+1992 (+0x07C8) -> 6180):

      1992 (0x07C8) bytes - Index:

        --- Index Block Start ---
        4 bytes          - Total Number of Tiles
        4 bytes          - Total Number of blocks with data

        16*99 bytes      - Meta of first tile in each block with data (max 99 records):
          --- Tile Meta Start (same as in blocks with data) ---
          4 bytes       - X
          4 bytes       - Y
          4 bytes       - 0x00 - Reserved
          4 bytes       - Tile Offset in .A00 file
          --- Tile Meta End ---

        (+1592 (+0x0638)):

        4*99 bytes      - Offsets of bloks with data (max 99 records)
        --- Index Block End ---

  Then follows blocks with data + 2 empty blocks (or just 2 empty blocks if
  there is only one block with data).

За это сообщение автора zed поблагодарил:
Draude (09 фев 2016, 09:54)
Рейтинг: 5.26%
 
zed
Гуру
 
Сообщения: 2888
Зарегистрирован: 16 авг 2008, 20:21
Благодарил (а): 89 раз.
Поблагодарили: 568 раз.

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

Сообщение lunyachek » 09 фев 2016, 00:56

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

Пред.След.

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

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

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