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

проекты РСС

Не только 64 бита

13 марта, 16:17

Вы помните о проблеме 2013 года, когда идентификаторы узлов в OpenStreetMap превысили 2³¹. Те, кто держит регулярно обновляемый сервер тайлов, вчера вечером могли заметить ошибку в логе osm2pgsql:

Osm2pgsql failed due to ERROR: insert_rel failed: ERROR: value «37945» is out of range for type smallint

Да, программа не ожидала, что на хранение количества членов отношения может не хватить двух байтов. Чтобы восстановить обновление, нужно откатить состояние до этого state.txt и убедиться, что osmosis скачивает диффов минимум на два часа. На гитхабе разработчики osm2pgsql обсуждают, как и где лучше ограничить размеры отношений.

Откуда взялось такое большое отношение? Это, слава богу, не мультиполигон. В Бразилии кто-то решил импортировать геодезические сети: 7700 точек плановой сети (для определения координат) и 38 тысяч — высотной (для определения высот). Не очень понятно, зачем в OSM последние: снимки по ним не привяжешь, а ЦМР по осму нормальные люди не корректируют. Но обсуждение импорта в почтовой рассылке не завязалось, а бразильскую группу в телеграме, куда сбежали осмеры, читать сложно.

Проблема оказалась в том, что все импортированные точки люди решили объединить в отношения. В вики с 2008 года предупреждают: отношения — не категории, не создавайте их для облегчения выкачивания данных. Есть же Overpass API, есть osmfilter. «Но мне же надо» — и получилось отношение из 38 тысяч точек. В течение пары минут после его загрузки у многих обвалился osm2pgsql и через полтора часа DWG откатила правку. По техническим причинам, так как формальности были соблюдены и скоро, видимо, точки вернут.

Атласы на выбор

26 января, 1:47

Первые две ссылки на вики-странице про печать карт ведут на хорошо известные сервисы. Field Papers похорошел за прошлый год: регион для атласа выбирают теперь на полноэкранной карте, и не нужно думать над лишними настройками. Два клика, час ожидания (как можно так долго склеивать тайлы, не понимаю) — и pdf ваш. На нём традиционно расставлены точки и QR-код: исписанные листы можно отсканировать и загрузить подложкой в JOSM с помощью одноимённого плагина. Единственное, что стало хуже, — перевод. «Полевые материалы создан в Дизайн Stamen».

Второй сервис, MapOSMatic, стал синонимом атласов из OpenStreetMap. Создаваемые им файлы предназначены не для картирования, а для навигации: в них удобный индекс улиц и заведений, а на рамках страниц с картами указано, где искать соседние. За сервисом не стоит большой компании или хотя бы увлечённого разработчика, поэтому с 2012 года он работает на автопилоте, время от времени падая. На выходных, например, очередь на печать выросла до 300 атласов. Когда атлас нужен срочно и с особыми настройками — как, например, для Крымска во время наводнения, — приходится поднимать собственную копию.

Свежий еженедельник OSM обратил внимание на альтернативный сайт MapOSMatic, который в мае поднял Хартмут Хольцгреф. С октября он залил в базу всю планету, и сайт затмил оригинал. Стилей на выбор там не два, как в исходном сервисе, а двенадцать, каждый их них в атласе выглядит лучше, чем склеенные тайлы. К сожалению, процесс создания атласа неочевиден: поиск работает через раз (зато позволяет атласы с непрямоугольными границами области), рисование прямоугольника пугает внезапными масштабированиями, в важных параметрах — размере бумаги, отображаемых сведениях — выбора почти нет. Зато ждать всего пару минут.

Всем привет

27 ноября 2016, 1:05

В русском сообществе появилась новая забава. Теперь мы приветствуем каждого новичка шаблонным сообщением со ссылками на вики, форум, телеграм и всё остальное. Спасибо бельгийцам, написавшим веб-сайт для координации, новички получают только по одному письму, причём с учётом их языка и редактора. Ленту получаем от Паскаля, остальное — из API.

Список обновляется каждое утро. Увидели человека со словом «no» в колонке «welcomed» — жмите на него, и затем на кнопку «Welcome now». Там при нажатии Ctrl+C текст копируется в буфер обмена и открывается страница отправки сообщения с osm.org. Возможно, понадобится разрешить всплывающие окна в браузере. Вставляете текст в поле сообщения, при желании вырезаете строки со звёздочками из конца. Вторую строку, «добро пожаловать в OpenStreetMap», переносите в заголовок. И, возможно, убираете фамилию из приветствия, оставляя только имя. Всё, посылайте, закрывайте вкладку и жмите кнопку «I have sent this message» внизу страницы. Следующий!

