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

id

Позднее Ctrl + ↑

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

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



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



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



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

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

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

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



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

0.0.0-alpha1

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

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

Viewing contributions by

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

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 на всю планету (а не только на территорию США, как сейчас).

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