RU:Рендеринг

From OpenStreetMap Wiki
(Redirected from RU:Rendering)
Jump to: navigation, search
Доступные языки — Rendering
Afrikaans Alemannisch aragonés asturianu azərbaycanca Bahasa Indonesia Bahasa Melayu Bân-lâm-gú Basa Jawa Baso Minangkabau bosanski brezhoneg català čeština dansk Deutsch eesti English español Esperanto estremeñu euskara français Frysk Gaeilge Gàidhlig galego Hausa hrvatski Igbo interlingua Interlingue isiXhosa isiZulu íslenska italiano Kiswahili Kreyòl ayisyen kréyòl gwadloupéyen kurdî latviešu Lëtzebuergesch lietuvių magyar Malagasy Malti Nederlands Nedersaksies norsk norsk nynorsk occitan Oromoo oʻzbekcha/ўзбекча Plattdüütsch polski português português do Brasil română shqip slovenčina slovenščina Soomaaliga suomi svenska Tiếng Việt Türkçe Vahcuengh vèneto Wolof Yorùbá Zazaki српски / srpski беларуская български қазақша македонски монгол русский тоҷикӣ українська Ελληνικά Հայերեն ქართული नेपाली मराठी हिन्दी অসমীয়া বাংলা ਪੰਜਾਬੀ ગુજરાતી ଓଡ଼ିଆ தமிழ் తెలుగు ಕನ್ನಡ മലയാളം සිංහල ไทย မြန်မာဘာသာ ລາວ ភាសាខ្មែរ ⵜⴰⵎⴰⵣⵉⵖⵜ አማርኛ 한국어 日本語 中文(简体)‎ 吴语 粵語 中文(繁體)‎ ייִדיש עברית اردو العربية پښتو سنڌي فارسی ދިވެހިބަސް

Под процессом рендеринга карты в основном подразумевается создание визуальной карты из сырых геопространственных данных. Часто это слово применяется в узком смысле создания растрового изображения, или набора растровых тайлов, но оно может также описывать создание карт в векторных форматах. "3D рендеринг" также может использовать картографические данные в качестве источника. Возможность рендерить карты в новых и интересных стилях или выделять на ней определённые точки - это один из важных аспектов открытого доступа к геоданным. Разработчики в сообществе OpenStreetMap и за пределами его создали много разнообразных программ для рендеринга данных OpenStreetMap. Также данные могут быть сконвертированы в другие форматы для использования в существующих рендерерах.

Меняйте слои на домашней странице с помощью значка '+'

Рендеринг на серверах OpenStreetMap

Самые быстрые примеры рендеринга данных OpenStreetMap можно найти на стартовой странице openstreetmap.org. Щёлкнув значок '+' в верхнем правом углу, можно переключаться между слоями, отображающими разные стили рендеринга. Несколько слоёв, включая слой по умолчанию 'Mapnik', создано с использованием программы Mapnik, и один слой сделан с помощью tiles@home - распределённой системы рендеринга на основе программы Osmarender. Для более глубокого понимания инфраструктуры, используемой в рендеринге и предоставлении стилей карт, смотрите обзор компонентов.

Рендеринг несёт в себе безграничную гибкость. Многие программы поддерживают разновидности таблицы стилей для задания таких вещей как цвет, ширина линий, направление текста, значки для точек интереса, и многих других важных визуальных тонкостей.

Программы для рендеринга

Основные опции для обычного растрового 2D рендеринга:

  • Mapnik - Требует PostgreSQL и различные C++ библиотеки. Сделан быстрым и подходящим для генерации тайлов на high-end серверах, но его не так просто поднять.
  • Osmarender - XSLTs, выполняющий трансформацию OSM XML в SVG. tiles@home - проект, использующий Osmarender для создания набора тайлов для слоя карты в дополнение к Mapnik, Однако, Osmarender также может быть хорошим решением для однократного быстрого рендеринга. Формат SVG позволяет выполнять чистовой постпроцессинг (смотрите другие опции ниже).

