RU:Mapgen.pl

From OpenStreetMap Wiki
Jump to navigation Jump to search

broom

Help (89606) - The Noun Project.svg

Mapgen.pl
Mapgen009bus.png
Автор: User:Garry68
Платформа: Linux
Версия: 1.12 (2010-11-17)
Язык: английский
Исходный код: http://svn.openstreetmap.org/applications/utils/gary68/
Язык
программирования:
Perl

easy to use cause limited concept

mapgen это движок рендеринга основанный на Perl, который принимает на входе файл .osm и файл стиля. На выходе генерируется SVG и, при использовании inkscape, PDF и PNG. Текущая версия не работает под Windows.

Также почитайте про Hikingbook.pl, чтобы увидеть, насколько сложные карты для туристических маршрутов или атласы дорог можно сгенерировать автоматически.

Я подумываю о преемнике для mapgen... А вот и он, собственно: Mapweaver

Примеры карт и файлов

Примеры

Старое

Цели

  • Простая и быстрая генерация карты, разнообразные выходные форматы
  • Быстрое извлечение нужных данных из файлов *.osm (place=*)
  • Простая обработка файла стиля
  • Street and place directories
  • Keep it simple (лишь 2 необходимых параметра для быстрого запуска)
  • Keep it powerful (с использованием дополнительных параметров)

Возможности

  • проекция Меркатора
  • создание SVG, PDF и PNG за один шаг
  • автоматическая генерация карты для указанного населённого пункта (v0.05)
  • файл стиля легко создаётся в OpenOffice или MS Excel (просто экспортируем в csv; разделитель полей - пробел, разделитель текста - ")
  • поддержка мультиполигонов (v0.06)
  • надписи для точек и линий (даже если там несколько значений)
  • интеллектуальное размещение надписей для линий и POI (обнаружение коллизий, учёт изгиба линии)
  • дополнительная конвертация в PNG и PDF при возможности и при наличии inkscape
  • легенда автоматически рисуется в соответствии с файлом стиля (может быть отключена, произвольное размещение)
  • опционально может быть наложена координатная сетка
  • ещё одна опция для автоматического создания списка улиц и/или POI (с привязкой к сетке); также форматируется в PDF (посредством latex, dvips и ps2pdf - автоматически.Mapgen102dir.pdf)
  • данные могут быть обрезаны по границе, что допускает отсутствующие/недостаточные данные в файле osm
  • функции масштабирования
  • поддержка "мульти-надписей"
  • статистика тегов для оптимизации правил
  • поддержка маршрутов с остановками и расставленными значками/символами на маршруте
  • шаблоны значков для полигонов
  • поддержка разной резкости и выходных разрешений
  • таблички в качестве надписей

Алгоритмы и детали

Документация

Подсказки

  • если в надписях не видно букв, пожалуйста, увеличьте значение ppc, равное 6. Поставьте -ppc=6.5, например. ppc - количество точек на символ (points per character (at 10pt))
  • мой 10" нетбук с разрешением 1024x600 имеет 117 dpi (вы можете использовать это значение в [-scaledpi])
  • мой 18" монитор с разрешением 1280x1024 имеет 90 dpi (вы можете использовать это значение в [-scaledpi])
  • Acrobat Standard (9) может печатать большие PDF, разбивая их на несколько листов! Даже перекрытие позволяет задать.
  • My evince document viewer has problems rendering areas with tile patterns! Use another viewer if problems become visible.
  • интересная статья о надписях(англ.)
  • производительность: Гамбург (157MB OSM файл) в масштабе 1:50.000 использует 370MB RAM и обрабатывается 22 минуты (включая конвертацию в PDF) на моём маленьком нетбуке

Пожелания / Обсуждения / Идеи

  • отдельный тег для табличек вместо надписей
  • таблички для точек
  • ini файлы для внешнего задания некоторых параметров
  • масштабирование мостов/туннелей по мере расширения дороги
  • опциональные заголовки на карте
  • поддержка Open Sea Map (маяки, буи и прочее)
  • [-forceicons] (параметр, который рисует значки и надписи, не заморачиваясь об их порядке)
  • blank background for ruler and scale
  • использование другой библиотеки проекции для совместимости с Windows
  • как видно, легенда может разещаться только в левом верхнем или нижнем правом углу. Было бы замечательно, если бы она размещалась и в остальных углах тоже
  • версия для Windows? - насколько мне известно, скрипт запускается под active perl и некоторыми другими реализациями. Или ставьте Virtualbox. Gary68.
Нет, Geo::Proj4 падает под ActivePerl for Windows --ajoessen

Версии

v1.19 (2 апреля 2011)

  • circles also for ways/areas; скоректирована ошибка толщины кругов

v1.18 (1 апреля 2011)

  • таблички в качестве надписей

v1.17 (29 марта 2011)

ВНИМАНИЕ! Для данной версии требуется адаптировать файлы правил. Смотрите последний раздел в мануале.

  • новые определения пунктиров, более гибкие
  • position of ruler, grid labels and scale value changed
  • теперь можно настраивать надписи для легенды

Старые версии

Установка и исходники

Поскольку тут набралось много информации на эту тему, она представлена на отдельной подстранице: Mapgen.pl/Installation

Использование

  • скачайте область с помощью josm, или на вкладке "Экспорт" на главном сайте, как данные XML. Сохраните её в ту же папку, где лежит mapgen.pl как файл .osm.
  • перейдите в папку с mapgen.pl и прочими файлами с помощью команды cd
  • предположим, что вы назвали файл "map.osm", выполните следующую команду:
perl mapgen.pl -in=map.osm -style=mapgenRules.csv
  • будет создан файл mapgen.svg с вашей картой.

Notes

Если вы правите свой osm файл в josm перед созданием карты, не удаляйте (DEL) объекты, а вычищайте (purge, CTRL+SHIFT+P) их. Точки, которые вы удалили командой delete, всё равно будут нарисованы.

Чтобы увидеть, какие опции доступны для использования (например, отключение легенды, или настройка размера изображения), выполните

perl mapgen.pl -help