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

рендереры РСС

Другой CSS

27 мая 2014, 18:57

Хотя после создания своего картостиля я наглухо засел в лагере 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.

MapSurfer.exe

29 января 2014, 23:19

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

Карта F4

21 июня 2013, 18:20

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

alaCarte

12 апреля 2013, 18:42

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

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

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

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

4 апреля 2013, 23:28

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.

Закат Маперитива

10 февраля 2013, 23:57

Маперитив — на всё ответ, подсказывали мы на форуме год назад. Набросал страничку правил отрисовки, загрузил дамп с гис-лаба, запустил рендерер — и нет проблем. Не нужно ни настраивать PostgreSQL, ни биться с мапником и его стилями.

Как оказалось, проблемы есть у автора маперитива: ему до смерти надоела его работа, и хочется 100% времени отдавать разработке ГИС-приложений, особенно своего рендерера. Он пытался подрабатывать дизайнером карт, доводя до промышленного качества вывод маперитива, но заказов было недостаточно, чтобы поддерживать семью. А сам рендерер... Игор признаёт, что язык описания стиля достиг своего потолка, а работа с сырыми данными OSM неразумна. Всё это давит, и разработка маперитива сдулась: лишь пару раз в месяц исправляются баги.

Ответ Игор ищет, как ни странно, в маперитиве. В третьей версии, совсем не похожей на предыдущие. Такой, что сможет делать профессионально выглядящие, красивые и удобные карты, которые можно будет продавать в векторном виде за деньги. Увидев, сколько просят за сомнительного качества картографию, он резонно предположил, что можно продавать подготовленные фрагменты OSM на порядок дешевле и красивее. Вдохновившись перспективами, он переписывает с нуля всё, что мешало маперитиву делать красиво. Данные теперь хранятся в SQLite, метки расставляются по усложняющемуся с каждым днём алгоритму, дорожная сеть упрощается, полигоны объединяются, а результат можно выгрузить в PDF, который проще загрузить в векторные редакторы, нежели SVG.



Месяц назад открылся сайт-заглушка ScalableMaps.com, который оживёт через несколько недель. На нём можно будет посмотреть и купить карту нужного города за небольшие деньги. Пока что можно оценить предварительные результаты, которые Игор публикует в твитере проекта. Выглядят они не сильно отлично от того, что делал второй маперитив. Но и работа не закончена.

Конечно, Maperitive v3 будет опубликован. Но создавать стили отрисовки, вероятно, станет сложнее. И придётся изучать python — хотя к этому подталкивала и вторая версия. Здесь автор тоже хочет заработать, помимо бесплатной версии планируя предлагать платную, со включенными дополнительными алгоритмами, вроде умной расстановки подписей.

Тайлы из QGIS

27 декабря 2012, 9:59

Раньше, чтобы посмотреть хитро привязанный снимок в JOSM, приходилось настраивать MapServer. А показать свой стиль — лишь картинкой. NextGIS спешит на помощь: они опубликовали плагин, который из карты делает тайлы. Их уже можно подключить как в лифлете, так и в редакторе.

Настоящая многоязычность

2 декабря 2012, 23:02

Вы, наверное, помните карты для википедии, которые благодаря Тиму Альдеру (более известному как Kolossos) щеголяют надписями на языке пользователя. Он сделал около двухсот слоёв с буквами, которые накладывает на слой без них. При самостоятельном рендеринге карты можно использовать любые теги для подписей — так, карта космоснимков выпускается в трёх вариантах: на русском, белорусском и английском. Другой вопрос, что для той же википедии придётся держать две сотни отдельно работающих тайлсерверов, и это несколько неэффективно.

Весной этого года Тим выиграл грант немецкой википедии на улучшение системы перевода карт, но в подмогу позвал Jochen Topf. С тех пор последний работал над более современным решением, и позавчера продемонстрировал почти готовую многоязычную карту. В своей основе это тоже два слоя: без подписей (на основе улучшенного немецкого стиля) и с подписями, но последний, создаваемый с помощью MapQuest Render Stack, параметрический. То есть, ему можно передать «ru,en,_» и получить слой с надписями на русском, где при отсутствии name:ru отобразится английский перевод, а если нет и его — то значение тега name. Также можно делать подписи со скобками, как в азиатских странах: так, в Финляндии «sv|fi,_» выведет шведские названия с финским переводом в скобках (если перевода нет, то с name).

