Обновление данных по АТД и НП в ОСМ, а также их валидация

Лет 15 назад ситуация была значительно сложнее. Мы в ОСМ собирали информацию по сёлам и районам по крупицам. Мы вносили данные примерно, потому что не было точной информации. И это было классно!

Но теперь всё изменилось. Эта информация доступна каждому. Из интернета с официальных сайтов можно получить массу информации. Всё изменилось, а ОСМ – нет.

Предлагаю усовершенствовать данные в ОСМ чтобы они соответствовали современной информации и не отставали на голову от Яндекс, 2ГИС, Википедия, …

2 Likes

Прежде всего любой пользователь ОСМ должен найти простой способ чтобы узнать, как ему найти, понять, использовать данные ОСМ. Страница для административно-территориального деления (АТД) можно использовать RU:Tag:boundary=administrative - OpenStreetMap Wiki , для населённых пунктов (НП) - RU:Key:place - OpenStreetMap Wiki .

Страницы уже есть, и нужно просто дополнить.

Прежде чем наводить порядок в стране, полезно посмотреть, а как эта информация выглядит с рядом расположенных странах.

Украина:

Беларусь:

Казахстан:

Германия:

Россия:

Вопрос 1

Какие поля должна набираться в объектах АТД? Является ли ввод полей addr:country = RU, official_status= “ru:тип_АТД” обязательным? Может быть, какие-то ещё? Может пора вносить коды ОКТМО/ОКАТО?

Это несложно сделать в новом официальном валидаторе. Такие поля должны быть внесены в страницу RU:Tag:boundary=administrative - OpenStreetMap Wiki . Я напишу эту проверку в валидаторе.

Вопрос 2

Что делать с Крымом? Ведь его данные дублируются на 2 уровнях – российским и украинским. Какие поля являются обязательными в спорных случаях?

Валидатор будет отфильтровывать объекты с указанными полями. Какие поля вы считаете должны быть внесены в страницу RU:Tag:boundary=administrative - OpenStreetMap Wiki ?

Обсуждение рискует затянуться на следующие 15 лет :grinning_face:

Код ОКТМО - единственное поле, которое позволит однозначно связать географический объект и внешние данные без того, чтобы разбираться во всех приколах ОСМ и писать свой код для сопоставления. Для однозначно идентифицированных НП надо прописывать его автоматически. Позже можно будет дополнить список добавляемых / удаляемых полей.

1 Like

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

Я внесу в Вики информацию про валидатор, но не про сами данные. Если что, я больше 20 лет работал тестировщиком, наша задача была - написать качественные тесты на официальные требования. Я хорошо пишу тестовую документацию, но на работе я принципиально не вносил изменения в требование. Только писал баги, что функциональности недостаточно.

Общество должно решить - какая информация для них важна, а какая не имеет смысла. А я напишу точный валидатор.

1 Like

Про ОКТМО я хотел написать попозже, но раз вы его выделяете, я с удовольствием напишу сейчас. Я считаю, что ОКТМО важен. Его не хотели делать 10 лет назад, поскольку он был в достаточно сыром виде. Но за последние годы это стал стандарт. И в Росреестре и в налоговой. Для районов и округов нужно вводить информацию руками, но делать несложно пару раз в году. А в случае населённых пунктов есть нормальный файл «Перекодировочная таблица для замены аннулированных кодов ОКТМО на действующие коды ОКТМО для населенных пунктов субъектов Российской Федерации» - https://rosstat.gov.ru/opendata/7708234640-codingtable . Можно написать скрипт который меняет старые коды на новые! Даже если поменяла тысяча кодов, это сделать теперь легко!

Нужен ли ОКТМО? Какое поле используем, oktmo:user кажется странным. Явно нужно поменять, но на какое? И тогда можно будет перенести тег oktmo:user скрипту в новый.

просто oktmo я думаю достаточно.

Если что, я больше 20 лет работал тестировщиком, я принципиально не вносил изменения в требование.

Ну ничего, я 20 лет работал постановщиком требований :slight_smile:

Обязательными представляются следующие поля:

type=boundary
boundary=administrative
name=*
name:ru=*
admin_level=*
official_status=*
oktmo=*
wikidata=*
wikipedia=*

так же еще:
ISO3166-2=*, для admin_level=4
population=*, для для admin_level=4,5,6

Если не будет возражений в течение 4-х дней, добавлю это в вики (14.09).

1 Like

Тогда ещё нужно будет отфильтровать объекты в Крыму:

claimed_by UA
disputed_by RU

В России, соответственно, обратная сиуация

claimed_by RU
disputed_by UA

Эта правка была сделана в прошлом году Aleksandar Matejevic, с тех пор вроде как спорных вариантов не было. Вот первая правка из серии правок - Changeset: 167732616 | OpenStreetMap

Там должно быть несложно. “Спорные” – это только сами Крым и Севастополь. А более мелкие объекты АТД у каждой страны свои.

Границы большинства НП в ОСМ административными не считаются (и я даже знать не хочу, в чем тут логика). Я в таких случаях ставлю (и всем советую) boundary=place + place=*. Лучше сразу мультиком с type=boundary и точкой в роли label - такую конструкцию сложнее сломать.
Также, всё кроме name и name:xx лучше ставить только на точку, чтобы избежать дублирования и возможного расхождения в тегах.

Так чтобы проверять расхождения, как раз и есть валидатор. :slight_smile:

1 Like

Против oktmo кодов, они человеко не верефицируемые

Разделять разные Крымы я бы всё же наверное делал уж через addr:country, а не теги ради тегов типа claimed

official_status, wiki* - не обязательные теги

wikidata тоже не человеко-верифицируемая но мы ее исправно расставляем, с каждым годом всё больше.

не обязательные теги
Обязательные в данном случае – это теги, которые уже в основном есть, и которые хотелось бы иметь в датасете по АТД.

@fserges было бы нереально круто, если новый валидатор в дополнение к собственно валидации изготовлял датасет, который включал бы границы объектов АТД, в шейпфайлах и/или в геоджейсонах.

Тогда и в обязательных тегах и валидации практический смысл появится.

Т.е. сначала люди делают двойную работу внося эти данные, потом валидатор ходит это исправляет, а затем ещё потребитель данных перепроверяет. Все при деле :+1:

А вот для этого как раз и есть валидатор :index_pointing_up:
Тем более, что альтернативы особо нет. По name’у - гиблое дело. Геометрию постоянно ломают. Половина ссылок на Вики битые, а статьи в ней устарели…

2 Likes

На википедию я хотя бы могу зайти в посмотреть что это.

Вот именно, что это хотелки, а не обязательность. Вот без admin_level объект не валидный. А без статуса вполне.

Валидировать проставленное валидатором, в чём прикол?

Валидатор проделывает работу по однозначной идентификации НП и фиксирует результат в виде кода ОКТМО. Дальше, он может использовать этот уникальный ID как дополнительный признак. Например, когда упростили сельские поселения и в одном районе появилось три села с одинаковым названием.

1 Like