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

osm.org

Позднее Ctrl + ↑

Рисуй ещё

Сегодня работу Лукаса Гурдека на Google Summer of Code этого лета, комментирование пакетов правок на сайте, приняли в osm.org. На комментарии можно подписаться, автору приходят уведомления всегда. Помните, что простому «спасибо» будет рад каждый, особенно после нескольких часов работы в josm.

Комментарии к ченджсетам обсуждали ещё в 2011 году, у каждого были свои мысли насчёт того, как это сделать правильно, как провоцировать людей на общение, но не на ругань. Немцы сделали «лайк» для карты, я придумал фейсбук, но этим летом студент под руководством Serge Wroclawski не вникал в историю, а сделал обычные комментарии. Они очень долго шли до главной — люди много придирались к мелочам, и пул-реквест надоел и забылся. Полезные замечания сыпятся и сейчас, но главное — комментарии уже на osm.org, теперь их можно не откладывать придирками, а улучшать.

 5 комментариев   2014   osm.org

Дневной сон

Сегодня с 14:00 до максимум 15:30 по Москве серверы баз данных OpenStreetMap будут отключены. Данные из API нельзя будет не только отправить, но и скачать. То есть, не будет работать ни один редактор. Вы можете загрузить часть карты в JOSM заранее, но будьте готовы к конфликтам правок, загружая отредактированное несколько часов спустя.

Не будут создаваться файлы репликации, не будет работать вход по имени-паролю OSM: ни на форумы, ни в trac, ни на help.osm.org. Будут работать как прежде: сайт и поиск адресов, тайлы, списки рассылки, вики, чатик, репозитории git и svn. Во время технического перерыва администраторы поменяют местами главный и вспомогательные серверы БД. Это теоретически можно сделать вовсе без отключения систем, но, во-первых, лучше подготовить к длинному отключению на всякий случай, а во-вторых, во время отключения серверы перезагрузят, чтобы обновить ядро и другие модули.

 2 комментария   2014   osm.org

Праздник со слезами на глазах

В техноблогах начали появляться заметки про десятилетие OpenStreetMap, как наш проект развился за это время и какое светлое будущее нас ждёт. Обычная шарманка про рождение из ничего, из желания Стива Коста сделать свободную альтернативу картам Ordnance Survey, смешную поначалу, но грозную теперь. И у нас, конечно, будет всего больше, сообщество станет мягче относиться к импортам, и настанет всеобщий API 0.7. Какая же бочка чуши.

Прежде всего, посмотрите на карту OpenStreetMap восемь лет назад, от 14 августа 2006 года (спасибо Фредерику Рамму за подготовку базы). Нет смысла искать там свой город: это чистое поле с парой линий в Англии и Дании. Чем занимались участники проекта предшествующие два года? Ну э-э-э, собирали треки. JOSM появился в январе 2006, Osmarender и API 0.3 — в марте. До этого OSM практически был на уровне идеи: почтовая рассылка и вики.

Технически развитие OSM остановилось в 2011 году: тогда уже вовсю работал рендер на мапнике, потлатч 2 заменил первый, продвинутые мапперы использовали JOSM, появились OSRM, Overpass API и Leaflet. С тех пор — только дописывание библиотек, смена дизайна или затухание заброшенных программ. Единственное исключение — редактор iD, часть большого и страшного проекта под названием «Mapbox». Страшный он потому, что может стать нашим будущим.

Что нас ждёт? Раньше я оптимистично бросался названиями типа «год редактора карты», призывал распространять весть об OpenStreetMap в школы. Думал, что вот-вот — и напишут удобные инструменты для отката ченджсетов, для классификации тегов, для сбора данных пешком, на велосипеде и на машине. Реальность такова, что банальное перемещение точек в лучшем редакторе JOSM сделано настолько криво, что пришлось включить в ядро два альтернативных способа (кнопки «W» и «X»). Нет ничего, и ничего не предвидится. Новый OWL заглох, роутинг и overpass на глагне так и пылятся в ветвях гитхаба, про API 0.7 и говорить смешно, даже если не вспоминать слово «полигоны». Кажется, проект окончательно стагнировал, только сотни тысяч участников обводят, рисуют, импортируют, воюют.

Нельзя прогнозировать на год или два вперёд, потому что за это время мы не смогли построить надёжной, предсказуемой организационной структуры (админы — единственное исключение). Можно лишь надеяться. Что кто-нибудь загрузит первые коммиты для нового API в ветку cgimap. Что появится настойчивый участник, который пробьёт стену безразличия и перфекционизма, добавив на osm.org полезную функциональность. Что некоторым программистам начнут платить за работу и требовать от них результатов в конечные сроки. Что у нас появится хотя бы один практикующий юрист, и мы узнаем, не зря ли провели три года в перепалках. Что Mapbox не захватит технологический стек OSM своим джаваскриптом. Что откат ченджсетов станет проще, а ошибки будут валидироваться на сервере.

OpenStreetMap — без сомнения, лучшая карта всего мира. Непонятно, почему его до сих пор воспринимают как несерьёзную поделку, и часто забывают упомянуть в сравнительных статьях. Хотя нет, понятно. Дайте нам ещё десять лет.

