4 заметки с тегом

mapcss

Другой 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   рендереры

Здравствуйте, я Мартайн, и я — осмер

Послеобеденная сессия началась с хоровода участников рабочих групп OSMF: Фредерик, Грант, Саймон, Гарри и другие рассказали про свои группы, описали планы и, конечно, пригласили осмеров участвовать. «Кто пойдёт добровольцем?» — десять рук. Короткие презентации включали анализ GPS-треков относительно карты OSM, важность тегов wikipedia и просьбу, если знаете кого-то, про кого есть страница в википедии, записать его голос: «Здравствуйте, я Иван Васильевич Петров из Сызрани, Россия»; фееричное выступление Ивана Санчеза о конкуренции с миллиардным бизнесом местного автобусного парка, и понятным образом не запомнившийся доклад с загадочным названием «OSM to Strip Map». У меня в блокноте записана чья-то идея собрать все собранные на картовстречах и поездках фотографии, возможно, в облаке, и показывать их интернету с вопросом «что вы видите на этом снимке», но едва ли она относится к тому strip map.

Отчёты о картировании Шотландии, Словакии и Ирландии я пропустил, вместо этого придя в Break-out room на задворках университета для обсуждения в узком кругу проблем и будущего MapCSS. Дискуссию вели Ричард Фэйрхёрст и Котяра, и среди проблем, если не считать общей стагнации, перечислили отсутствие внятной документации и инструментов для обычных пользователей, задействующих MapCSS, вроде TileMill. В то же время, в отличие от CartoCSS, этот стиль предназначен для обработки непосредственно osm-файла, и в этом его сила: например, можно написать скрипт для печати нужного фрагмента карты буквально из двух шагов, а-ля маперитив. Это закроет и вопрос печати из JOSM, поскольку там тоже MapCSS.

Затем половина группы обновилась: Martijn van Exel последние полчаса перед кофе-брейком (выросшие в 40 минут) решил провести за обсуждением инструментов анализа качества (т. е. валидаторов). Одним из поводов был новый челлендж MapRoulette Battlegrid, о котором он позже напомнил в коротком докладе, и мысли об объединении разных валидаторов под одной крышей, что, в общем, является сутью MapRoulette. Естественно, я напомнил о нашем API для валидаторов сайта openstreetmap.ru и предложил его опробовать. Жаль, три подключенных валидатора не могут соревноваться с французским Osmose, объединяющем, по словам автора, полтора десятка.

Увлекательный рассказ Сары Хоффман про Nominatim открыл глаза на некоторые фичи поисковика. Так, тег wikipedia очень важен: по википедии рассчитывается важность объекта, поэтому если деревни не видно в первых результатах поиска, добавьте этот тег. А из адресных тегов воспринимаются только addr:housenumber и addr:street (или addr:place, он поддерживается с мая), остальное считается из вложенности. Также Сара впечатлилась двумя докладами про использование Solr для поиска (ErshKUS для русского сайта использует Sphinx) и собирается его задействовать.

Доклад Jochen Topf о типе для полигонов не открыл ничего нового: вопрос спорный, идите и пишите код. Norbert Renner разбил мир на PBF-тайлы 13-зума и, внимание, загружает их в Leaflet. Работает в опере, фаерфоксе, хроме. Волшебство. После этих двух ещё четверо сделали пятиминутные презентации. Среди них японец, расследовавший подземную реку, и я попросил сделать кнопку «спасибо за правку» и поле для комментария в списке ченджсетов.

Закрытие конференции не догнало по эпичности ужин прошлого дня: вышел Хэнк Хофф, всех поблагодарил, особенно главного организатора Brian Prangle, подарил несколько лишних ноутбуков команде HOT для обучения маленьких осмеров, и вручил наш приз за мировое лидерство победителю фотоконкурса из Японии. Но приз с секретом: японец должен будет сфотографироваться с ним, и затем передать деревяшку следующему мапперу. Мы надеемся, что к следующему сотму подарок обойдёт весь мир и все сообщества. После спасиба самому Хэнку все без фанфар разошлись по пабам, а русскоязычная группа не преминула поздним вечером ещё раз пройтись по каналам.

Видеозаписи обещают выложить сегодня: следите за сайтом конференции. Полное расписание — я, понятно, увидел лишь половину докладов — там же. Использованы фотографии Александра Качкаева (также — русская мафия), WordShore и Kevin Lawson.

 3 комментария   2013   mapcss   sotm

alaCarte

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

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

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

Рисование под рендерер

В dev@ сейчас идёт обсуждение CSS-языков (всех четырёх: Cascadenik, Carto, MapCSS и Maperitive) и автоматического преобразования мапниковских стилей в них. Обратная задача уже выполнима для первых трёх, например. Началось, то есть, с вопроса о конвертировании, но вылилось в сравнение языков между собой. Graham Jones замечает, что у Carto неудобно задаются источники данных. Дальше AJ Ashton противопоставляет Ca* и MapCSS, а Andy Allan, недавно делавший замечательную презентацию про Mapnik на SotM-EU, рассказывает, как нелепо MapCSS выглядит из мапниковского лагеря. Разумеется, безответным это не осталось, и Richard Fairhurst, автор потлатча, в деталях описал, почему MapCSS оказался именно таким. После обмена претензиями про написание свойств Ричард случайно посетовал на то, что маперитив не использует этот язык, и, конечно, появился Igor Brejc с подробным ответом. Чуть позже пришёл Komяpa, объяснил, что MapCSS вообще некорректно сравнивать с мапником, и чуть дальше в дискуссии с Игорем рассказал про конвертацию MapCSS в Mapnik для космоснимков, и как в итоге появился Kothic JS, как попытка отвязаться от рендерера на сервере.

В talk@ третью неделю обсуждают, как и стоит ли прикручивать к ченджсетам комментарии, кнопочки like/dislike и рейтинг. В целом, против +1/-1 никто не возражает, хотя и боятся, что отрицательные голоса могут быть восприняты не как мнение, а как руководство к откату.

Ну и вот ещё смешное NE2 нашёл на карте.

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