Завершение этого проекта должно снять вопрос о языке для тега name: выбор языка карты станет достаточно простым, чтобы не заморачиваться этим вопросом. Возможно, когда-нибудь многоязычными станут и карты на osm.org. Остаётся вопрос, как перевести все те сотни тысяч надписей, что уже есть в базе. Массовые импорты названий не приветствуются: так, некоторые уже роптали на Kolossos-а, загрузившего в OSM переводы названий всех стран на все языки. Несмотря на несовместимость лицензий OSM и википедии, самым популярным инструментом для перевода остаётся плагин Add-tags (про который рассказывал trolleway на конференции). Он просто берёт перевод из интервики. СканЭкс когда-то держал сервис name4osm для автоматического перевода топонимов, но принцип работы сайта был со всех сторон окритикован, и, наверное, поэтому его закрыли.

На этой неделе появился новый переводчик: Nomino. Логинитесь через OAuth, выбираете топоним (при правом клике на карту выдаётся дерево от Nominatim) и добавляете переводы — только те, что знаете сами. Конечно, не без проблем: так, при наличии контурных границ название на точке place перевести, похоже, невозможно.

А на форуме снова напоминают: не смотрите, что в теге name указано русское название, дублируйте его в name:ru. Это странное требование объясняется довольно просто: это разные сущности. Name содержит подпись для рендерера (поэтому расстановка name — это тегирование для рендерера, да), а name:ru — название на конкретном языке. Во многих странах получаются теги с одинаковыми значениями, но в Японии, например, принято составлять name из двух и более названий.

TileMill 0.10 и ура

20 сентября 2012, 19:39

Вчера MapBox выпустили очередную версию TileMill, 0.10.0 (как им не стыдно за такую дурацкую нумерацию?). Теперь он поддерживает растровые операции, введённые в последней версии мапника, и параметрические преобразования. На сегодня это наиболее тесно интегрированная с мапником система для создания и развёртывания картостилей (не в последнюю очередь благодаря тому, что главные разработчики мапника работают в MapBox), и благодаря ей уже нет смысла начинать разбираться в Mapnik XML.

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

Наконец, новость дня: несколько часов назад фонд Knight Foundation объявил победителей Knight News Challenge в потоке «Data». Среди них оказались и Development Seed с MapBox, обещавшие написать к маю лучший в мире редактор для OpenStreetMap с открытым кодом (страница заявки снова удалена, почему-то). Теперь они отхватили самый большой из грантов, и не смогут отвертеться: будем судить строго, но справедливо (или только строго). До дрожи красивый TileMill даёт основания надеяться, что даже если редактор окажется неудобным, закрыть его не поднимется рука. Авось, даст пинка развитию интерфейсов своих конкурентов.

Июльские релизы: Maperitive

8 августа 2012, 15:37

Igor Brejc решился, всё-таки, на перевод Maperitive 2 (версии, на минуточку, 2.3.3) в статус релиза. Но не удостоил это событие не то, что записи в своём блоге — даже в группе рассылки ни слова. Что изменилось за полгода, приходится гадать. То есть, копаться в xml и поднимать архивы группы:
  • Python API (без документации, если не считать этого);
  • как один из примеров, в комплект положен скрипт для создания обходных листов;
  • требование .NET четвёртой версии;
  • загрузка данных из Overpass API;
  • антиалиасинг при экспорте в растр;
  • неперекрывающиеся надписи;
  • рендеринг в восьмибитные PNG и их оптимизация через OptiPNG;
  • консольный режим;
  • отображение карты на весь экран (F11);
  • просмотр документации прямо из программы;
  • генерация MBTiles;
  • наконец, две коротких инструкции.
Загружать Maperitive нужно откуда обычно, а об обновлениях он напомнит сам.
Ctrl +  Ранее