Что такое растровые карты Garmin
Посмотрел обсуждение карт для навигаторов GPS. Есть некоторый
сумбур в головах. Ниже ликбез для общего понимания. Возможно кому то будет полезно.
Карта это схема. На них все условно. Каждый значок, это объект, или группа объектов.
Основа карты – пустота, на пустоте лежат объекты
Современные карты – векторные, потому что такая карта экономна, пустота на ней это именно пустота, а объекты на ней не картинки, а именно объекты, имеющие внутреннею суть.
Векторные карты состоят всего из трех элементов:
- Точка
- Полилиния (несколько точек соединенных между собой)
- Полигон (несколько точек соединенных между собой, причем первая и последняя всегда соединены)
У точек составляющих основу этих элементов есть геокоординаты. И этого достаточно! Потому что каждый из этих трех элементов имеет внутренние свойства Если у точки внутри свойство «охот база», навигатор её будет отражать как охот базу, если внутри «супермаркет», будет показываться как супермаркет. Одну и ту же линию можно сделать трассой с внутренним свойством 110 км/час и навигатор отразит её толстой красной линией, и смоделирует маршрут со временем поездки 2 часа. А можно сделать её грунтовкой со скоростью 40 км/час и навигатор покажет её тонкой серой линией и спрогнозирует маршрут на 5 часов. Можно сделать эту линию рекой, она будет показываться синим цветом и навигатор не будет прокладывать по ней автомаршрут.
В общем нормальные карты должны быть векторными.
Тогда почему столько охов вокруг растра?
Главная причина – векторную делать очень долго и трудно.
Лет 7 назад попытался прикинуть время на отрисовку векторного аналога топографической 500 метровки Лен области. Не от балды прикинул, а сел, отрисовал кусок, а потом помножил затраченное время на количество кусков. Получилось пару лет работы.
Цифра подтвердается практикой. Насколько знаю, на широко известную самопальную карту «»Ленобласть», у её автора ушел год. А на этой карте нет лесов, полей и домиков в деревнях. Только дороги, реки, озёра.
Известные карты ДР России и ТОПО от Навиком не рисуются сотрудниками Навиком вручную. Они получают данные от Роскартографии уже в векторном виде и только адаптируют их к формату Гармин. А в Роскартографии, сами понимаете, сколько народу работает.
Другие причины не использовать вектор
В картах предназначенных для пешего хода, набор символов (вида объектов) Garmin не совсем подходит. Трудно объяснить словами, но как то плохо читается местность.
Есть ещё один фактор, о котором мало задумываются. В векторе точечные объекты не имеют размера. А полилиния не имеет толщины. Типичная наколка для рыбачков: На карте обозначен камень. Пользователь плывет вроде мимо, но все-таки цепляет его винтом. А это потому, что значок камня не имеет размера. Пользователь идет в 20 метрах от значка. Но на бумажной карте, откуда значок перерисовали, сам значёк имел размер 120 метров в диаметре! Если бы использовалась бумажная карта и пользователь обходил значёк на 20 метровом расстоянии, он обходил то место где стоит векторный знак на расстоянии 120/2+20=80 метров и мотор бы остался живой
Пытаюсь сформулировать мысль:
На растровых картах размеры объектов фиксированы, поэтому масштаб и погрешность карты наглядны.
Но
самой главной причиной для использования растра в Garmin стало появление подробных космических снимков. Хотя эти снимки привязаны в геокоординатах, это не карты. Не карты, потому что не схематичны. Если векторизовать такой снимок, он станет картой, но перестанет быть снимком. Всю информацию векторизовать никогда не удастся. Попробуйте тремя вышеперечисленными элементами описать фотоснимок любимой женщины
Короче – космоснимки и стали причиной поддержки растровых карт в новых навигаторах Garmin.
Garmin захотел подзаработать на их продаже через инет сервис
BirdsEye™, но народ не дремал и решил вопрос с обязательной подпиской через патч прошивки навигатора. Появилась возможность засунуть в навигатор любую растровую картинку. А растровых картинок и карт много. Мало того, если из растра сделать вектор трудно или очень трудно, обратная операция элементарна. Если мы видим что-то на мониторе, значит оно уже растровое. Банальный снимок экрана через кнопку PrtScr, вставить в подходящую программу и увиденное сохранено в растровую картинку.
Что такое растровая картинка:
Эта картинка состоящая их элементарных ячеек. Размер картинки: А ячеек на Б ячеек. Ячейка не имеет размера сама по себе. Размер у неё появляется только при печати или сканировании.
Каждая ячейка имеет определенный цвет. Если ограничиться тем, что используется в Garmin, таких цветов всего три. Красный, Зеленый, Голубой (RGB). Каждый цвет может дозироваться элементарными порциями от нуля до максимума. Всего порций 256 для каждого цвета (включая ноль).
Грубая аналогия такая: Есть три чернильницы Красная, Зеленая, Голубая В каждую ячейку растра можно капнуть до верха максимум 255 капель из каждой. Цвет и насыщенность будут определяться соотношением и количеством капель.
Чтобы засунуть такую картинку в навигатор, с ней нужно провести несколько операций:
- сжать в JPG. Файл картинки (не картинка, а именно файл) станет меньше. При этом картинка потеряет в качестве.
- Нарезать на небольшие куски. Это для того чтобы не всю карту подгружать в оперативную память навигатора, т.о. повысит скорость отрисовки карты.
- Соединить нарезанные куски в единый контейнер (JNX) из которого навигатор будет вынимать кусочки картинки для отображения.
Пока ничего не говорю про привязку, тема в себе.
Главный вывод: поддержка растровых картинок (карт) в Garmin позволяет относительно быстро запихнуть в навигатор самый разнообразный карт материал. Например:
- космоснимки
- схемы спортивного ориентирования
- сканированные топо карты всех времен и народов
- Сканированную (возможно даже просто сфотанную) схему лесоучастка от егеря
- Векторные карты других (не Garmin) форматов вытащенные из родных программ путем растеризации.
Не думаю, что список полон. Включайте фантазию.
P.S. Если интересно, можно продолжить.