Для эксперимента я отправил приветствие примерно тридцати мапперам, кто появился в пятницу. Планирую продолжить каждым утром будущей недели. Интересно, насколько это повысит вовлечённость пользователей maps.me или мою фрустрацию от странных вопросов новичков. Если новичок ответил — не забудьте записать это в его карточку на сайте. Также там есть кнопки для комментария («портит названия») и описания правок («добавил POI через maps.me»). Если кому-то не лень заполнить хотя бы описание, можно получить картину вклада новичков.

Всё на эмодзиях

28 июня 2016, 21:09

Хорошие значки — один из признаков качественной карты, поэтому в Mapbox не довольствуются открытым набором SJJB, а сделали свой открытый набор Maki: 144 значка в public domain на гитхабе. Недавно компания написала обширный дизайн-док для тех, кто хочет дополнить набор значков, и открыла редактор оформления Maki. Теперь не нужно в Inkscape дорисовывать фон или перекрашивать методом изменения чисел в скрипте, достаточно выбрать параметры в веб-интерфейсе и нажать кнопку «скачать». Ещё бы такое для SJJB — вариантов Maki иногда не хватает.

Впрочем, у невзыскательных картографов, или которым хочется праздника, есть ещё вариант: воспользоваться общедоступным огромным наборов значков, который встроен прямо в систему. Emoji Map Мертена Пеетца удивляет не только яркостью при тёмном фоне, но и плотностью заведений.

Было-стало

12 мая 2016, 20:44

То, чего так долго ждал любой участник, отдыхающий после обклацывания тысяч домиков, появилось благодаря гранту от Knight Foundation: теперь можно посмотреть и продемонстрировать родным, как за несколько дней изменилось количество домов и длина дорог в заданном регионе. Веб-сервис OSM Analytics очень прост и фокусируется на одной задаче: выбираете город, подгоняете контур и временные рамки и смотрите, сколько и где нарисовано. Информация обновляется ежедневно. Теперь не нужно поднимать собственные счётчики статистики для картовстреч: достаточно зайти на OSM Analytics и порадовать участников числами и скриншотами.

Из викимедии с любовью

8 ноября 2015, 0:24

Вот викимедия. Вот отдел связности внутри викимедии. Вот направление карт внутри отдела связности внутри викимедии. А вот Kartotherian со странным названьем, что в направлении карт создали, что внутри отдела связности, что внутри викимедии. Это движок карт, соединяющий инфраструктуру векторных тайлов Mapbox, сервисы викимедии, и добавляющий несколько полезных инструментов. Он работает уже несколько месяцев на maps.wikimedia.org.

Главный разработчик Kartoterian предложил, заодно, перевести на него и osm.org. Админы, разумеется, повторились, что рано или поздно все там будем, но давайте попридержим коней. А следующим выступил Кристоф Хорманн с общей критикой векторных тайлов: конечно, они быстрые, и позволяют бесплатные вариации стилей (например, для «ретины»), но прежде всего, векторные тайлы ограничивают дизайнера стилей. Он сослался на статью в своём блоге и заметил, что все карты на векторных тайлах нынче выглядят одинаково, без изюминки.

В чем проблема, на самом деле? Идея же хороша: промежуточный шаг между данными и растром. Исторически все рендереры шли напрямую: из данных плюс стиль выдавали картинку. Векторные тайлы служат двум целям:

  1. Одни и те же данные для разных стилей. Примеры — векторные тайлы Mapbox Streets, или что использует Энди Аллан для своих карт Thunderforest, две из которых есть на osm.org.
  2. Разные форматы файлов для одной карты. Пример — Mapbox Vector Tiles, когда уже подготовленные и готовые к рендерингу данные сохраняются в отдельный файл, и затем на лету превращаются в растр. Не особо отличается от SVG, но и не слишком гибко. (Замечу, что я немного отстал от «паровоза», и настолько жёсткого формата, может, на самом деле нет).

Если разрезать на тайлы все данные, возникает куча проблем. Самая большая — потеря контекста. Нужны окружающие данные и наивысшая точность, т. е. в идеале — одна картинка на весь мир, сделанная из сырых данных. Для эффективности эту задачу упрощают: например, отрисовывают мир метатайлами, и делят данные на слои. Возникают граничные случаи, от чего, например, появились буферные зоны (по полтайла с каждой стороны метатайла). Так вот, в векторных тайлах после обработки остаются отдельные тайлы с буфером, и непонятно, например, куда ставить значки и подписи у больших или длинных объектов. Вместо того, чтобы решать самую сложную проблему картографии, векторные тайлы её усугубляют. Как с этим справиться, пока никто не знает, хотя Mapbox придумал пару обходных финтов, вроде предвычисления расположения подписей.

