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

проекты

Пакет не нужен

«Нельзя ли при отправке изменений из maps.me разделять объекты по континентам?» — в очередной раз спрашивают на форуме. А то bbox (ограничительный прямоугольник) слишком большой, неудобно. OpenStreetMap был зачат тысячу лет назад программистом, и это лезет изо всех щелей: удивительно, как самые бессмысленные атрибуты становятся мерилом качества.

Прямоугольник на карте — это миф. Минимальные и максимальные широта и долгота — так просто нарисовать фигуру в проекции меркатора, но на практике этих чисел не хватит даже чтобы нормально карту распечатать. Пакет правок, который покрывает полмира, мог добавить одну дорогу на Чукотке, но магия чисел и странных проекций заставит вздохнуть: опять эти импортёры делают ченджсеты на всю планету. От пакетов правок мы храним только bbox, поэтому нажмёшь в любом месте планеты на вкладку «история» и наблюдаешь всемирную историю, а не то, что ждал.

Но даже когда найдёшь нужный пакет правок, останется только бессильно смотреть на его bbox. И на стастраничный список точек, линий и отношений, каждая строчка которого по-своему бесполезна. Ченджсеты — это псевдоупорядочивание. Кажется, что они полезны присвоением метаданных группе объектов, своего рода над-отношения, но на самом деле — метки времени произвольны, их порядок не зависит от номера пакета, комментарии никто не пишет, источник часто врёт, географически, как видим, тоже никто не группирует. Остаётся один полезный атрибут: created_by. Всему остальному верить нельзя.

То есть, единственная польза от пакета правок — это посмотреть, каким редактором сделаны правки. Все остальные атрибуты: даты, bbox, список объектов — только отвлекают, создавая ложное впечатление группировки и упорядоченности. Которых нет, потому что техническое воплощение API не обещает порядка и не подразумевает удобства. Так, для правок maps.me я игнорирую пакеты и рассматриваю каждую правку отдельно. Правки на mmwatch — это поток объектов, у которых номер ченджсета лишь бесполезный атрибут. Увы, для сложных правок со взаимосвязанными изменениями (таких как сдвиг линии) такой подход не сработает.

Примерно об этом я говорил на схемотехнике год назад. О bbox нужно просто забыть: область применения этих прямоугольников ограничена и точно не касается ваших задач. А проблему пакетирования нужно как-то решать. Развязать топологические структуры, группировать по времени и географии, не давать пользователям и приложениям свободы в объединении правок. Это настоящая тема для какого-нибудь будущего API 0.8. А пока приходится работать с тем, что есть.

Следить за изменениями в регионе можно (нужно!) через WhoDidIt, искать их — в его более быстром форке. Пакет правок из интерфейса этого сайта можно открыть в Achavi, но иногда может не повезти. Если bbox окажется слишком велик, загрузки правок вы можете не дождаться. Потому что даже лучшие инструменты полагаются на bbox, который, повторюсь, плох примерно для всего.

Загружать геометрию ченджсетов часто приходится команде по работе с данными в Mapbox. Для этого они сделали и постоянно улучшают сайт OSM Changeset Analyzer, где есть фильтры по любому атрибуту, вплоть до причины для подозрений. Но самые подозрительные пакеты накрывают весь мир, Achavi тут бессилен. Поэтому в этом месяце они сделали то, что давно было пора: кэширование ченджсетов.

Каждую минуту скрипт скачивает свежие дополненные диффы и складывает их в хранилище Amazon S3. Затем он раздербанивает эти диффы на пакеты правок и результат тоже загружает туда же. И теперь сервис визуализации Changeset Map, встроенный в OSMCHA, загружает пакеты мгновенно. Обновите ваши букмарклеты: Changeset (перетащите в закладки).

Проблемы, конечно, есть, но с ними борются. Например, дополненные диффы не окончательны из-за чехарды с транзакциями в базе данных OSM. Их приходится обновлять и обновлять. То же касается и пакетов правок, которые возможно держать открытыми целые сутки, понемногу доливая в них новые объекты. Наконец, история там только новейшая: пакеты старее марта этого года можно не найти. Их загружают, но медленно. Проблему поиска по региону архив тоже не решает, как показывает опыт фильтрации на сайте OSMCHA. Поэтому пользуйтесь им для просмотра недавних правок, а историю ищите на WhoDidIt и Achavi. Неидеально — но пока мы не избавились от концепции пакетов правок, ничего лучше не сделать.

27 апреля   javascript   mapbox   валидаторы   проекты

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

Вы помните о проблеме 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 откатила правку. По техническим причинам, так как формальности были соблюдены и скоро, видимо, точки вернут.

2017   импорт   проекты

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

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

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

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

2017   проекты

Всем привет

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

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

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

2016   pascal   проекты   учебник

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

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

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

2016   overpass   картостили   проекты

Было-стало

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

2016   hot   проекты

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

Вот викимедия. Вот отдел связности внутри викимедии. Вот направление карт внутри отдела связности внутри викимедии. А вот 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 ноября в Москве на конференции «Открытые ГИС».

2015   проекты

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

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 дороги: точностью привязки коммерческие карты в России не блещут.

2014   gmm   проекты

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

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

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

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

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

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

2014   проекты   экспорт

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

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

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

2014   проекты
Ctrl + ↓ Ранее