Другие рендереры, включая векторные:

  • Maperitive настольная программа рендеринга, работающая с локальными файлами (.osm, .osm.bz2 and GPX) по правилам рендеринга, указанным в текстовом файле. Выдаёт BMP, PNG и SVG. Не предназначена для высокопроизводительного рендеринга большого объёма данных, но гибка и проста в установке, хороший вариант для однократного рендеринга (например, карты вашего города). Также имеет генератор тайлов, отрисовку рельефа, цветовое обозначение высот и многое другое. Работает под Windows, Linux, Mac. Написана на C#
  • Kosmos движок на основе GDI/.NET (Windows), работающий с локальными файлами (.osm). Правила рендеринга описаны в Вики. Не предназначен для высокопроизводительного рендеринга большого объёма данных, но гибкий, хороший вариант для однократного рендеринга. Заменён Maperitive
  • CartoType - лицензированная библиотека роутинга и рендеринга. Работает под десктопной и мобильной Windows, Symbian OS. Написана на C++.
  • TileMill интерфейс Mapnik для применения пользовательских настроек.
  • Mapsforge - бесплатный и свободный набор инструментов, позволяющий сообществу легко создавать новые приложения на основе OpenStreetMap. Предоставляет инструменты и API, включающие решения для рендеринга карты, навигации и планирования маршрутов, индексирования и поиска POI, накладывания карт и прочего. Написан на Java, целевая платформа, похоже, устройства Android.
  • Mapweaver - преемник mapgen.pl в рендеринге на Perl, автоматическое преобразование OSM в SVG и, с помощью Inkscape, в PNG или PDF. Поддерживает списки улиц и POI, наложение сеток и координат. Автоматическое извлечение желаемого места из файла OSM. Не работает под Windows.
  • Mapgen.pl - рендеринг на Perl, автоматическое преобразование OSM в SVG и, с помощью Inkscape, в PNG или PDF. Поддерживает списки улиц и POI, наложение сеток и координат. Автоматическое извлечение желаемого места из файла OSM. Не работает под Windows.
  • osmrender.pl - простая программа на Perl, рисующая простые карты. Принимает *.osm на входе.
  • PHP rendering - рендерер на PHP. Больше не поддерживается.
    • Phprender - обновлённая версия варианта выше?
  • Pyrender - набор идей и немного кода на Python для различных шагов рендеринга на сервере
  • Cartagen - рендерер, основанный на HTML5 Canvas/JavaScript
  • Kogutowicz - расширяемый, многоцелевой, основанный на Java движок рендеринга. Проект на стадии разработки, и пока не подходит для применения.
  • Cobra - заброшенный .Net/mono движок рендеринга, производящий SVG и растр.
  • Ceyx - .osm парсер и MapCSS рендерер в состоянии активной разработки. MapCSS - язык таблиц стилей, используемый Halcyon для описания внешнего вида карты. Если вам приходилось работать с HTML, то вы и здесь быстро освоитесь. Ceyx требует python, python-cairo и pygtk (для pango/pangocairo).
  • Maposmatic - может рендерить карты с сеткой и индексом улиц. Написан на Python/Django + mapnik :)
  • osmbrowser - может загружать большие области данных OSM и рендерить их в векторном формате. Смотрите http://github.com/wziard/osmbrowser и http://forum.openstreetmap.org/viewtopic.php?id=7901 .
  • MapDiff генерирует анимацию, написан на D
  • Memphis (Renderer) [1] программа и библиотека рендеринга для OpenStreetMap, написанная на C с использованием eXpat, Cairo и GLib. Лицензирована с условиями GNU Lesser General Public License.
  • Hardware_accelerated_real-time_rendering - рендеринг изображений посредством видеокарты в реальном времени, взамен отображения предварительно отрисованных тайлов.
  • Print OpenStreetMap with Gnuplot
  • Libosmscout предлагает простые, высокоуровневые интерфейсы для функций оффлайн рендеринга и роутинга на основе данных OpenStreetMap.
  • Kothic MapCSS/0.2 движок рендеринга на python.
    • Kothic_JS полноценный движок рендеринга карты на JavaScript с использованием HTML5 Canvas. Изначально разрабатывался как порт Kothic на JavaScript.
  • AlaCarte MapCSS движок рендеринга на C++11. Сборку под windows выкладывали в на форуме.

3D рендеринг

  • OpenStreetMap 3D - 3D OSM в виде веб сервиса
  • OSM2World - Инструмент на Java, создающий 3D модели из данных файлов OSM
  • ShugenDoMap - Мульти-платформенный OSM 3D рендерер реального времени. Разработан для мобильных платформ, вроде смартфонов и tablet-pc.
  • Kendzi3d - Плагин для JOSM - Позволяет просматривать отредактированные данные в 3D

Смотрите также

  • Renderers feature list - просмотр возможностей различных рендереров
  • Creating your own tiles - Разные варианты с краткими описаниями
  • List of OSM based Services - в основном, список различных рендеров карты
  • Category:Renderers - вики категория страниц, относящихся к рендерерам
  • 3D Development
  • OpenWhateverMap, карта из лоскутов различных стилей. Подходит для демонстрации возможностей, и просто прикольно!