Также:

Дамп блокнота

Сегодня, спустя 15 месяцев после добавления функциональности заметок на сайт osm.org, сделали их ежедневную выгрузку на planet.osm.org. Теперь можно обработать их как-то по-своему, а не довольствоваться статистикой от Паскаля. Последняя, кстати, ставит Россию на третье место по количеству заметок, но в первой тридцатке закрывающих — только literan. Не чета Франции и Канаде, где остаётся открытой только одна заметка из 14.

Разумеется, выложившие дамп заметок снова забыли указать, по какой лицензии они распространяются. Учитывая, что для добавления не нужно регистрироваться, наверное, public domain. Впрочем, значения это не имеет: едва ли дамп кому-то пригодится для серьёзного проекта, как когда-то дампы GPS-точек и треков. Те не обновляли с апреля прошлого года — не пригодились.

2014   osm.org

История вопроса

На этой неделе у меня пошли гениальные идеи, как нам обустроить API. Ночная беседа с jekhor про проблемы отношений веломаршрутов утром понедельника конденсировалась в тикет в Rails Port, где я предложил добавить в возвращаемые объекты ссылки (тип и id) на содержащие их линии и отношения. Так редактор всегда будет знать, что точки и линии принадлежат неподгруженным объектам, и сможет предупредить пользователя перед разбиением или удалением. После обычных комментариев непонимания обсуждение перешло на технические проблемы и вопросы совместимости, и вечером на встрече рабочей группы по технологиям (EWG) мы согласились, что добавление нового тега в вывод API сломает какие-нибудь программы, вроде osmosis. Поэтому пора повышать номер версии OSM API.

В вечерней беседе после конференции промелькнула мысль, что если мы так и будем ждать от API 0.7 великого (см. список предложений и сокращённый список), он никогда не наступит. Поэтому нужно двигаться мелкими шажками: например, поправить бардак в статусах ошибок HTTP, добавить мелкие валидации, формат JSON, всё такое. На этой волне я составил список, выросший за неделю до 14 пунктов, большая часть которых решается парой запросов к базе данных (а то и вовсе парой строк кода). Задержав окончание собрания на час, мы с Мэттом Эймосом договорились, что пора делать форк, или как там добавляется новый API к серверу. Просто чтобы была площадка для экспериментов, и чтобы дать старт. Вполне вероятно, на следующей неделе будут сделаны первые запросы к ...dev.openstreetmap.org/api/0.7.

Конечно, согласившись, что изменения должны быть мелкими, я не продержался и часа, чтобы не взяться за вечную проблему API 0.6: тип объектов area. Подходов к нему было множество, хотя после ноября 2012 года, когда Jochen Topf написал заметку про области, копошение затихло. Что печально: ни один из вариантов не был идельным. Например, решение для береговых линий было только у совсем диких предложений. Не совместив в едином типе здания о четырёх стенах и береговую линию, нечего и думать о свержении статуса-кво. Пришлось подумать очень хорошо, и решение оказалось достаточно простым, похожим на предыдущие попытки, и одновременно отличающимся в деталях.

Предлагаемые области содержат списки точек для каждого из внешних и внутренних контуров: как линии, только вместо одного списка — несколько. По сути, это полигоны модели Simple Features, со всеми плюшками и ограничениями, и их преобразование в формат Shape / PostGIS будет элементарно. Недостатки — невозможность делить часть контура между областями и ограничения на количество точек — исправляет второй способ задания областей. Он похож на мультиполигоны, но наоборот: не область ссылается на линии, а линии на область. Так можно совместно одновременно редактировать одну и ту же область (привет трогавшим границу РФ), и не будет конфликтов, потому что сам объект не изменяется. Со стороны базы это не отличается от мультиполигона: всё то же отношение «многие ко многим», но без явного списка для потребителей данных. При этом все точки и линии, составляющие контуры, сортируются против часовой стрелки для внешних контуров и по часовой для внутренних: это позволяет правильно отобразить частично загруженные данные (у мультиполигонов с этим беда). В вики есть наглядный пример с картинкой, но если объяснить ещё проще, вместо полигонов будут костлайны. Вопрос «делать Онежское озеро мультиполигоном или костлайном» отпадёт автоматически.

Одного видения для внедрения типа area недостаточно: нужно продумать алгоритм миграции базы данных, написать новые api и страницы для Rails Port, обновить cgimap, сделать поддержку в каком-нибудь редакторе (и, боюсь, level0 недостаточно) и в каком-нибудь рендерере (хоть osmarender). Написать сотню тестов и убедить всех, что идея работает. Только после этого, когда мутный поток «а вот я бы сделал так» иссякнет, а форк будет готов к пул-реквесту, вопрос «а не сделать ли нам тип area вот так» приобретёт достаточный вес. Право, лучше не мучаться, а ограничиться для нового API правкой статусов ошибок, мелкими валидациями и парой новых запросов к базе данных.

 8 комментариев   2014   osm.org
Ранее Ctrl + ↓

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