Карты на векторных тайлах, конечно, непохожи друг на друга: достаточно посмотреть на космические, карандашные, пиратские, деревянные, туристические карты на одних и тех же тайлах Mapbox. Но если этими картами пользоваться, то обнаруживаешь, что там везде одно и то же. Либо ты сводишь картографию на векторных тайлах к выбору цветов, значков и шрифтов, либо создаёшь свои полсотни слоёв, тратишь полгода, чтобы обойти ограничения формата, и в итоге получаешь примерно то же, что на CartoCSS, только с запутанной серверной инфраструктурой на JavaScript. Так что отчасти Кристоф прав: либо технологии, либо качество карты.

Поспорить с Юрием Астраханом, который с группой помощников разрабатывает Kartotherian, можно будет 21-22 ноября в Москве на конференции «Открытые ГИС».

Свобода выбора

4 сентября 2014, 14:34

Google открыл для России сервис «Map Maker», под впечатлением от которого Яндекс когда-то сделал НЯК. Учитывая запоздание, сложно понять, зачем, хотя возгласы «здорово» и «будем рисовать» под новостями лишают остатков надежды на светлое будущее OSM. Как поясняет менеджер сервиса карт в интервью Вестям.Хайтек, главная цель Map Maker — «дать людям инструмент, позволяющий добавлять информацию самостоятельно, <...> дополнить работу картографов, исправить их ошибки». Те, кто помнит косяки гугля с Рыбинским водохранилищем, Невским проспектом, дырявыми федеральными трассами, призрачными станциями метро, домами посреди проспектов и прочим, могут представить фронт работ перед народными картографами.

Кажется, развитие любительской картографии идёт в обратную сторону. Сначала был OpenStreetMap со сложной структурой и открытыми данными. Затем появился НЯК, где участников постоянно шлёпают по рукам, избегают серьёзных вопросов и не дают ни программистов, ни интерфейсов. Теперь GMM, который даже администрируют, как показал белорусский опыт, индиффирентные люди из Индии, которые умеют два ответа: «разбирайтесь сами» и «забаним». Но люди идут — почему? В то время, как OSM держится на двух столпах: геоданных и сообществе, — коммерческие альтернативы предпочитают заменить один или даже два из них громким названием (хотел добавить «и пиаром», но когда вы последний раз видели рекламу НЯК?). Взлетит ли GMM, где вы никто, ваши данные вам не отдадут, и единственная перспектива роста — стать модератором? Конечно, это же Google.

Хотя технически Map Maker похож на НЯК, его modus operandi существенно иной: участникам предлагают не создавать карту заново, а редактировать ту, что уже есть в Google Maps. То есть, открыв сайт проекта, вы можете получить сведения о любом отрезке любой дороги в России: ограничение скорости, количество полос, покрытие и его качество, ограничения проезда. Отредактированные или добавленные данные, следовательно, значительно проще интегрировать в основные карты. Это даёт участникам Map Maker то, чего тщетно добивались от Яндекса участники НЯК и сочувствующие: смысл работы.

Кстати, насчёт гуглокарт. Вместе с открытием Map Maker Google объявил о сотнях новых и обновлённых карт городов, немало из которых лежат за полярным кругом. Конечно, обрисовывать или таскать названия оттуда нельзя, но Стефан Кнаус нашёл остроумный способ выудить из их карт пользу. Он навеян английскими сайтами валидации по картам Ordnance Survey. Зачем срисовывать, когда можно просто сравнить? Сайт compare.osm-tools.org фильтрует данные OpenStreetMap и карту Google, оставляя только дороги, реки и озёра. И затем показывает разницу. Найдя недостающую дорогу или озеро, можно открыть редактор и дорисовать их по разрешённым снимкам (не забывайте про IRS сканэкса). Конечно, на крупных масштабах могут ошибочно отмечаться существующие в OSM дороги: точностью привязки коммерческие карты в России не блещут.

Новые печатные карты

28 июня 2014, 14:57

Заявки на новые печатные карты мы ждем от вас в комментариях к посту про печатные карты, в котором указаны критерии для их создания... Секунду, у нас же не НЯК.

Макс Васильев поделился ссылкой на буклет сегодняшнего чемпионата России по велоспорту в Туле. Красиво оформленные страницы, море информации — и, внезапно, карта маршрута, от которой вытекают глаза. Разумеется, с традиционным нарушением условий использования Яндекс.Карт и традиционным закрытием Яндексом глаз на эту фигню.

До сих пор просто нарисовать маршрут на карте было нетривиально: люди либо снимали проприетарную карту с линейкой вычисления расстояний, либо рисовали линии в пэинте поверх склеенных тайлов OSM, либо фотографировали OziExplorer с треком. Всё это ненормально и извращение. Особенно когда карта нужна для печати, и обычного разрешения в 90 точек на дюйм недостаточно. Что ж, с этого дня получить кусок карты для печати стало проще: теперь есть сервис «Get Veloroad».

Он работает на основе Nik4: указываете размеры бумаги, растягиваете прямоугольник границ печатаемой области, выбираете формат (png, svg или pdf) — и картинка в 300 dpi у вас в кармане. Поверх можно наложить GPX-трек и линейный масштаб. Векторные файлы SVG обрабатываются скриптом склейки букв в слова: их можно загрузить в Inkscape и сместить надписи от маршрута. Наконец, вместо стиля Veloroad можно выбрать «стандартный» стиль osm.org: хватит уже склеивать его тайлы, когда можно получить нужный кусок в 300 dpi (или в обычном разрешении, если указать пиксели).

Единственный недочёт — данные всё так же доступны только для части России и Прибалтики. Граница загруженной области отображена, поэтому даже на слое osm.org вы не останетесь неожиданно с синим квадратом. Сервис не даст создать несколько карт одновременно, поэтому если не получилось — попробуйте через пару минут. Всё лучше, чем вкладка экспорта на osm.org, непредсказуемая и вечно занятая.

Рецепт успеха

10 июня 2014, 10:23

Adam Jordanek на своём сайте делает запрос к Overpass API, получает все кафе и рестораны (или другие точки, см. вкладку «Eat») и отображает их на карте. К каждой точке прикручена обсуждалка Disqus. Результат, конечно, не заменит форсквер, но очень удобен для поиска ближайших заведений: на форуме не замедлили похвалить.

Но подобные сайты можно слепить за день, и для непосвящённого посетителя они выглядят коряво. Чего уже не скажешь об отображении POI в openstreetmap.ru: две недели назад, вдохновившись новыми всплывающими панельками в 2ГИС, Felis Pimeja и ErshKUS улучшили дизайн наших: теперь карточки не выглядят набором тегов, переведённых на русский.

Инструментарий картопечатника

29 мая 2014, 11:25

Как только я начал готовить печатный вариант карты маршрута на основе своего стиля, я обнаружил, что инструментов-то и нет. Вернее, есть, но не те. Например, подвинуть надпись в векторном изображении, выданном мапником, нетривиально: нужно выделить все буквы надписи, затем все элементы её полупрозрачного фона. Это нелёгкий процесс, с тщательным прицеливанием и нецензурными репликами, когда выделение теряется. Не двигать нельзя: алгоритм расстановки надписей в мапнике ужасен. Движок Cairo, используемый мапником, не позволяет объединять элементы слоёв в группы. Поэтому месяц назад я опубликовал скрипт mapnik-group-text, который объединяет буквы во фразы. Из параметров важен только -d, который определяет максимальное расстояние между буквами.

Затем мне понадобилось сделать выгрузки огромных территорий для OziExplorer (велосипедисты, почему-то, любят этот дорогой артефакт истории). Из существующих скриптов — только nik2img, который щеголяет несколькими десятками опций (но треть из них к делу не относится). Попробовал для проверки получить картинку как на osm.org, задав центр, масштаб и размер картинки в пикселях. Скрипт разочаровал: масштаб съехал на полделения. Как получить картинку в 300 dpi, вообще непонятно: при указании scale_factor лишь все линии зачем-то становятся толще. Что делать — пришлось писать самому.

Nik4 отрендерит вам мапником картинку именно так, как нужно. Без сюрпризов. Хотите эквивалент скриншота osm.org в нужной точке? Запускайте с параметрами -c LON LAT -x 800 600 -z 13. Распечатать прямоугольник в 300 dpi на листе A5? -a 5 --ppi 300 --bbox X1 Y1 X2 Y2 — и не нужно знать, что такое scale_factor, или какое там разрешение по умолчанию. Подготовить огромный фрагмент для Ozi? --tiles 4 склеит большую картинку из 16 маленьких (чтобы не вылететь по нехватке памяти), а --ozi output.map создаст файл привязки. Подробные примеры с картинками смотрите на гитхабе, а для установки достаточно набрать pip install nik4.

Первой задачей, с которой сталкиваются установившие мапник, остаётся генерация тайлов. Для этого я много лет назад написал скрипт polytiles.py, который не только делает эти тайлы в несколько потоков, но умеет собирать их в mbtiles и фильтровать как по файлу poly, так и по произвольному полигону в базе PostGIS (например, по городу). Недавно открылось ещё одно применение скрипта: им элементарно делать списки для renderd, чтобы обновлять тайлы в заданном регионе.

Ctrl +  Ранее