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. Неидеально — но пока мы не избавились от концепции пакетов правок, ничего лучше не сделать.

2017   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   картостили   проекты
Ctrl + ↓ Ранее