Jnx чем открыть на компьютере
JNX file extension is associated with Garmin GPS devices. JNX files store raster maps used by the BirdsEye subscription-based service.
JNX maps are divided into rectangular parts to optimize map rendering process. The maps can be used even if the subscription has ended. JNX files are saved in GarminBirdsEye folder on the devices’ internal memory or external memory card.
Расширение файла JNX связано с GPS-устройствами Garmin. В файлах JNX хранятся растровые карты, используемые службой на основе подписки BirdsEye.
Программа(ы), умеющие открыть файл .JNX
Windows
Как открыть JNX файлы
Если появилась ситуация, в которой Вы не можете открыть файл JNX на своем компьютере - причин может быть несколько. Первой и одновременно самой важной (встречается чаще всего) является отсутствие соответствующей аппликации обслуживающей JNX среди установленных на Вашем компьютере.
Самым простым способом решения этой проблемы является нахождение и скачивание соответствующей аппликации. Первая часть задания, уже выполнена, - программы для обслуживания файла JNX Вы найдете ниже. Теперь достаточно скачать и установить соответствующую аппликацию.
В дальнейшей части этой страницы Вы найдете другие возможные причины, вызывающие проблемы с файлами JNX.
Возможные проблемы с файлами в формате JNX
Отсутствие возможности открытия и работы с файлом JNX, совсем не должен значить, что мы не имеем установленного на своем компьютере соответствующего программного обеспечения. Могут выступать другие проблемы, которые также блокируют нам возможность работы с файлом Garmin Raster Map. Ниже находится список возможных проблем.
- Повреждение открываемого файла JNX.
- Ошибочные связи файла JNX в записях реестра.
- Случайное удаление описания расширения JNX из реестра Windows
- Некомплектная установка аппликации, обслуживающей формат JNX
- Открываемый файл JNX инфицирован нежелательным, вредным программным обеспечением.
- На компьютере слишком мало места, чтобы открыть файл JNX.
- Драйверы оборудования, используемого компьютером для открытия файла JNX неактуальные.
Если Вы уверены, что все перечисленные поводы отсутствуют в Вашем случае (или были уже исключены), файл JNX должен сотрудничать с Вашими программами без каких либо проблем. Если проблема с файлом JNX все-таки не решена, это может значить, что в этом случае появилась другая, редкая проблема с файлом JNX. В таком случае остается только помощь специалиста.
Похожие расширения
.aeu | Microsoft AutoRoute Express Europe Route |
.alg | ER Mapper Algorithm |
.arcinfo | ArcInfo Info |
.asrp | Arc Standard Raster Product |
.axg | Microsoft AutoRoute Trip |
.bds | Cadcorp SIS Base Dataset |
.bdy | DMAP Boundary |
.bgd | ESRI Binary Raster Definition |
Как связать файл с установленной программой?
Если Вы хотите связать какой-то файл с новой программой (напр. moj-plik.JNX) Вы можете воспользоваться двумя вариантами. Первый и самый простой - это нажатие правой кнопкой мышки на избранный файл JNX. Из открытого меню выберите опцию Выбрать программу по умолчанию", затем опцию "Пересматривать" и найти требуемую программу. Всю операцию необходимо утвердить нажатием кнопки OK.
Есть ли универсальный метод открытия неизвестных файлов?
Многие файлы содержат данные в виде текста или чисел. Возможно, что во время открытия неизвестных файлов (напр. JNX) популярный в системе Windows простой редактор текста, которым является Notatnik позволит нам увидеть часть данных, закодированных в файле. Этот метод позволяет просмотреть содержимое многих файлов, однако не в такой форме, как программа, предназначенная для их обслуживания.
Программы, которые поддерживают JNX расширение файла
Ниже приведена таблица со списком программ, которые поддерживают JNX файлы. Файлы с расширением JNX, как и любые другие форматы файлов, можно найти в любой операционной системе. Указанные файлы могут быть переданы на другие устройства, будь то мобильные или стационарные, но не все системы могут быть способны правильно обрабатывать такие файлы.
Программы, обслуживающие файл JNX
Как открыть файл JNX?
Отсутствие возможности открывать файлы с расширением JNX может иметь различное происхождение. С другой стороны, наиболее часто встречающиеся проблемы, связанные с файлами Garmin Raster Map, не являются сложными. В большинстве случаев они могут быть решены быстро и эффективно без помощи специалиста. Приведенный ниже список проведет вас через процесс решения возникшей проблемы.
Шаг 1. Получить MAPC2MAPC
Проблемы с открытием и работой с файлами JNX, скорее всего, связаны с отсутствием надлежащего программного обеспечения, совместимого с файлами JNX на вашем компьютере. Решение простое, просто скачайте и установите MAPC2MAPC. В верхней части страницы находится список всех программ, сгруппированных по поддерживаемым операционным системам. Самый безопасный способ загрузки MAPC2MAPC установлен - для этого зайдите на сайт разработчика (MAPC2MAPC team) и загрузите программное обеспечение, используя предоставленные ссылки.
Шаг 2. Проверьте версию MAPC2MAPC и обновите при необходимости
Вы по-прежнему не можете получить доступ к файлам JNX, хотя MAPC2MAPC установлен в вашей системе? Убедитесь, что программное обеспечение обновлено. Может также случиться, что создатели программного обеспечения, обновляя свои приложения, добавляют совместимость с другими, более новыми форматами файлов. Это может быть одной из причин, по которой JNX файлы не совместимы с MAPC2MAPC. Все форматы файлов, которые прекрасно обрабатывались предыдущими версиями данной программы, также должны быть открыты с помощью MAPC2MAPC.
Шаг 3. Свяжите файлы Garmin Raster Map с MAPC2MAPC
После установки MAPC2MAPC (самой последней версии) убедитесь, что он установлен в качестве приложения по умолчанию для открытия JNX файлов. Следующий шаг не должен создавать проблем. Процедура проста и в значительной степени не зависит от системы
Выбор приложения первого выбора в Windows
- Щелкните правой кнопкой мыши на файле JNX и выберите « Открыть с помощью опцией».
- Нажмите Выбрать другое приложение и затем выберите опцию Еще приложения
- Последний шаг - выбрать опцию Найти другое приложение на этом. указать путь к папке, в которой установлен MAPC2MAPC. Теперь осталось только подтвердить свой выбор, выбрав Всегда использовать это приложение для открытия JNX файлы и нажав ОК .
Выбор приложения первого выбора в Mac OS
Шаг 4. Убедитесь, что JNX не неисправен
Если проблема по-прежнему возникает после выполнения шагов 1-3, проверьте, является ли файл JNX действительным. Отсутствие доступа к файлу может быть связано с различными проблемами.
1. JNX может быть заражен вредоносным ПО - обязательно проверьте его антивирусом.
Если файл заражен, вредоносная программа, находящаяся в файле JNX, препятствует попыткам открыть его. Сканируйте файл JNX и ваш компьютер на наличие вредоносных программ или вирусов. Если файл JNX действительно заражен, следуйте инструкциям ниже.
2. Проверьте, не поврежден ли файл
3. Проверьте, есть ли у пользователя, вошедшего в систему, права администратора.
Иногда для доступа к файлам пользователю необходимы права администратора. Переключитесь на учетную запись с необходимыми привилегиями и попробуйте снова открыть файл Garmin Raster Map.
4. Убедитесь, что в системе достаточно ресурсов для запуска MAPC2MAPC
5. Проверьте, есть ли у вас последние обновления операционной системы и драйверов
Современная система и драйверы не только делают ваш компьютер более безопасным, но также могут решить проблемы с файлом Garmin Raster Map. Возможно, что одно из доступных обновлений системы или драйверов может решить проблемы с файлами JNX, влияющими на более старые версии данного программного обеспечения.
Вы хотите помочь?
Если у Вас есть дополнительная информация о расширение файла JNX мы будем признательны, если Вы поделитесь ею с пользователями нашего сайта. Воспользуйтесь формуляром, находящимся здесь и отправьте нам свою информацию о файле JNX.
Файлы в формате JNX используются в устройствах Garmin для показа спутниковых карт, доступных через подписку BirdsEye. В навигаторах эти файлы располагаются в папке Garmin\BirdsEye на внутреннем диске или SD-карточке.
JNX - так называемый тайловый формат, то есть большое растровое изображение в карте разбито на меньшие прямоугольные части для ускорения показа навигатором.
Поддержка карт JNX имеется в следующих устройствах: Alpha 100, Astro 320, Colorado 300/400, Dakota 10/20, Edge 800, Etrex 20/30, GPSMAP 62/78, Montana 600/650, Oregon 200/300/400/450/550, Rino 610/650/655.
Существенным ограничением формата JNX является жесткая привязка карт к устройству.
Результаты исследования
Формат JNX почти полностью исследован (за исключением части блока служебных данных загрузчика, которой можно вполне пренебречь при создании собственных карт).
Разработан набор утилит как для преобразования растровых карт в формат JNX, так и для обратной конвертации.
Хотя файлы в формате JNX содержат код привязки к устройству, известны два способа использования собственных карт JNX в навигаторах Garmin.
Первый способ.
Можно пропатчить прошивку устройства таким образом, чтобы снять ограничение на количество показываемых демонстрационных карт и их площадь. Патчер можно скачать отсюда (последняя версия - 3.80 от 03.05.2019; список изменений, на английском; список поддерживаемых прошивок).
Инструменты.
Последние версии программы MAPC2MAPC поддерживают сохранение карт в формате JNX. Автор MAPC2MAPC также сделал программу mobat2jnx для преобразования сохраненных тайлов в формате OSMTracker Tile Storage (можно сделать в Mobile Atlas Creator) в JNX.
Кроме того, имеется работающий из командной строки конвертер map2jnx, основанный на GDAL, который можно использовать для преобразования файлов в формате GeoTIFF и других в карты JNX. Последняя версия конвертера устанавливается вместе с программой QLandkarte GT 1.6.0 и старше. Эта версия создает только JNX-карты версии 4 (см. ниже), поддерживающие порядок отрисовки, но требующие установки прошивок, выпущенных позже марта 2011 года.
Для скачивания также доступна версия 0.2.5 (использует пакет FWTools) и версия 0.2.3 (последняя, записывающая JNX-файлы версии 3).
Сохранение в формат JNX имеется в программе OkMap версии 9.7.0 и старше.
Экспорт в многоуровневые JNX реализован также в SAS.Планете, начиная с версии 120808.
Кроме того, поддержка сохранения в формат JNX была добавлена в 14 версии Global Mapper.
Важное замечание: прошивки, вышедшие в марте 2011 года (то есть, 2.93 для GPSMAP 62/78, 4.16 для Oregon, 4.45 для Oregon x50, и 4.01 для Dakota) и позже, совместимы только с картами, сделанными в MAPC2MAPC версии 445 и выше, mobat2jnx версии 1008 и выше, а также map2jnx версии 0.2.0 и выше. Карты, сделанные в предыдущих версиях этих программ в большинстве случаев вызывают зависание устройства при загрузке. Чтобы преобразовать старые карты JNX в совместимый с новыми прошивками формат, можно воспользоваться программой JNXFixer.
Для просмотра файлов JNX можно использовать, к примеру, QLandkarte GT версии 1.0.0 и старше, QMapShack, GPXSee.
Библиотека для работы с картами JNX на Delphi/FreePascal доступна здесь.
JNXLib была откомпилирована в виде DLL, которую можно использовать в проектах на MS Visual C++. Архив, содержащий 32х- и 64х- разрядные версии DLL, а также файлы для подключения к проектам на MSVC, находится здесь.
Форумы.
Основная англоязычная тема, посвященная исследованию формата, размещению ссылок на инструменты для преобразования в и из формата JNX и т.д, находится здесь.
Неплохой ЧАВО по созданию карт JNX (при помощи GlobalMapper и MAPC2MAPC), на русском.
Более упорядоченный вариант того же ЧАВО, содержит инструкции по созданию карт при помощи SAS.Планеты.
А здесь пошаговая инструкция по преобразованию космоснимков, скачанных при помощи SAS.Planet, в JNX (используются GlobalMapper и map2jnx); также на русском.
Устройство файлов JNX
Внутренняя структура файлов JNX
Описание формата получено в результате экспериментов с файлами JNX, полученными от добровольцев.
1. Заголовок
-
0 - BirdsEye
2 - BirdsEye Select EIRE
3 - BirdsEye Select Deutschland
4 - BirdsEye Select Great Britain
5 - BirdsEye Select France
6 - BirdsEye Select Kompass - Switzerland
7 - BirdsEye Select Kompass - Austria + East Alps
8 - USGS Quads (BirdsEye TOPO, U.S. and Canada)
9 - NRC TopoRama (BirdsEye TOPO, U.S. and Canada)
Те же версии прошивок вводят поддержку 4й версии формата JNX, позволяющей указывать порядок отрисовки карт JNX. Порядок отрисовки используюется таким же образом, как поле DrawOrder в картах Custom Maps. Поддержка карт 4й версии JNX доступна в BaseCamp версии 3.2 и выше.
О координатах, используемых в файлах JNX.
Координаты хранятся в виде знаковых 4х-байтовых целых чисел. Две пары чисел описывают координаты двух углов карты.
Первая пара - верхний правый (то есть северо-восточный) угол, вторая - нижний левый (юго-западный).
Первым значением в паре идет широта, вторым - долгота.
Для получения координат эти целые числа нужно разделить на 0x7fffffff, а потом умножить на 180.
Пример. Допустим, в файле указаны координаты 0x1FCD7932, 0x1ADEBDDA. После преобразования получаем координаты N 44°43'20.81", E 37°47'9.80".
Автор программы MAPC2MAPC предполагает, что в файлах JNX используется проекция Latitude/Longitude.
Эксперименты показывают, что демонстрационные карты могут отображать не более 1 кв. км. (приблизительно), в противном случае устройство откажется их загружать.
Вычисление CRC32 в заголовке.
Для вычисления значения поля CRC32 нужно последовательно пробежаться по описаниям всех тайлов карты, взять из них первые 2 координаты (т.е. первые 8 байтов для каждого тайла) и вычислить CRC32 для буфера, составленного из этих координат.
2. Таблица описания уровней
Эта таблица всегда находится сразу после заголовка файла.
В таблице ниже приведены значения масштаба, начиная с которых уровни карт JNX показываются на том или ином уровне приближении в устройстве.
Строчка 80m - 209 означает, что при установке в устройстве приближения 80m будут показаны тайлы уровней со значениями масштабов 209 и больше.
В том случае, если в прибор загружаются карты JNX с различными значениями масштабов, и тайлы уровней с различными масштабами оказываются одновременно видимыми, тайлы с бОльшими значениями масштаба отключаются.
Чтобы избежать взаимного отключения слоев карт разработчикам программ преобразования в JNX рекомендуется использовать следующие значения масштабов для соответствующих уровней: 75, 149, 298, 597, 1194, 2388, 4777, 9554, 19109, 38218, 76437, 152877, 305758, 611526, 1223072, 2446184 (этот набор представляет собой расширение стандартного списка значений, используемых в картах BirdsEye). Промежуточные значения предполагается заменять на ближайшее из этого набора.
3. Служебная информация загрузчика карт
Эта часть файла JNX не используется для отрисовки карты как таковой. Этот блок переменной длины состоит из списка URL'ов, с которых были получены тайлы, а также уникальный идентификатор карты и копирайты.
Этот блок следует за таблицей описания уровней и всегда до таблицы описания тайлов. В редких случаях между таблицей описания уровней и блоком служебной информации записана сигнатура файла.
Начиная с версий прошивок, выпущенных в марте 2011 года, некоторые части этого блока необходимы для корректной загрузки карты и выводятся в меню настроек карты.
4. Таблица описания тайлов
5. Сигнатура
Блок длиной 0x314 (788) байтов. Здесь хранится код привязки JNX к устройству.
Блок с сигнатурой обычно расположен между последним элементом в таблице описания тайлов и перед первым изображением тайла.
Состоит из небольшого заголовка и зашифрованной основной части.
Судя по всему, используется асимметричная схема шифрования, аналогичная той, что применяется в GMA-сертификатах карт (Garmin Map Activation), введенных в новых устройствах.
Сигнатура генерируется сервером на основании координат карты, числа уровней и ID'а устройства.
6. Набор тайлов
Тайлы представляют собой обычные рисунки в формате JPG, из которых выкушены маркеры SOI (то есть начальные два байта 0xFF, 0xD8).
Большая часть рисунков в картах BirdsEye имеют разрешение 256 на 256 пикселей. Поддерживаются рисунки и большего размера. Устройства способны показывать тайлы с размером до 1 мегапикселя, при выходе размеров за этот предел производится автоматическое уменьшение картинки с потерей качества.
Судя по всему, отдельные изображения могут быть использованы для отрисовки более, чем одного тайла (в случае одинакового содержимого тайлов), что может позволить уменьшить размер файла. В этом случае количество изображений в карте будет меньше числа тайлов. Данная возможность не проверялась на практике.
7. Метка конца файла
Все файлы JNX завершаются строкой "BirdsEye" (0x42, 0x69, 0x72, 0x64, 0x73, 0x45, 0x79, 0x65 - в 16-ричном виде).
Нетривиальное использование формата
"Многотомные" карты
Хотя формат JNX допускает не более 50000 тайлов на каждом уровне, есть способ обхода этого ограничения, условно называющийся "многотомными" JNX.
Заключается он в том, что уровни с бОльшим количеством тайлов сохраняются в отдельных файлах, уровни которых содержат не более 50000 тайлов. Координаты в заголовках каждого файла при этом соответствуют реальным координатам сохраненных в них тайлов.
Пример. Допустим, требуется записать в файл формата JNX 3х-уровневую карту, на первом уровне которой 10000 тайлов, на втором - 40000, а на третьем - 160000 тайлов. В этом случае создается 4 файла: 3х-уровневый с 10000 тайлами на первом уровне, 40000 тайлами на втором и 50000 на третьем; и три одноуровневых - два по 50000 тайлов, и еще один с оставшимися 10000 тайлами.
Насколько известно автору, создание многотомных карт пока поддерживается только в программе SAS.Планета.
Нижнее ограничение на видимость уровня
В картах JNX имеется только верхнее ограничение на уровни приближения, при которых показывается тот или иной уровень карты. Скажем, если в заголовке уровня JNX прописано значение масштаба 76437, то тайлы этого уровня будут показываться при зумах от 20км до 5м. А вот возможности явно указать, что уровень должен отключаться, скажем, при достижении приближения в 1,2 км (то есть задать нижнее ограничение), форматом не предусматривается.
Однако есть неявный способ введения подобного ограничения, предложенный пользователем aabbcc форума gpsunderground.
Чтобы отключить карту ниже некоторого приближения, требуется создать в карте еще один слой с нужным значением масштаба (для зума 1,2км это будет 4777), содержащий единственный тайл с координатами, не пересекающимися с координатами карты.
Естественно, карта, в которую добавляется новый ограничивающий уровень, может содержать не более четырех обычных уровней.
В качестве изображения тайла может быть использована однопиксельная картинка, либо можно записать в файл ссылку на первый тайл из первого уровня карты.
Координаты можно взять равными, скажем, 90N, 180E - это предпочтительный вариант, однако для него потребуется доделка имеющихся на сегодняшний день конвертеров. А можно просто использовать в качестве координат тайла координаты одного из углов карты - такой способ можно применять даже с доступными сейчас программами.
Насколько известно автору, добавление ограничения видимости реализовано только в программе SAS.Планета.
Обе описанные выше техники являются экспериментальными.
Взаимодействие многотомных карт и карт с нижними ограничениями с соседними картами не исследовалось.
Пока всё.
Если у вас есть комментарии или дополнения по формату JNX, напишите, пожалуйста, автору.
Файлы в формате JNX используются в устройствах Garmin для показа спутниковых карт, доступных через подписку BirdsEye. В навигаторах эти файлы располагаются в папке Garmin\BirdsEye на внутреннем диске или SD-карточке.
JNX - так называемый тайловый формат, то есть большое растровое изображение в карте разбито на меньшие прямоугольные части для ускорения показа навигатором.
Поддержка карт JNX имеется в следующих устройствах: Alpha 100, Astro 320, Colorado 300/400, Dakota 10/20, Edge 800, Etrex 20/30, GPSMAP 62/78, Montana 600/650, Oregon 200/300/400/450/550, Rino 610/650/655.
Существенным ограничением формата JNX является жесткая привязка карт к устройству.
Результаты исследования
Формат JNX почти полностью исследован (за исключением части блока служебных данных загрузчика, которой можно вполне пренебречь при создании собственных карт).
Разработан набор утилит как для преобразования растровых карт в формат JNX, так и для обратной конвертации.
Хотя файлы в формате JNX содержат код привязки к устройству, известны два способа использования собственных карт JNX в навигаторах Garmin.
Первый способ.
Можно пропатчить прошивку устройства таким образом, чтобы снять ограничение на количество показываемых демонстрационных карт и их площадь. Патчер можно скачать отсюда (последняя версия - 3.80 от 03.05.2019; список изменений, на английском; список поддерживаемых прошивок).
Инструменты.
Последние версии программы MAPC2MAPC поддерживают сохранение карт в формате JNX. Автор MAPC2MAPC также сделал программу mobat2jnx для преобразования сохраненных тайлов в формате OSMTracker Tile Storage (можно сделать в Mobile Atlas Creator) в JNX.
Кроме того, имеется работающий из командной строки конвертер map2jnx, основанный на GDAL, который можно использовать для преобразования файлов в формате GeoTIFF и других в карты JNX. Последняя версия конвертера устанавливается вместе с программой QLandkarte GT 1.6.0 и старше. Эта версия создает только JNX-карты версии 4 (см. ниже), поддерживающие порядок отрисовки, но требующие установки прошивок, выпущенных позже марта 2011 года.
Для скачивания также доступна версия 0.2.5 (использует пакет FWTools) и версия 0.2.3 (последняя, записывающая JNX-файлы версии 3).
Сохранение в формат JNX имеется в программе OkMap версии 9.7.0 и старше.
Экспорт в многоуровневые JNX реализован также в SAS.Планете, начиная с версии 120808.
Кроме того, поддержка сохранения в формат JNX была добавлена в 14 версии Global Mapper.
Важное замечание: прошивки, вышедшие в марте 2011 года (то есть, 2.93 для GPSMAP 62/78, 4.16 для Oregon, 4.45 для Oregon x50, и 4.01 для Dakota) и позже, совместимы только с картами, сделанными в MAPC2MAPC версии 445 и выше, mobat2jnx версии 1008 и выше, а также map2jnx версии 0.2.0 и выше. Карты, сделанные в предыдущих версиях этих программ в большинстве случаев вызывают зависание устройства при загрузке. Чтобы преобразовать старые карты JNX в совместимый с новыми прошивками формат, можно воспользоваться программой JNXFixer.
Для просмотра файлов JNX можно использовать, к примеру, QLandkarte GT версии 1.0.0 и старше, QMapShack, GPXSee.
Библиотека для работы с картами JNX на Delphi/FreePascal доступна здесь.
JNXLib была откомпилирована в виде DLL, которую можно использовать в проектах на MS Visual C++. Архив, содержащий 32х- и 64х- разрядные версии DLL, а также файлы для подключения к проектам на MSVC, находится здесь.
Форумы.
Основная англоязычная тема, посвященная исследованию формата, размещению ссылок на инструменты для преобразования в и из формата JNX и т.д, находится здесь.
Неплохой ЧАВО по созданию карт JNX (при помощи GlobalMapper и MAPC2MAPC), на русском.
Более упорядоченный вариант того же ЧАВО, содержит инструкции по созданию карт при помощи SAS.Планеты.
А здесь пошаговая инструкция по преобразованию космоснимков, скачанных при помощи SAS.Planet, в JNX (используются GlobalMapper и map2jnx); также на русском.
Устройство файлов JNX
Внутренняя структура файлов JNX
Описание формата получено в результате экспериментов с файлами JNX, полученными от добровольцев.
1. Заголовок
-
0 - BirdsEye
2 - BirdsEye Select EIRE
3 - BirdsEye Select Deutschland
4 - BirdsEye Select Great Britain
5 - BirdsEye Select France
6 - BirdsEye Select Kompass - Switzerland
7 - BirdsEye Select Kompass - Austria + East Alps
8 - USGS Quads (BirdsEye TOPO, U.S. and Canada)
9 - NRC TopoRama (BirdsEye TOPO, U.S. and Canada)
Те же версии прошивок вводят поддержку 4й версии формата JNX, позволяющей указывать порядок отрисовки карт JNX. Порядок отрисовки используюется таким же образом, как поле DrawOrder в картах Custom Maps. Поддержка карт 4й версии JNX доступна в BaseCamp версии 3.2 и выше.
О координатах, используемых в файлах JNX.
Координаты хранятся в виде знаковых 4х-байтовых целых чисел. Две пары чисел описывают координаты двух углов карты.
Первая пара - верхний правый (то есть северо-восточный) угол, вторая - нижний левый (юго-западный).
Первым значением в паре идет широта, вторым - долгота.
Для получения координат эти целые числа нужно разделить на 0x7fffffff, а потом умножить на 180.
Пример. Допустим, в файле указаны координаты 0x1FCD7932, 0x1ADEBDDA. После преобразования получаем координаты N 44°43'20.81", E 37°47'9.80".
Автор программы MAPC2MAPC предполагает, что в файлах JNX используется проекция Latitude/Longitude.
Эксперименты показывают, что демонстрационные карты могут отображать не более 1 кв. км. (приблизительно), в противном случае устройство откажется их загружать.
Вычисление CRC32 в заголовке.
Для вычисления значения поля CRC32 нужно последовательно пробежаться по описаниям всех тайлов карты, взять из них первые 2 координаты (т.е. первые 8 байтов для каждого тайла) и вычислить CRC32 для буфера, составленного из этих координат.
2. Таблица описания уровней
Эта таблица всегда находится сразу после заголовка файла.
В таблице ниже приведены значения масштаба, начиная с которых уровни карт JNX показываются на том или ином уровне приближении в устройстве.
Строчка 80m - 209 означает, что при установке в устройстве приближения 80m будут показаны тайлы уровней со значениями масштабов 209 и больше.
В том случае, если в прибор загружаются карты JNX с различными значениями масштабов, и тайлы уровней с различными масштабами оказываются одновременно видимыми, тайлы с бОльшими значениями масштаба отключаются.
Чтобы избежать взаимного отключения слоев карт разработчикам программ преобразования в JNX рекомендуется использовать следующие значения масштабов для соответствующих уровней: 75, 149, 298, 597, 1194, 2388, 4777, 9554, 19109, 38218, 76437, 152877, 305758, 611526, 1223072, 2446184 (этот набор представляет собой расширение стандартного списка значений, используемых в картах BirdsEye). Промежуточные значения предполагается заменять на ближайшее из этого набора.
3. Служебная информация загрузчика карт
Эта часть файла JNX не используется для отрисовки карты как таковой. Этот блок переменной длины состоит из списка URL'ов, с которых были получены тайлы, а также уникальный идентификатор карты и копирайты.
Этот блок следует за таблицей описания уровней и всегда до таблицы описания тайлов. В редких случаях между таблицей описания уровней и блоком служебной информации записана сигнатура файла.
Начиная с версий прошивок, выпущенных в марте 2011 года, некоторые части этого блока необходимы для корректной загрузки карты и выводятся в меню настроек карты.
4. Таблица описания тайлов
5. Сигнатура
Блок длиной 0x314 (788) байтов. Здесь хранится код привязки JNX к устройству.
Блок с сигнатурой обычно расположен между последним элементом в таблице описания тайлов и перед первым изображением тайла.
Состоит из небольшого заголовка и зашифрованной основной части.
Судя по всему, используется асимметричная схема шифрования, аналогичная той, что применяется в GMA-сертификатах карт (Garmin Map Activation), введенных в новых устройствах.
Сигнатура генерируется сервером на основании координат карты, числа уровней и ID'а устройства.
6. Набор тайлов
Тайлы представляют собой обычные рисунки в формате JPG, из которых выкушены маркеры SOI (то есть начальные два байта 0xFF, 0xD8).
Большая часть рисунков в картах BirdsEye имеют разрешение 256 на 256 пикселей. Поддерживаются рисунки и большего размера. Устройства способны показывать тайлы с размером до 1 мегапикселя, при выходе размеров за этот предел производится автоматическое уменьшение картинки с потерей качества.
Судя по всему, отдельные изображения могут быть использованы для отрисовки более, чем одного тайла (в случае одинакового содержимого тайлов), что может позволить уменьшить размер файла. В этом случае количество изображений в карте будет меньше числа тайлов. Данная возможность не проверялась на практике.
7. Метка конца файла
Все файлы JNX завершаются строкой "BirdsEye" (0x42, 0x69, 0x72, 0x64, 0x73, 0x45, 0x79, 0x65 - в 16-ричном виде).
Нетривиальное использование формата
"Многотомные" карты
Хотя формат JNX допускает не более 50000 тайлов на каждом уровне, есть способ обхода этого ограничения, условно называющийся "многотомными" JNX.
Заключается он в том, что уровни с бОльшим количеством тайлов сохраняются в отдельных файлах, уровни которых содержат не более 50000 тайлов. Координаты в заголовках каждого файла при этом соответствуют реальным координатам сохраненных в них тайлов.
Пример. Допустим, требуется записать в файл формата JNX 3х-уровневую карту, на первом уровне которой 10000 тайлов, на втором - 40000, а на третьем - 160000 тайлов. В этом случае создается 4 файла: 3х-уровневый с 10000 тайлами на первом уровне, 40000 тайлами на втором и 50000 на третьем; и три одноуровневых - два по 50000 тайлов, и еще один с оставшимися 10000 тайлами.
Насколько известно автору, создание многотомных карт пока поддерживается только в программе SAS.Планета.
Нижнее ограничение на видимость уровня
В картах JNX имеется только верхнее ограничение на уровни приближения, при которых показывается тот или иной уровень карты. Скажем, если в заголовке уровня JNX прописано значение масштаба 76437, то тайлы этого уровня будут показываться при зумах от 20км до 5м. А вот возможности явно указать, что уровень должен отключаться, скажем, при достижении приближения в 1,2 км (то есть задать нижнее ограничение), форматом не предусматривается.
Однако есть неявный способ введения подобного ограничения, предложенный пользователем aabbcc форума gpsunderground.
Чтобы отключить карту ниже некоторого приближения, требуется создать в карте еще один слой с нужным значением масштаба (для зума 1,2км это будет 4777), содержащий единственный тайл с координатами, не пересекающимися с координатами карты.
Естественно, карта, в которую добавляется новый ограничивающий уровень, может содержать не более четырех обычных уровней.
В качестве изображения тайла может быть использована однопиксельная картинка, либо можно записать в файл ссылку на первый тайл из первого уровня карты.
Координаты можно взять равными, скажем, 90N, 180E - это предпочтительный вариант, однако для него потребуется доделка имеющихся на сегодняшний день конвертеров. А можно просто использовать в качестве координат тайла координаты одного из углов карты - такой способ можно применять даже с доступными сейчас программами.
Насколько известно автору, добавление ограничения видимости реализовано только в программе SAS.Планета.
Обе описанные выше техники являются экспериментальными.
Взаимодействие многотомных карт и карт с нижними ограничениями с соседними картами не исследовалось.
Пока всё.
Если у вас есть комментарии или дополнения по формату JNX, напишите, пожалуйста, автору.
Читайте также: