• Из-за закрытия китайского заведения, где мы раньше втречались, до того, как найдем, что-то подходящее для постоянных встреч, договариваемся о ближайшей встрече, на каждый первый четверг месяца, здесь: Кто в четверг к китайцам???

Растровые карты Garmin, как их сделать и установить в навигатор

Там проблемы в двух местах:
1. Она должна лежать в одной директории с кучей нужных библиотек. Так вот эти библиотеки должны быть.
2. Нет интерфейса. Надо управлять батником. Видимо не всем по силам правильные строчки прописать.
Дайте почту, пришлю готовую папку map2jnx с рабочим набором библиотек, EXE-шником и BAT-ником. 6МБ примерно.
Сергей моя Вам искренняя благодарность.
Да, благодаря присланному Вами варианту программы всё действительно тоже получилось.
Остается теперь понять какого максимального размера JNX файлы будут работать в навигаторе. После этого, я так понимаю, уже придется резать карты в MAPC2MAPC или Global Mapper. На одном из форумов прочел, что мас. размер таких карт 40МБ. У меня такого размера получаются 4 склеенных вместе генштабовских листа м-ба 1:25.000 (при 95% качестве и 224 цветах)
 
Остается теперь понять какого максимального размера JNX файлы будут работать в навигаторе
На это вопрос два варианта ответа.
1. Если практично, по военному - любого размера.
2. Если начать теоретизировать, где-то в районе 2ГБ могут появится проблемы.

Но чтобы получит 2ГБ JNX, придется создать 20-50 ГБ Geotiff.
Отсюда п.1 :ab:

придется резать карты в MAPC2MAPC или Global Mapper
Я боюсь MAPC2MAPC, вернее не доверяю.
GM профессиональный коммерческий продукт, с понятным алгоритмом работы.
По другому: мне понятно что делает GM и я могу этим управлять, в отличии от...
 
Однозначной пропорциональности не может быть. Я указываю относительные цифры, которые получаются при обработке довольно чистой картинки, типа карт ГГЦ с со средним или высоким качеством сжатия, на входном массиве карт порядка 30 ГБ.

Смысл:
JNX это просто JPG порезанный кусками, и немного теста внутри. А Geotiff, это просто TIF, и немного текста внутри.
Соотношение размеров зависит от степени сжатия и от разнообразия цветов в исходной картинке.
Для примера:
Равномерно серая картинка 24 бита 1280х1024 в TIF имеет размер 3943684 байта
Она же в JPG качества 10 - 29517 байт, качества 0 - 21388 байт
Она же залитая полосами Sunset Sky из палитры стилей Photoshop в JPG качества 10 - 213642 байта, качества 0 - 29337 байт.
А в TIF-е она по прежнему 3943684 байта
Чем мельче и разнообразней цветовые пятна на картинке, тем больше JPG файл.
Так что либо на вашей картинке цветового мусора много, либо что-то в действиях не так.
 
Появилась возможность скачать готовые карты формата JNX на большинство районов России. Карты в масштабе 1:100.000 (1см-1км):
Квадраты N Карты Ген Штаба квадраты N (частичное покрытие) для навигаторов...
Квадраты O Карты Ген Штаба квадраты O (частичное покрытие) для навигаторов...
Квадраты P Карты Ген Штаба квадраты P (частичное покрытие) для навигаторов...
Из любой из указанных тем можно легко перейти по ссылке на карты других квадратов России.
В каждой их ссылок есть возможность скачки пропатченных прошивок для навигаторов поддерживающих этот формат и инструкция по установке.

Перед скачкой надо учесть что каждая папка имеет размер около 20ГБ, а сидов в настоящий момент крайне мало.
Вот инструкция как выбрать для скачки из папки нужные карты:
Как скачать отдельный файл — WikiTorrents

А это готовая программа для определения какие именно карты Вам нужны.:
Map detect
 
Мягко говоря странные изделия.
Сочетание:
- 1км/см
- Лохматые года рождения
- Привязка карт осуществлялась автоматическая по пересечениям осей координат, поэтому возможны погрешности.
- Поля карт не обрезаны
Для чего они? Чем они лучше ДР России ТОПО?

Особенный шарм:
Превью карты в приборе отображается при масштабе 12км, сама карта появляется при масштабе 1,2 км и выше
Знаете что они называют превью :ai: - автоматический ресайз карты на грубый уровень!
Механизм предназначенный исключительно для космических снимков. Типа есть фото, а есть аватарка из фото.
Но аватарки из карты сделать невозможно! Аватарка карты, это карта более грубого масштаба, а не ресайз обмылок сделанный автоматом.

Мой приговор - в топку.
 
Мой приговор - в топку.
У меня пока карты скачиваются. Сказать, что они из себя будут представлять на самом деле, пока не возьмусь, но повода "впадать в отчаяние" я не вижу.
Масштаб 1:100.000 вполне приемлемый масштаб для использования в навигаторах. Я как раз именно "сотки" себе и делаю.
- Лохматые года рождения
То же не аргумент. Как правило, там где нужен навигатор, рельеф мало меняется за прошедшие год. Да, появляются техногенные изменение (дороги, выруба и т.п.) полезные для ориентирования, но когда нет вообще нет ничего, и такой вариант приемлем.
У меня недавно попросили помочь найти карты одного из районов Псковской области м-ба 1:50.000, так единственные карты которые удалось найти были карты РККА конца 30-х годов.
- Поля карт не обрезаны
Тоже можно не переживать по этому поводу. Наличие полей создает проблемы в случае, если придется передвигаться по местности, где происходит сочленение листов, придется переключать карты, но это терпимо.
Я так и делал, пока не научился грамотно обрезать поля, т.к. даже обрезка зарамочного в фотошопе приводила к появлению белых полей на каждом листе карты. Фотошоп, как и все программы для графики, хоть и может вырезать изображение по трапеции, а прогибы по параллелям можно сделать путем обрезания по большому количеству дополнительных точек, но при сохранении изображения, окончательный вид поля будет все равно прямоугольный. И пустое пространство будет занято белым фоном.

Поэтому, пока никто не скачал и не открыл ни одной из карт, лучше смотреть на них по пословице: "За неимением мелованной бумаги пишут на обычной".
 
Поэтому, пока никто не скачал и не открыл ни одной из карт
Ну я то открыл... Они где-то прошлой весной сделаны.
Возможно имеют какую то ценность для областей плохо покрытых картами от Навикома. А там где есть ТОПО от Навиком какой смысл?
Навиком свежей и гораздо точней. Эти километровки не привязаны, понимаете? Автоматическая привязка, это не привязка вообще. Случайные ошибки в сотни метров. А поля ваще бред. Их можно было обрезать автоматом за 5 секунд на зону. Аффтары похоже не в курсах были.
Впрочем посмотрите сами.
Замечу только, что из километровок (коих добыть легко), зону сваять за пару вечеров, без зазоров, полей и точно привязанную - легко. Если конечно не править качество изображения и кривизну сканирования для каждого листа.
Учитывая, что на дорогах вектора хватает, а пешком ходим не очень далеко, конкретному охотнику, рыболову, грибнику, реально нужны несколько сшивок по 2/4 листа. Это совсем быстро делается. Получится хоть маленькая, но реальная карта, хороший помощник, а не это, тьфу... прости господи.
Научить как?
 
Я себе для пеших и лодочных маршрутов 4 листа м1:25.000 просто собрал в GM, а потом обработал в присланной Вами программе.
Файл JNX получился хорошего качества. Проверил в Glandkartegt. Не понимаю зачем нужен последний шаг:
Этот JNX открываем в jnxCustomizer. Устанавливаем версию JNX, масштаб отображения, имя карты, Product Group ID.
 
Не понимаю зачем нужен последний шаг:
Версия JNX4 позволяет устанавливать при каких увеличениях разные объекты векторной карты "всплывают" над растровой. В JNX3 просто: Точки и линии над растром, полигоны под ним.
Product Group ID, это номер группы файлов, которые прописаны в списке карт как одна карта. А имя карты, это имя для одной Product Group ID. Удобно иметь в списках карт простые русские имена. Типа Ленобласть, или O-35.
Масштаб отображения, это масштаб до которого видна карта. Разве не хочется его установить как удобно?
По умолчанию карты выходят из конвертера одинаковые с ID=0,именем BirdsEye, а масштаб определяется по разрешению, чтоб не больше нескольких тайлов на экран влезало при макс. увеличении.
Конечно, научите.
Замётано. Не прямо сейчас и не здесь. В свободное время, видимо тут: Что такое растровые карты Garmin - Навигаторы и карты - Все о...
 
пока никто не скачал и не открыл ни одной из карт, лучше смотреть на них по пословице: "За неимением мелованной бумаги пишут на обычной".
Первая папка скачалась. Не всё так плохо:
Навигатора сейчас под рукой нет, точность привязки не проверить, а на компьютере карта вот как выглядит:
%D8%F3%F8%F3%F0%FB.jpg
 
Ниже попытаюсь дать сведения, которые помогут желающим освоить самостоятельную подготовку карт материала для изготовления карт Garmin формата JNX.

Учить можно по разному.
Можно коротко набросать схему: жми туда, жми сюда. В данном случае не прокатит. Слишком много нюансов.
Поэтому напишу так: Объясняю смысл. Кто поймет, сможет сформулировать конкретный вопрос. Кто не может сформулировать конкретный вопрос, читает ещё раз, пытаясь понять смысл. Кому лень думать, его проблемы.

Оставлю за скобками: модели навигаторов, куда класть карты, патч прошивки, конвертеры в JNX и другие сведения, которые легко найти в И-нет.

Чтобы не сильно размазываться по теме, возьму для рассмотрения конкретную карту. Пусть это будет старая советская военная топокарта масштаба 1км/см.

Обозрим проблему целиком.
Имеем карту в 6-и градусной проекции Гаусса-Крюгера, датум Пулково-42.
Хотим преобразовать её в JNX карту Garmin.

Сначала о проекции.
Проекция Гаусса-Крюгера, это апельсин, нарезанный вместе со шкуркой на дольки через 6 градусов. Шкурку сняли, кинули на пол и наступили. Шкурка стала плоской.
Кусок шкурки между Питером и Москвой выглядит так:



Черная рамка – границы куска шкурки. Такой кусок называется зоной. В данном случае это зона O-36.
Красные линии проведены через 100км
Зеленые линии проведены через 1 градус

Вывод: в проекции Гаусса-Крюгера масштаб в метрах одинаков в любой точке карты, или по другому – метровая сетка равномерна. Градусная сетка неравномерна.

Но нам надо запихнуть её в Garmin, какие там требования к проекции? А там, оказывается, карты хранятся в градусных координатах. Для этого карта должна иметь равномерную градусную сетку.
Преобразуем проекцию нашей карты в географическую (Lat/Lon).



Теперь градусная сетка равномерна, метровая неравномерна.
Вывод: это совсем другое изображение. У него принципиально изменился пиксельный размер. Ни один пиксель не остался «в живых», все новые!
Значит мы должны с вниманием отнестись к этой операции, контролировать механизм интерполяции цветов, дабы не потерять качество картинки.
Метровая сетка исказилась настолько, что местность будет трудно узнать. Дороги разных направлений будут иметь разную ширину! Тоже с домами и реками.
Очень неудобно.
Но оказывается, в Garmin, карта только хранится в географической проекции, а показывается в проекции Equirectangular. По смыслу, эта та же географическая, но экватор как бы сдвинут на середину нашей карты. У экватора градусная сетка равномерней, поэтому получается так.



Все сетки неравномерны, но метровая более-менее близка к квадрату, пропорции предметов будут близки к оригинальным.
Вывод: в навигаторе изображение подвергается второй сильной деформации, с интерполяцией это надо учесть.

И последний шаг: что такое JNX с точки зрения растровой графики?
Если не вдаваться в подробности, это JPG.
JPG это формат с 8-битным цветом на канал и сложным алогоритмом сжатия, при котором заменяются цвета практически каждого пикселя в угоду размеру файла. Это формат с потерями, создающий артефакты изображения. Особенно заметно искажает цвета вокруг резких цветовых переходов (ореолы вокруг черных букв на белом фоне, например). Размер файла JPG сильно зависит от чистоты цвета сплошных заливок. Например у вас на карте сплошной зеленый лес. Если этот зеленый - единственный зеленый, JPG файл будет маленький, если он состоит из нескольких зеленых, даже незначительно отличающихся, так что глаз не видит, файл будет больше.

Зачем я эту лабуду развожу?
Да потому, что карта должна быть смотрибельной, а это зависит не только от исходника, но и от того, как его обрабатывают.

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

Инструмент – Photoshop, или что подобное.
Что надо делать:
Для уменьшения размера файла карты убираем лишние цвета на сплошных заливках. Серо-белое делаем белым, разное зеленое, одним зеленым и т.д.
При этом стараемся не уничтожить переходные цвета линий и букв.
Жесткие переходы цвета на этих объектах снижают читабельность и провоцируют появление ореолов на этапе сжатия в JNX.
Экраны навигаторов не отличаются качеством. Да и смотрим мы их то на солнце, то в тени. Чтобы было видно, надо максимально выделить объекты на фоне и по возможности разделить разные объекты по цвету. Делается настройками Яркость, Контраст, Насыщенность.
Продвинутые могут посмотреть на гистограмму и подвигать ползунки Levels.
Особо продвинутые используют Curves.
Супер продвинутые выделяют конкретные объекты и правят их отдельно от остальных.
Не делаем:
- Ресайз (изменение пиксельного размера).
- Шарп (искусственное повышение резкости).
Эти операции бессмысленны, потому что потом карта всё равно будет два раза интерполирована.

2. Все операции с растром надо производить в 24 битном RGB, в формате без потерь и несжатом, дабы не терять ресурсы компьютера на распаковку/запаковку. Оптимальный в этом смысле формат, понимаемый всеми программами – TIF.
Для примера:
- Есть карта в GIF, значит у ней индексирован цвет. Открываемв Photoshop, жмём Image/Mode/RGBColor/SaveAs TIF.
- Есть карта в 24 битном PNG. В принципе это правильный формат, но он запакован, архив по сути. Открываем в Photoshop, жмём SaveAsTIF.

3. Программа преобразующая карту из проекции Гаусса-Крюгера в Географическую должна уметь это делать с бикубической интерполяцией. Ввиду того, что карта в Lat/lon проекции имеет абсолютно другие пропорции, встает вопрос о выборе разрешения (пиксельного размера) этой новой карты. Избыточно большой разрешение – большой размер файла карты. Малое разрешение – потеря качества. Лучший способ не менять количество пикселей, а сделать их неквадратными. Программа обладающая нужными возможностями называется GlobalMapper, в дальнейшем GM.

По предварительной обработке растра всё!
Естественно можно работать проще. Каждый волен выбрать уровень простоты сам. Но знать о возможностях всегда полезно.

Вопросы - задавайте.

Следующее эссе о привязке.

 
Сергей, прежде всего спасибо за полезный ликбез. Пишу благодарность публично, хоть это и не рекомендуется правилами, в связи с тем что предполагаю, что крайне мало людей имеет достаточную подготовку, чтоб оценить полностью проделанную Вами работу и грамотно использовать Вашу инструкцию.
В качестве рекомендации, мне кажется для "не продвинутых пользователей" полезно сделать так же и инструкцию по принципу:
Можно коротко набросать схему: жми туда, жми сюда.
На подобии той, ссылку на которую я приводил в параллельной теме.
Ваши сомнения:
В данном случае не прокатит. Слишком много нюансов.
Думаю не обоснованны.
Хотя в той инструкции пользователь сразу написал, что пользовался теми программами, что стали работать у него без проблем.
Проделав все те же операции я получил готовые карты.
Проблема у меня тогда уперлась в получение конечного файла формата .jnx. Я получал его в одной программе. Вы предлагали другую, которую мне удалось освоить только с Вашей помощью.
Вот и в данном случае хочется, чтоб Вашими советами могло воспользоваться, как можно больше пользователей, а не единицы.

Вопросы по тесту:

Имеем карту в 6-и градусной проекции Гаусса-Крюгера, датум Пулково-42.
Логично указать расстояние между параллелями в 4-ре градуса.
Иначе, если я не ошибаюсь получим не
апельсин, нарезанный вместе со шкуркой на дольки через 6 градусов.
а полоски
В данном случае это зона O-36.
У этой карты для понимания
границы 56-60град с.ш. и 30-36град в.д.


Что надо делать:
Для уменьшения размера файла карты убираем лишние цвета на сплошных заливках. Серо-белое делаем белым, разное зеленое, одним зеленым и т.д.
На сколько я понимаю формат .png полностью решает эту проблему?
Можно ли делать так:
Чтоб не залезать в фотошоп, т.к. пользование уровнями, кривыми и прочее, не всем удобно, почему не прогнать изображение через конвертер?
Я попробовал с той же картой О-36. Она у меня в .jpg -3134КБ. Конвертер Right Click Image Converter на выходе файл .png правда размера 43.144КБ, но его программа GM видит. Если полученный файл ещё раз пропустить через конвертер то полученный .jpg файл уже будет лишен недостатков исходного, правда размер его при качестве 100% становится 4651КБ
 
Логично указать расстояние между параллелями в 4-ре градуса
Кажется разумней придерживаться устоявшейся терминологии. Иначе кто в лес, кто...


полезно сделать так же и инструкцию по принципу: жми туда, жми сюда
Боюсь этого, потому что
почему не прогнать изображение через конвертер?
Я попробовал с той же картой О-36. Она у меня в .jpg -3134КБ. Конвертер Right Click Image Converter...
В приведенный цитате вы подменяете смысл действий, конкретными действиями.
При этом смысл теряется.
Дело не в программах. Одно и тоже можно сделать по разному и в разных программах. Но тогда количество вариантов становится бесконечным ничего не понять и нечего обсуждать.

На примере: Я хочу условно белый цвет карты сделать истинно белым.
Осмысленные действия:
Выделяю цвета которые хочу заменить. Это инструмент "выделение". У него есть параметр "толерантность" (чувствительность). Смысл простой, если толерантность=0, я выделяю только цвет куда ткнул пипеткой, если толерантность выше, начинают захватываться соседние цвета. Можно также плюсовать цвета, тыкая по очереди в нужные и вычитать если попал не туда.
В результате выделил.
Теперь указываю в палитре цветов истинно белый и заливаю (Edit/Fill) им выделенную зону.
Всё.
Обратите внимание, я не даю название программы. Это можно делать в разных программах. Могут изменится названия инструментов, но смысл останется.
В чём смысл Вашей работы с конвертером я не смог понять.

С форматами поосторожней. Большинство людей ничего не знает о свойствах растровых форматов. А они есть.
Если начнём здесь свойства разбирать, погрязнем на месяцы.
По этому поводу образоваться самому не сложно. Полно информации в инете, поиск доведёт.
Не зря дал простой совет. Всё перегнать в 24 битный RGB TIF и работать до последнего только с ним. Можно поспорить, но лучше поверьте, а то время потеряем почём зря.
 
В чём смысл Вашей работы с конвертером я не смог понять.
Да я прочитал где-то, (пытаюсь найти оригинальный текст), что формат .png использует четкие цвета и в отличии от .jpg не грешит многообразиме тонов, полутонов, цветовых переходов. Как раз то, о чем Вы писали.
Белый в этом формате это белый, зеленый - зеленый. Именно так печатаются бумажные карты. При их сканировании в формат .jpg как раз и начинает выползать многообразие цветов. Именно поэтому автор той публикации советовал использовать для Ozi Explorer иенно форматы .bmp или .png.
Я про конвертер, грешным делом и подумал, что проще, будет так, чем лезть в фотошоп. Тоже далеко не простая для освоения программа.
 
Уговорили, :ab: краткий экскурс по основным растровым форматам

Группа №1, форматы без потерь, 24 битный цвет: BMP, TIF, PSD, 24 битный PNG.
В принципе все эти форматы подходят для нашей работы,
1. Потому что количество цветов, равное 2 в 24 степени = 16777216 велико и достаточно, чтобы при изменении размера, поворотах, деформациях, формировать просчитанные промежуточные цвета (интерполяция).
2. Потому что при пересохранениях эти форматы не добавляют дополнительных элементов в изображение (артефакты).

- Самый экономный по размеру - 24 битн. PNG, Но он хорош, пока не трогаем. С ним работа медленней, Он по сути архив. Того же результата можно достичь, пожав TIF в RAR. Разница только в том, что PNG24 распаковывается и запаковывается на лету. Но это даром не проходит. На это тратится время и когда он открыт, на диске С, в папке Temp, лежит его распакованная копия. Причем размер этой копии абсолютно точно равен TIF того же пиксельного размера. Когда вы откроете несколько сотен листов ГГЦ одновременно и ваш комп завопит что место на C кончилось, вспомните что здесь написано :ab:
- Следующий PSD. Очень хороший формат от компании Adobe. Но это внутренний формат. Нигде кроме Adobe программ редактировать его невозможно.
- BMP, формат от Билла Гейтса. По внешним свойствам ничем не отличается от TIF, по размеру файла тоже.
- TIF, тоже, что BMP в простых приложениях. Но имеет много разновидностей и дополнительных возможностей, типа слои, индекс цвет, внутренняя инфа о самых разных вещах, вплоть до геопривязки. Поддерживается практически всеми программами.

Группа №2, форматы с индексированными цветами. Количество цветов от 2 до 256: GIF, 8 битный PNG
Оба формата почти не отличимы для простого пользователя. Основное отличие: в PNG8 есть канал прозрачности (альфа канал).
Эти форматы можно многократно пересохранять, но они совершенно не годятся, если изображение надо повернуть, деформировать, изменить размер. Количества цветов для интерполяции недостаточно. При повороте, например, прямые линии порвутся на ломанные.
Форматы вполне пригодны для карт с чистой заливкой, но абсолютно непригодны для промежуточных действий. Использовать только на полностью выровненной карте, т.е. в самом конце преобразований.
Кстати, известные OZIExplorer форматы OZF2, OZFx3, по сути тот же GIF, только тайловые.

Группа №3 формат с потерями, 24 битный цвет: JPG (к тому же классу относятся менее известные тайловые ECW, JP2000, JNX)
Это форматы, где плотная упаковка достигается полной заменой и перетасовкой пикселей. Даже при самом малом сжатии ни один цвет не останется прежним. Но это подлое дело совершается вдумчиво, учитывая неидеальность человеческого глаза. Алгоритм заточен под пестрые картинки. Если это фото пестрого свитера, кустов, груды мелких камней, вы ничего не заметите. Если это небо подернутое нежными облаками уже заподозрите, если черные буквы на ровном фоне, станет совсем заметно. В общем глаз удается обмануть. Но программы нет!
Картинку с ровными цветами, пропущенную через JPG, практически не восстановить. Есть расхожая фраза - изуродовано JPG.
Если по нужде приходится делать упаковку в JPG, это надо делать один раз и в самом конце преобразований.
 
Привязка
Про привязку слышали все. Даже те, кто картами не занимался.

Благодаря автору OziExplorer, прижился устойчивый стереотип, что привязка, это ткнуть несколько точек по сторонам квадрата карты и всё.
Как удобно быть в неведении. Увы, придется простоту разрушить, Платон мне друг, но истина дороже…

Оторвёмся от жизни, посмотрим на привязку глазами теоретика.

Весь земной шар покрыт координатной сеткой. Сеток может быть две:
- градусная
- метровая
Эти сетки могут быть сколь угодно подробными, Минуты, секунды, доли секунд. Метры, сантиметры, миллиметры…
У нас есть пиксельная картинка карты. Такая картинка тоже сетка, но она не может быть сколь угодно подробной. Пиксель на части не делится.
Идеально привязанная растровая карта, когда каждый пиксель однозначно связан с соответствующим узлом координатной сетки.
Если наша карта делалась в градусных координатах, её надо связывать с градусной сеткой. Если она создавалась в метровых координатах, надо связывать с метровой сеткой.

Однако надо быть ближе к жизни.

Как создавалась наша километровка?
Работа была многошаговой:
Шаг1. На местности поставили одну или несколько вышек и долгими наблюдениями/измерениями получили координаты этих вышек с точностью в десятки см.
Шаг2. Специально обученные люди, отсчитывая от опорных вышек углы и расстояния, построили на местности модель километровой сетки, обозначили её узлы маркерами.
Шаг3. Специально обученные люди, вооружённые бумагой, на которой нанесена та же километровая сетка, описали «имущество» в каждом из квадратов километровой сетки, привязываю сараи, перекрестки и реки к узлам километрового квадрата и нанося их на бумагу.

Важно понимать: каждый следующий шаг имел точность ниже предыдущего.
Т.е. точность узлов километровой сетки была высокой, а место сарая, не то что уж совсем «на глаз» рисовали, но где-то так.
Такой метод не разгильдяйство, это «разумный подход». Ведь чтоб вписать каждый сарай точно, пришлось бы строить линии «угол/расстояние» к каждому углу, каждого сарая!

Вывод: километровая модель сетки создавалась с достаточной точностью, но не все объекты внутри квадрата сетки привязывались к её узлам с такой же точностью.

Отсюда следует рекомендация по практической привязке сканированной карты.
Для минимизации ошибок расположения объектов, необходимо жестко связать узлы нарисованной на карте километровой сетки с узлами сетки принятой модели Земли.
Это абсолютно необходимое условие, но НЕ ДОСТАТОЧНОЕ!

Недостаточно, потому что надо решить что такое «принятая модель Земли»?

Модель Земли, это эллипсоид (немного приплюснутый шар) определенных размеров, на котором где-то воткнули кол, и решили, это будет нулевой километр.
Где этот кол неизвестно, но на самом деле и не нужно.
Ненужно, потому что карту мы делаем не для чего-то там, а вполне конкретно, для навигатора, работающего в известной координатной системе под названием WGS-84.
WGS-84 сделана на эллипсоиде своих пропорций и размеров, у ней свой нулевой кол, воткнутый не там, где нулевой кол нашей карты.
Чтобы связать координаты нашей карты с координатами WGS-84, не надо знать где их колы, достаточно знать разницу между ними и формами эллипсоидов.
Цифры определяющие эту разницу называются ДАТУМ. Для нашей карты это датум Пулково-42
Однако, если мы попытаемся узнать какой он Пулково-42, увидим что их не один.
Почему?

Включаем стерео воображение, пытаемся представить, что нужно сделать, дабы эллипсоид одних размеров, совпал с эллипсоидом других размеров и колы воткнутые на них оказались в одной точке.
Для этого надо один из эллипсоидов раздуть, или сдуть на некоторый коэффициент, повернуть по трем осям, сдвинуть по трем осям.
Датум определяющий такой переход называется 7-ми параметрическим преобразованием Бурса-Вольфа.
Однако, сразу предлагаю о нём забыть, т.к. использовать его для наших целей невозможно практически.
Дело в том, что при создании советских карт до спутниковой эпохи, не удалось удержать точку нулевого кола для всех частей страны и мира с точностью, которую дает современная спутниковая навигация.
Почему не знаю, но по факту: нулевой кол сетки карт Ленобласти отстоит от нулевого кола сетки карт Владивостока на пару десятков метров.
Но если датум Пулков-42, в разных местах разный, можно упростить задачу совпадения эллипсоидов и колов.
Достаточно сдвинуть один из эллипсоидов по трём осям и нулевые колы совпадут. Правда узлы сетки, отстоящие от колов далеко, не совпадут, но около колов всё будет тип-топ.
Такой датум называется: 3-х параметрическим преобразованием Молоденского.
Его и рекомендую к использованию.
Датум описывается тремя цифрами сдвига по трем осям. Цифры, это метры. Ещё нужно указать тип эллипсоида нашей карты. Три цифры будут разные для разной местности, эллипсоид всегда один. Называется «эллипсоид Крассовского».
Существует ГОСТ 51794-2001. В нём рекомендованы сдвиги X=23,92; Y=-141,27; Z=-80,91.
Пулково-42 прошитый в OZIExplorer имеет сдвиги X=28; Y=-130; Z=-95
Как видим, разница существенная. А для вашей местности эти цифры скорей всего будут третьим вариантом.
Ознакомится с подборкой официальных датумов можно здесь: http://gis-lab.info/qa/datum-transform-sets.html
Возможно полезными будут цифры из этого топика: http://gis-lab.info/forum/viewtopic.php?f=2&t=8745&p=51384#p51384
Пример практического измерения местного датума: http://storozhenko1.narod.ru/Zamet_gps.htm


Вывод: в общем случае датум надо подбирать и проверять.
В конкретном случае необходимость определяется масштабом карты.
Мой личный опыт говорит, что с масштаба 500м/см подбирать и проверять НАДО. На масштабе 250м/см однозначно НАДО.
Как подбирать? Точный тригопункт не каждому доступен.
Подбирать придется сравнением с заведомо точной картой.
Как, покажу на практике.

Но сначала, вкратце, как привязывать НЕ НАДО.

Привязка в OziExplorer
Профессионалы, глядя на OZI привязку, посмеиваются в усы. Обосновано посмеиваются.
А для любителей всего мира, это основной инструмент привязки. И те и другие правы. Чтобы понять почему, разберём, как это делается в OZI.
По умолчанию привязку в OZI ведут не к метровой сетке, а к углам и меткам рамки, которая находится в градусной сетке.
В общем это без разницы, ведь градусная и метровая сетки однозначно связаны. Но практически, метки рамки носят справочный характер. На многих листах они имеют меньшую точность нанесения, чем километровая сетка, потому погрешность может возрасти.
Не все знают, что OZI умеет привязывать и по метровой сетке.
Второй и главный источник погрешностей в OZI привязке – способ, которым минимизируются погрешности. Автор создал механизм, который правит все источники погрешностей одновременно. Одновременно правится неправильно выбранная проекция, не ортогональность линейки сканера, неправильно поставленная точка, ошибки ручной сшивки (если сшивали из частей вручную) и т.д.
Делается это методом приближений (математика: метод наименьших квадратов). Мы наставили точек, OZI пытается уравнять погрешности по полю карты, при этом он полагает, что наши точки не совсем там стоят. И он их двигает! Ни одна точка не остается в том пикселе, куда вы её поставили.
Любителям так удобно, метод прощает ошибки и в целом, для грубых карт, удовлетворителен.
У профессионалов другой подход. Профессионал, если поставил точку в конкретный пиксель, желает, чтобы точка там и стояла. Он знает куда ставит, пусть программа правит что угодно, но не то в чём он уверен.
Ещё одна особенность OZI привязки, она не умеет правит растр. OZI не растр к сетке подгоняет, а координатную сетку к растру.
Посмотрите на первую картинку в самом начале моей писанины. Наша километровка должна быть вписана в тот самый кусок корки апельсина. Всего в зоне 12х12=144 километровки. Рамки карт обрезаны по градусной сетке, значит наша километровка вовсе не прямоугольник, две стороны у ней прямые, но не параллельны, а две другие вовсе – дуги. Мало того, каждый лист должен быть повёрнут на свой определенный угол, чтобы вписаться на свое место в этом куске корки.
Так вот OZI ничего этого не умеет, он крутит сетку, вместо того чтобы крутить изображение.
Формировать правильно повернутый растр умеет только OZI утилита MapMerge.
Поэтому советую: используйте OZI привязку только как предварительную, или для грубой оценки качества скана.

Практическая привязка
Описываю один из практичных вариантов, который мне кажется наиболее удобным для карт с километровой сеткой координат.

Привязываем карту в OZI по 4 точкам. Именно по 4, чтобы OZI не начал делать того, чего не умеет. 4 точки нужны для определения разворота листа в зоне.
Привязывать можно вручную, но при этом будьте внимательны с введёными параметрами. Даже те, кто знает какие параметры, делают описки. Надежней использовать утилиты, которые вводят параметры безошибочно. Например MMAssist.
Открываем растр в GM, при этом импортируется OZI привязка и карта более-менее правильно отображается.
Включаем в GM метровую сетку с нужным шагом. Для километровки шаг обычно 2км.
Смотрим как программная сетка легла относительно нарисованной. Смещение между сетками есть погрешность. Если погрешность удовлетворительная, можно дальше привязку не править. Если дело плохо, открываем ControlCenter, жмем на карту правой кнопкой, выбираем ModifyLayerPosition
Дальнейшие действия зависят от характера погрешности. Если они небольшие и примерно одинаковы, привяжите несколько узлов километровой сетки вдоль краев листа. Если погрешность локализована в одной зоне, окружите эту зону точками привязки. Если совсем плохо, придется привязать каждый узел километровой сетки. Это долго, но будет хорошо.
Методика подробно описана здесь: http://www.karelia-life.net/articles/atcl0003/maps_merging.htm
Статейка старая, но принципы остались в силе.
За это время появилась утилита для предварительной генерации точек привязки: http://rutracker.org/forum/viewtopic.php?t=3813272
Добавлю один прием, который тогда не знал: если при простановке точки в ReferenceImages зажать Shift, точка прилипнет к узлу сетки.
В любом случае проверьте, как легли точки от OZI привязки. Если растр кривоват, они скорей всего только мешают. Удалите их, замените, или передвиньте в нужное место.
Итак, карта привязана.

Проверяем и подбираем датум
Самый простой и надежный способ проверить датум, прямо в GM открыть треки и проверить, как они ложатся на объекты карты. Только треков должен быть не один, иначе достоверность низкая, и они должны быть в разных направлениях, чтобы видеть сдвиги по осям.
Если треков нет, придется загрузить в GM какую то заведомо точную карту, сделать её полупрозрачной (Transparent в RasterOptions) и сравнить.
GM умеет подгружать некоторые карты и космоснимки в онлайн режиме (File/DownloadOnlineImagery…)

Как создать новый датум
В меню Raster Options в закладке Projection жмём Add Datum, выбираем эллипсоид Krassovsky, выбираем 3-х параметрическую трансформацию по Молоденскому, ставим три цифры. Какие? От ситуации зависит. X,Y более менее понятно куда двигать, Z не очень. Пробуйте. Не забываем, что эти цифры просто метры.
Подбираем, пока перекрёстки или какие другие приметные объекты не совместятся с треками, или теми же перекрёстками на космоснимках.
Весьма желательно проделать эту операцию не с одним перекрёстком. Может оказаться так, что именно этот перекресток на карте неправильно нарисован. Так что проверять, проверять и проверять.
Зато, когда датум подобран, остальные карты этой зоны можно будет не проверять, а всем ставить подобранный.
Итак, карту полностью привязали.
Ещё раз условия точной привязки:
- программная сетка и нарисованная совпадают
- -датум определён.

Обрезаем поля карты
Важно, при заказе автоматической обрезки, GM обрежет поля по координатной сетке карты. Сетка у нас метровая, а нарезка листов градусная! Поэтому в Raster Options/Cropping выбираем ручную обрезку по градусной сетке Manually Lat/Lon Boundary.
Если листов раз/два, в ручную сделать нетрудно, если сотни, придется автоматизировать, но это отдельный разговор.

Экспорт и его настройки
Нажимаем кнопкуConfiguration, и меняем там проекцию на географическую (Lat/Lon), датум на WGS-84. Таким образом, мы устанавливаем в каких параметрах будет создана новая карта.
Установленные параметры те, что нужны для навигатора Garmin.

Жмём File/Export Raster Image Format. Выбираем GeoTIFF, в окне настроек экспорта выбираем: 24-bit RGB, снимаем галочку с Always Generate Square Pixels (вспомните, что в самом начале писал про не квадратные пиксели), Compression/No Compression, выбираем имя по аглицки и место куда сохранить, Вуаля!
То что получилось, есть TIF картинка с внутренней привязкой, готовое изделие для конвертации в JNX. Картинку можно посмотреть в любом вьювере (если вьювер выдержит размер файла). Редактировать нельзя! Внутреннею привязку уничтожите.

Про привязку всё.
Да вроде совсем всё.
Вопросы?
 
пример конвертации и сама загрузка... еще прошивка бы не помешала...
Начну с конца.
Страничка автора модификатора (патчера) прошивки (дай Бог ему здоровья) здесь: Формат растровых карт JNX
Там есть ссылки на всё что может пригодится.
Тема в развитии, не считаю корректным давать конкретные советы. Завтра они устареют.
То что описал выше устареет не завтра :ab:, а послезавтра...

Несколько советов для тех кому совсем тяжело:

Самый простой и надежный способ получить готовый файл карты формата JNX, скормить выше полученный Geotiff, конвертеру Map2Jnx.
Это программа, управляемая командной строкой, работающая с известной, проверенной библиотекой gdal.
Так выглядит нутро программы с необходимыми библиотеками.

Программа запускается файлом map2jnx.bat
Надо положить Geotiff карту в папку программы. Нажать на map2jnx.bat, правая кнопка/изменить. В тексте в map2jnx.bat вместо ХХХ написать название нашей карты. Закрыть/сохранить. Запустить map2jnx.bat.
Готовую JNX карту скопировать в навигатор в папку garmin/BirdsEye

Прошивка.
Прошивка, это собственно прошивка - стандартная процедура модернизации программного обеспечения навигатора.
Разница только в том, что сначала прошивку обрабатывают патчером.
Т.е. условия и требования те же что при стандартной процедуре.
Файл прошивки должен быть точно для вашей модели.
Все действия должны быть четкими и неторопливыми.
Не выдергиваем шнуры, не включаем/выключаем навигатор по любому шороху. Всё делаем медленно, уверенно с длинными паузами.
Абсолютно недопустимо исчезновение питания навигатора в процессе обновления и передачи данных.
Невозможно прошить навигатор на прошивку того же номера. Либо меньше, либо больше.

Практически так:
Есть файл прошивки вида GUPDATE.GCD, его открываем патчером, получаем GUPDATE_Patched.GCD. Переименовываем GUPDATE_Patched.GCD в GUPDATE.GCD, копируем в навигатор в папку garmin, При первом включении навигатора, происходит обновление программного обеспечения.

Остались вопросы??
 
Последнее редактирование:
Вопросы остались?
"Ясный перец" остались.
Сергей. в соседней теме до этого шага:
Готовую JNX карту скопировать в навигатор в папку garmin/BirdsEye
есть ещё операция:

Этот JNX открываем в jnxCustomizer. Устанавливаем версию JNX, масштаб отображения, имя карты, Product Group ID.
Надо или нет.
Я так подозреваю, что надо. Пишите и о ней.
 
есть ещё операция:
Эту операцию можно и не делать, если нет необходимости разбивать карты на группы и жестко контролировать критичный масштаб отображения.
Но если надо, находим и ставим jnxCustomizer версий от 1020 и выше.
Интерфейс выглядит так:

То что обведено кружком должно писаться нераздельно.
Номер, это номер группы карт, и имя, это имя этой группы, как она будет видна в меню списка карт навигатора.
Т.е. если хотим разные названия, надо и номера групп разные задавать.
Цифра 800m - критичный масштаб отображения. Карта будет видна от самого подробного, до этого масштаба.
 
Сверху Снизу