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

id

Позднее Ctrl + ↑

А внутре у него...

Разработка iD перевалила за экватор, и подходит время документации. John Firebaugh описал в трёх статьях устройство редактора, чтобы будущие разработчики не сломали мозг, продираясь через парадигмы d3.



Первая — про хранение данных: все элементы OSM хранятся в неизменяемых объектах, которые объединены в граф, тоже статичный. Действия, вроде удаления узла, создают новый объект и новый граф, в котором часть объектов заменена новыми версиями (или удалена), а незатронутые сделаны ссылками, чтобы не выесть всю память. Такая структура называется «Persistent data structure», и восстановление её прошлых состояний тривиально.



Во второй части Джон рассказал про режимы рисования, которые влияют на поведение некоторых элементов управления (хотя с точки зрения пользователя режимов всего два: создание и изменение). Также он описал контекстные операции над объектами, и почему их список на экране должен быть неизменен, хотя не все операции могут быть применимы.



Завершается трилогия описанием системы рендеринга карты, полностью основанной на библиотеке d3. Из него я узнал, что нынче модно эмулировать классы в javascript через функции, возвращающие функции (потому что функции — это объекты). Для рендеринга данные OSM отображаются на геометрию более высокого уровня: точки, вершины, ломаные и контуры, которые затем скармливаются d3. Элементы интерфейса редактора тоже следуют конвенциям библиотеки.

В последнем абзаце автор дал ссылку на пересказ статей в гитхабе и пообещал, что он ещё не раз поменяется.
2013   id

Ноль ноль ноль альфа два

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



И да, iD заговорил на разных языках. Правда, русский есть только в жуткой latest-версии, куда складываются коммиты из гитхаба сразу после загрузки. Там видно, что основным нововведением третьей альфы будут пресеты — но пока они не работают.
2013   id

0.0.0-alpha1

В MapBox обожают делать страницы-презентации. Вот и сейчас: целый сайт с описанием редактора iD (название предполагалось выбрать позже, вместо рабочего «iD»), видеообзором и, зачем-то, ссылкой на D3.js.

Как видно из заголовка, недавно вышла следующая альфа редактора. Из новостей — подписи линий и POI, обработка мультиполигонов и контекстные меню, через которые можно, например, резать линии и удалять всё подряд.
2013   id

Viewing contributions by

Надежды на (нет, я не буду шутить по этому поводу) не оправдались, и MapBox вместе с Ричардом, как и обещали, анонсировали нулевую предварительную тестовую альфа-версию редактора iD для просмотра одним глазком. Заявлено, что там работает загрузка данных из OSM, рисование точек, линий и областей, тегирование (с импровизированной справкой по тегам через taginfo) и отправка изменений на сервер. Правда, сейчас редактор работает с сервером dev.osm.org, где данные периодически очищаются, и в Брянске, на который я дал ссылку, вы в лучшем случае увидите пару домов. Рисовать которые было очень непросто. Проблем там столько, что нет смысла начинать составлять список, но программисты и дизайнеры работают каждый день, и уже к первой альфа-версии мы можем увидеть более-менее удобный редактор.
2012   id

MapBox, сделай нам 1) редактор, 2) картостиль!

На прошлом собрании EWG, кстати, вынесли вердикт насчёт потлатча: «общее мнение таково, что поддерживать технологию Flash нецелесообразно, и вместо улучшения Potlatch 2 лучше потратить это время на создание нового редактора на основе JavaScript». Продолжая эту мысль, Ричард сделал длинный доклад на прошедшем в эти выходные State of the Map US, где рассказал об истории создания своего редактора, о новом iD, и как он развивает и переиначивает идеи потлатча. И что один вечер программирования приносит OSM больше пользы, чем рисование карты все выходные напролёт.

MapBox, приступив к освоению выигранных средств, не спешит бросаться в разработку редакторов. Они решили быть последовательными, и сначала дополнить наш API выводом в JSON и встроенной фильтрацией данных. Конечно, всё это уже есть в ветках, а фильтрация даже была в API, но Фредерик рассказал, как её постепенно ограничивали — сначала по bbox, затем по ключам, а в итоге выключили совсем. Хотя идея менять API никому не понравилась, демонстрация инициативы подтолкнула участников talk@ к очередному сочинению вишлистов.

Paweł Paprota одним из первых потребовал очевидное: «вы же MapBox, боги картостилей, сделайте нам, наконец, человеческую карту!» Michal Migurski из Stamen поддержал эту мысль, предложив оставить нынешний стиль для опытных участников, а новый сделать «лицом» проекта. И ещё он попросил нормальную работу с отношениями в редакторах, но никто не заметил.

Chris Hill в своём блоге предложил сделать базовую карту с минимумом деталей и десяток тематических слоёв, из которых строить нужные пользователям карты. Это напоминает действующий проект многоязычной карты для википедии, где в слои вынесены все надписи. Его автор, Kolossos, на днях вытащил из CLDR названия всех стран на всех языках, и спрашивает, не будет ли сообщество против того, чтобы внести эту информацию в OSM. Нынешняя ситуация с переводами названий показана на его сайте. Интересно, что за редкими исключениями языки охватывают либо более 90% стран, либо меньше 10%.

Под конец дискуссии Michal проговорился, что они работают над распространением их волшебного стиля Terrain на всю планету (а не только на территорию США, как сейчас).