41 заметка с тегом

рендереры

Другой CSS

Хотя после создания своего картостиля я наглухо засел в лагере Carto, не могу не радоваться экспансии MapCSS. В последнем josm-tested на него полностью перевели стандартный стиль, отказавшись от старого XML. Komap давно не развивается, но есть альтернатива: Stephan Bösch-Plepelits поддерживает версию стиля osm.org в MapCSS, и с августа постоянно выпускает новые версии PGMapCSS — интересного подхода к подготовке мапниковского стиля.

Судя по описанию, превращать MapCSS в XML (как делал komap) недостаточно: PGMapCSS также запихивает всю обработку данных в функции базы данных PL/Python3, которые вызывает сгенерированный стиль. Он поддерживает вычисляемые параметры, которые появятся в Mapnik 3, пока что через обработку всех возможных значений. Также в него проникли некоторые приятные штуки из komap: например, объединение дорог по названиям, чтобы карта не пустовала. Сочетание eval() с некоторыми специфичными для PGMapCSS селекторами позволяет творить чудеса: можно отрисовывать только часть линии, можно строить подписи из каких угодно данных, можно связывать близко расположенные объекты (например, выводить название улицы для кафе на ней). И всё это не требует знания SQL, в отличие от CartoCSS (хотя названия функций в eval() подозрительно напоминают функции PostGIS): просто пользуйтесь практически тем же языком описания картостилей, что и в JOSM.

В разделе примеров некоторые поражают воображение. Все их можно посмотреть по ссылкам на подсайт OpenStreetBrowser, развивающий идею котяриного онлайн-редактора, пусть не в браузерном варианте, и не такой красивый, как TileMill. Неделю назад вышла очередная версия PGMapCSS, с которой можно смешивать MapCSS и обычные XML, пользоваться eval() в селекторах и значками из набора Maki.

2014   mapcss   рендереры

MapSurfer.exe

Максим Рылов сегодня выложил установочный комплект MapSurfer, рендерера красивейшего из практичных слоёв OSM. Работает только под Windows и .NET 4.5, ест огромное число форматов, включая чистый OSM, шейпы и PostGIS, хранит кэш тайлов 12 способами и выдаёт минимальные WMS/TMS. По списку возможностей очевиден фокус на алгоритмах расстановки надписей, предмете работы автора в немецком университете. В ближайшие полгода он будет занят диссертацией, поэтому развитие сервиса может замедлиться, а версия под линукс появится едва ли. В комплекте нет полного стиля OpenMapSurfer, но включена пара примеров. Лицензия — только для некоммерческого использования, в противном случае нужно спросить разрешения у автора.

2014   рендереры

Карта F4

Французская игровая компания F4 исследует потенциал карт OpenStreetMap, создав их 3D-визуализацию (требует поддержки WebGL). Рендеринг постоянно удивляет: тут вода в реке течёт, там фонтан брызжет, деревья стоят в ряд, висят провода на опорах ЛЭП, а в небе плывут облака. Дома сложной формы (вроде Останкинской телебашни) отображаются без проблем, а в частном секторе заметны крыши разной формы. Фасады почти все белые: соответствующие теги у мапперов не в почёте. Данные подгружаются из копии планеты на сервере компании. Авторы отвечают на вопросы и исправляют ошибки, но выкладывать исходники проекта и моделей не планируют.

2013   рендереры

alaCarte

В свободное от работы над OSRM время DennisL, как оказалось, заставляет студентов Технологического института Карлсруэ работать над OpenStreetMap-проектами. Пару дней назад он продемонстрировал результат: рендерер MapCSS на C++11, оптимизированный для выдачи тайлов и включающий http-сервер. Исходники выложены на гитхаб под копилефт-лицензией.

Презентация на немецком языке (слайды сменяются пробелом) рассказывает про огромные объёмы данных (сервер рисует район Германии, около 230 мегабайт в pbf), эвристики для расстановки надписей, и как всё здорово получилось: готовый к установке дистрибутив, работающий сразу на OSM XML; исправленные стили MapCSS мгновенно подхватываются, а производительность сопоставима с мапником.

Проект улучшается ежедневно: студенты ещё не потеряли интерес, и постоянно что-то подкручивают. Так, на днях сервер научился работать с мета-тайлами, и, похоже, тестовое покрытие скоро расширят на всю Европу. У alaCarte есть все шансы вырасти в «Mapnik на MapCSS»: пусть не такой продвинутый, зато «народный», как и формат стилей.

2013   mapcss   рендереры

Данные без базы

Michal Migurski уже месяц работает над избавлением картографов от необходимости ставить PostgreSQL, импортировать планету и настраивать репликацию: вместо этого он предлагает задействовать плагин к Python Datasource для мапника, скачивающий данные тайлами в бинарном формате MVT (Mapnik Vector Tiles). Позавчера он делал доклад на конференции GeoMeetup, где упомянул, что сервер тайлов уже работает. Он выдаёт четыре слоя — дороги, их названия, землепользование и водоёмы. Испытав свой плагин, Michal заметил, что большая времени уходит на скачивание тайла: впрочем, едва ли кто оставит этот источник данных после отладки стиля.

Впервые тему векторных тайлов поднял OJW пять лет назад. Изначально он хотел выдавать куски OSM по запросу: в то время планета весила в семь раз меньше, и это можно было считать разумным. В 2011 году идею разрезания данных на квадраты оживили в OSMT — но ненадолго, на пару дней. Единственным проектом, который использует тайлы не в формате json, остался OpenScienceMap: картографическое приложение для Android непонятного назначения. И ещё у Cloudmade есть тайлы в SVG: когда-то, наверное, этот формат считался перспективной заменой растровым.

Самыми известными векторными тайлами остаются GeoJSON-тайлы для Kothic JS: написав в 2011 году их рендерер на JavaScript, Komяpa качественно удивил сообщество. Увы, несмотря на оптимизм программистов, плодами работы стали лишь зависшие багрепорты для основных браузеров, несколько слайдов, демонстрирующих мощь русскоязычных программистов, и генератор тайлов, написанный в рамках Google Summer of Code прошлого года. Месяц назад, после долгого перерыва, гитхабовские репозитории сервера и библиотеки неожиданно активизировались: возможно, мы всё-таки увидим настоящий проект на основе Kothic JS.
2013   javascript   рендереры
Ctrl + ↓ Ранее