Другой 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.

Поделиться
Отправить