RU:OSM Map On Garmin/Cycle map/TYP files
Разработка
Обратите внимание, что я прекратил разработку этой карты (на данный момент нет ничего, что можно было бы улучшить, кроме поиска по предлагаемым функциям, чтобы добавить ещё больше определений — у неё было больше определений, чем у любой другой карты OSM для Mapsource, прежде чем разработка остановилась (я включил все определения, которые использовались teddy и некоторыми другими). Если вам просто нужен очень хороший рендеринг для очень большой территории (например, Австрия за один рендеринг), то вы можете продолжить этот процесс. Однако если вам нужны карты лучшего качества для Mapsource, и даже больше функций, тогда я советую вам использовать процесс, который я использую здесь: OSM Map On Garmin/mtb map. Если кто-то хочет получить карту для конкретного велосипеда, не фокусируясь на треках горных велосипедов, то я бы предложил заархивировать эту тему и построить на моей карте mtb.
Я, конечно, очень горжусь тем, что мой рендеринг карты для Mapsource стал изображением недели на главной вики-странице! —Extremecarver 17:40, 1 ноября 2008 (UTC)
Подготовка
На Linux
- Установите модули Perl IO::Uncompress::Bunzip2 из CPAN
- IO::Uncompress::Bunzip2 зависит от Compress::Raw::Bzip2 and IO::Compress::Base; Пользователи Debian/Ubuntu могут создавать пакеты, например
dh-make-perl --build --cpan Compress::Raw::Bzip2
- IO::Uncompress::Bunzip2 зависит от Compress::Raw::Bzip2 and IO::Compress::Base; Пользователи Debian/Ubuntu могут создавать пакеты, например
- Скачайте mkgmap и разархивируйте его
- Скачайте osmcut.*.jar отсюда, распакуйте его командой
gzip -d
, и переместите .jar в папку mkgmap - Скачайте откуда-нибудь файл .osm (например, один из этих выгрузок planet.osm)
- Скачайте cyclingmap_typfile.pl и переместите его в папку mkgmap
- Скачайте cycling_map_features_typfile.csv и переместите его в папку mkgmap/resources
- Скачайте 4011.typ и переместите его в папку, в который вы хотите получить свои карты
На Windows
- Установите Active Perl, необходим пакет Bundle-IO-Compress-Bzip2 (используйте «Perl Package Manager» для установки модуля)
- Скачайте mkgmap и разархивируйте его
- Скачайте osmcut.*.jar отсюда, разархивируйте его (
gzip -d
), переместите .jar в папку mkgmap - Скачайте откуда-нибудь файл .osm (например, один из этих выгрузок planet.osm)
- Скачайте cyclingmap_typfile.pl и переместите в папку mkgmap
- Скачайте cycling_map_features_typfile.csv и переместите в папку mkgmap/resources
- Скачайте 4011.typ и переместите его в папку, в который вы хотите получить свои карты
Запуск
perl cyclingmap_typfile.pl yourosmfile.osm
(или yourosmfile.osm.bz2)- Обратите внимание, что Osmcut.jar деактивирован в mtbmap.pl (#закомментирован), вы должны включить его для больших файлов country.osm, таких как Германия или Европа. Вы можете попытаться визуализировать его, но я не знаю, будет ли это отображать Unit. Хотя в таких странах, как Австрия, всё в порядке.
- Он создаст файл .img, который вы должны скопировать на свой GPS с помощью Mapsource, Sendmap или QLandkarte
- Интегрируйте файл .TYP в свою карту. Если вы работаете с mapource под "MS Windows", это легко сделать с помощью Mapset Toolkit либо вы можете использовать sendmap. Примечание: без typ-файла эта карта не будет отображать много деталей и будет выглядеть ужасно. Вы также можете вручную записать его в реестр. Вы должны иметь возможность без проблем использовать typ‑файл в Linux с помощью mkgmap. Вам просто нужно указать идентификатор "family id", к которому принадлежит typ-файл, используя параметр mkgmap
--family-id
.
- Интегрируйте файл .TYP в свою карту. Если вы работаете с mapource под "MS Windows", это легко сделать с помощью Mapset Toolkit либо вы можете использовать sendmap. Примечание: без typ-файла эта карта не будет отображать много деталей и будет выглядеть ужасно. Вы также можете вручную записать его в реестр. Вы должны иметь возможность без проблем использовать typ‑файл в Linux с помощью mkgmap. Вам просто нужно указать идентификатор "family id", к которому принадлежит typ-файл, используя параметр mkgmap
Результат
Примечание: вы можете видеть розовые и бирюзовые веломаршруты, даже если эти линии также могут быть отмечены другими атрибутами, которые обычно преобладают. Синяя точка — это велосипедная дорожка, а не пешеходная дорожка (красная точка)
- Если вы хотите отредактировать свой typ-файл, вы можете редактировать его прямо в тексте, а затем скомпилировать, использовать Maptk или онлайн-редактор, что проще для новичков.
- Не уверен, отображает ли он умляуты. Пока не работает с велосипедными точками. При наведении указателя мыши есть особенности — они связаны с ошибкой в mkgmap (иногда информационная подсказка в mapource или на устройстве отображается не в нужном месте). Ещё хуже при прокрутке с этой позиции: неправильное место, в котором была подсказка показанный ранее, будет использоваться как «прокручиваемое место отправления». Реализация с использованием TYP-файла чище, но немного сложнее, чем старый способ. TYP-файлы используются только цветными PNA Garmin, поэтому устройства Garmin с черно-белым дисплеем должны используйте "старую" процедуру велосипедной карты (однако пользователей чёрно-белых должно быть немного и они всё ещё могут использовать старую процедуру).
- Значительные ограничения: прямо сейчас очень сложно (Perl Programming в mtbmap.pl) реагировать на два разных тега, которые используются для тегов одинаковым образом в базе данных. Это делается в mtbmap.pl, однако этот процесс придётся сильно переработать.
Ограничение полилиний mkgmap
- В настоящий момент полилинии с тегами (шестнадцатеричные) между 0x2b и 0x3f не будут отображаться в Mapsource (как и 0x17). Однако они будут отображаться на самих устройствах. Mkgmap пока не поддерживает трехбайтовые определения, поэтому полилинии можно интегрировать только от 0x00 до 0x3f (шестнадцатеричный).
Прогресс
13.10.2008 — Я загрузил новый файл определения csv, включая соответствующий typ-файл. Новое: многие виды спорта теперь дифференцированы (например, футбол, теннис, автоспорт, скалолазание, настольный теннис, спортивный стадион, скейтбординг и роликовые коньки, военные здания и другие). Визуальное различие между школой, университетом, коммерцией, общедоступными, церквями и соборы, … зданиями. Будет отображаться светофор. Также очень важно: будет отображаться прокат велосипедов. То есть все городские велостанции в Вене вроде бы показываются (бесплатный прокат байка до 1 часа) — очень полезно для передвижения по городам на велосипеде. Различия между гондолами, кресельными подъемниками и бугельными подъемниками. Включая ледниковый полигон. Также показаны охотничьи домики и ветрогенераторы для лучшей ориентации. Использование этих определений, включая typ-файл, теперь визуализирует карту, которая различает более важные объекты, чем, например, Osmarender (по крайней мере, в Вене я не включил наземные особенности, характерные, например, для пустынь). —Extremecarver 17:01, 13 October 2008 (UTC)
16.10.2008 — К сожалению, не загрузил новые файлы, так как нужно было кое-что исправить. Сейчас буду загружать новые файлы. Поиск новых POI тоже должен работать хорошо. В качестве примечания: важно, чтобы POI определялись с правильной категорией, чтобы они не загромождали функцию поиска в неправильной категории.
19.10.2008 — Удалён параметр --net из процесса компиляции mkgmap. Это устраняет ошибку всплывающей подсказки мыши, присутствующую в функции --net mkgmap. Поэтому больше никаких «блокировок на дороге».
29.10.2008 — Я выложу здесь новый подход с использованием osm composer через несколько дней. Это революционизирует процесс создания велосипедных карт Garmin. Концепция уже мертва, мне нужно только правильно передать параметр map_features.csv в osm composer.
Данные SRTM / Контурные линии
Я просто попытался получить покрытие SRTM для всей Австрии с прямоугольником вокруг него, используя данные SRTM3 с шагом 10 (каждые 10 метров контурная линия). В результате получился файл osm размером 11,4 ГБ. В любом случае, вот текст, который я использовал в пакетном файле, чтобы получить данные для всей Австрии:
srtm2osm.exe -bounds1 46.320596 8.686142 49.073315 17.621614 -step 10 -cat 200 50 10 -large
Для его создания я использовал следующий пакетный файл (для меньшего региона).
java -Xmx512M -jar D:\Garmin\mkgmap_680\mkgmap.jar --map-features=D:\Garmin\mkgmap_680\resources\cycling_map_features_typfile.csv --levels=0:24,1:22,2:20,3:18,4:16,5:14,6:12 --gmapsupp data.osm srtm.osm
Если вы теперь используете файл osm от geofabrik как data.osm, вы можете добавить к нему изолинии. Сделать это несложно, но если вы хотите сделать это для большого региона, лучше используйте ПК с большим объемом оперативной памяти и пустым дисковым пространством. Если osmcut у вас отлично работает, вы также можете использовать приведенную выше команду с srtm.osm 11,4 ГБ или даже из более крупного региона.
Чтобы включить контурные линии, смотрите здесь: Srtm2osm
Планы на будущее
- Сделать то же самое для горных (mtb) треков и трасс
Требуется: кто-то, кто может переписать mtbmap.pl, включив в него горные треки и трассы (оставьте велотреки внутри) (возможно, это скоро будет достигнуто с помощью OSM Composer).
- Использовать DEM (Digital Elevation Model, цифровую модель рельефа) вместо простых горизонталей. Однако до сих пор, насколько мне известно, никто не узнал, как это сделать для Garmin PNA.
- Даже после включения DEM разработать систему автотрассировки, которая учитывает также высоту (хотя, возможно, это будет невозможно для GNA Garmin).
- Смотрите: OSM Map On Garmin/mtb map
Смотрите также
- OSM Map On Garmin/Cycle map
- OSM Map On Garmin/mtb map
- OSM Composer — лучший графический интерфейс для MKGMAP, доступный на данный момент