Отслеживалка изменений в дорожном графе РФ

Друзья!

Представляю вашему вниманию инструмент (трекер), который позволяет отслеживать правки, вносимые в дорожный граф. Чем-то он напоминает “свежие правки” в вики. Даже странно что его до сих пор никто не сделал.

Пока работает в тестовом режиме, отслеживаются дороги trunk и primary, включены Мск, СПб и Ивановская область (как малообъемная для тестов). Чуть позже, можно будет включить всю РФ.

В данный момент трекер доступен здесь: http://osm4u.ru/

Обновляться будет, как не сложно догадаться, одновременно с картами для СГ. Основная цель - видеть что никто кусок федеральной трассы не удалил, а если удалил - вовремя это заметить.

Алгоритм работы очень простой. Берется осм-файл, смотрится какие в нем есть объекты, те типы которые отслеживаются, заносятся в таблицу. Потом берется следующая версия файла, смотрятся какие в нем произошли изменения, результаты заносятся в ту же таблицу.

Исходный код, как морды, так и серверной части доступен на гитхабе,
https://github.com/Zkir/osm2dcm (ChangeTracker/ChangeTracker.site) так что можете присылать патчи :smiley:

P.S.
Описание изменения “Линия добавлена в трекер” означает, что линия (вей) впервые попала в базу, которая содержит список изменений. Соответственно в базе нет предыдущей версии вея и нельзя сказать подробнее, что с ней случилось.

Круто!

А что за разделение “Одобренные” / “Ожидающие одобрения”?

Было бы круто подсвечивать правки по степени опасности. Скажем, удаление вея целиком — красным, изменение тегов - зеленым, ну ты понел. :3

Это самая главная фишка, которая еще не доделана) Хочется, чтобы можно было пометить правки, по крайней мере те, в которых что-то удалили, как проверенные. Что бы не проверять одно и тоже 10 раз, тем более что в Мск, как видно, правок в одних только primary - больше чем дофига.

только для этого нужно наладить аутентификацию в ОСМ по ОАuth.

Может ты сделаешь макет? css для меня был и остается загадкой.

Да чего там делать… попробуй просто вешать на в колонке «Что случилось» класс. Скажем, по грейдам опасности от 1 до 5: или .
Ну и стиль где-нибудь впихнуть.


.g1 { background: #DDFFCC; }
.g2 { background: #EEFFCC; }
.g3 { background: #FFFFCC; }
.g4 { background: #FFEECC; }
.g5 { background: #FFBBAA; }

Например, положить это в style.css, а в head написать:

<link rel="stylesheet" type="text/css" href="style.css" />

В связи с чем такой выбор языка программирования?

siberiano,
Отличный вопрос! Выбор обусловлен тем, что молодая шпана не желает ничего писать, а живому классику VB6 как-то привычнее :stuck_out_tongue:

Hind,
ага, с цветами понятно. Осталось только самим правкам присвоить классы. Это займет некоторое время. :slight_smile:

а-а-а!! (хватается за голову) слишком много правок!!!
нужна какая-то категоризация, действительно.
и ещё комментарии ченджсетов где-нибудь выводить.

Правок действительно много, а ведь это только первые два типа дорог.
Но зато теперь в “Ожидающих одобрения” - только удаления - их как раз не много.

Откуда извлечь комментарии ченджсетов не очень понятно, в исходном осм-файле их нет.

Необходимо сделать регистрацию и подписку на правки по “областям”. Под “областью” следует понимать какие-то границы карты, которую пользователь готов отслеживать и проверять.
Ну и как-то это поюзабельней сделать что-ли. :slight_smile:

Отслеживалка разворот линии считает за удаление вершин: http://www.openstreetmap.org/browse/way/31367789/history
Ещё непонятен статус «изменены теги/вершины»: здесь же только теги тронуты: http://www.openstreetmap.org/browse/way/31374922/history

А можно ссылку сделать на объект, а не на его историю. Сначала хочется посмотреть на него самого, а не на 32 его версии.

Ты уверен? Это из каких соображений? Мне показалось что ссылка на историю логичнее. Ссылку на объект сделать можно, но надо бы понять куда ее вставить.

Это хорошее замечание. Отслеживалка за удаление в данном случае считает удаление вершин между версией 17 и 16. Версия 18 ей пока еще не известна. Столбец “предыдущая версия” я добавлю.

В данный момент «изменены теги/вершины» = «изменены теги или вершины»

Это будет, только не прямо сейчас. Сейчас надо понять правильная ли концепция и отладить, так сказать, базовый функционал :slight_smile:

Готов рассмотреть любые предложения )

Уверен. Портянка с десятком версий вея с сотнями узлов грузится минуту. А так тыкнул на объект, посмотрел что это, и дальше уже тыкаешь либо на историю, либо на ченджсет, либо на юзера.

Исправил. Какие будут еще мнения по этому вопросу? :slight_smile:

Добавить визуализацию типов дорог, как в осм-хистори. Зелёненькие, красненькие полосочки.

Описание действия заменить на код: [+] — добавлена, [-] — удалена, [.*] — изменена.

ЗЫ редактор не даёт написать звёздочку в квадратных скобках :slight_smile:

И визуально разделить:

  • добавление/удаление линии
  • добавление/удаление точек в линии
  • изменение тегов

В идеале, конечно, хорошо бы ещё отслеживать сплиты/джойны и что связность не изменилась.

//Описание действия заменить на код: [+] — добавлена, [-] — удалена, [.*] — изменена.
Изменение тоже бывает разное. Бывает удаление вершин, а бывает добавление тегов.

//И визуально разделить:
//…

Не очень понял, как именно? :slight_smile: Фильтр?

//В идеале, конечно, хорошо бы ещё отслеживать сплиты/джойны и что связность не изменилась.
Cплиты-джойны отслеживать можно, это будет. А вот связность - это немного из другой оперы. Тест рутинга делается после двойного передела исходного осм-файла. А здесь просто отслеживаются версии осм объектов типа “вей”.