Обсуждение формата внесения адресных данных в России

Так я так и предлагал пару страниц назад :slight_smile:

Вообще это не совсем одно и то же: одно границы, другое значимый центр, аля точка притяжения. Так же у нас и части здания, по твоей логике, один и тот же объект и их следует удалить. А двух-вейные дороги как?
И потом само предложение даёт только головняка, вместо одной единожды нарисованной границы, ты предлагаешь заниматься копипастой тегов, как будто больше заняться не чем.
А потом, визуальный контроль при таком подходе вообще на уровне плинтуса. Если я скачал границу я сразу увижу, что часть домов на новой улице находятся за ней и надо бы её подправить. А что делать с addr:city,

  • я не вижу где такой тег вообще есть
  • я не вижу его содержимое и насколько оно корректно, надо постоянно выяснять, а где я
    И по итогу окажется, что вылавливать косяки будут, только после того, как опа, номер дома на карте есть, а в поиске нет.

На странице обсуждения был поднят вопрос, что полигоны place используются в РФ и Украине для адресации:
https://wiki.openstreetmap.org/wiki/Talk:Key:place#Mapping_populated_places_as_areas_for_addressing_schemes
Резюме следующее: это не должно быть вам нужно для корректной адресации, используйте boundary=administrative.

Учитывая, что вкупе с этим рекомендуется использовать полную Карлсруэ - думаю, только вопрос времени, когда Apple, FB и прочие начнут ломать у нас всё по этим рекомендациям. Я бы предпочел все заранее оформить, готовясь к неизбежному :slight_smile:

Опять же, все примеры в RU:Addresses включают в себя простановку addr:city на домах.

И тут Остапа понесло… :frowning:

Так а если предметно: есть ли пример конвертера/навигатора/приложения, которое берет информацию о городе в составе адреса с полигона place и при этом игнорирует/не отдаёт приоритета тегам addr:city, проставленным на зданиях в этом городе?

Вот нашёл. Здание https://www.openstreetmap.org/way/574967295 у которого addr:city=Плотинная . Номинатим на главной при поиске строки “улица Гайдара 37А” подставляет Камень-На-Оби. При поиске той же строки в osmand, maps.me, magic earth все подставляют название города.

Где он что подставляет, вот же видно, что название НП он присвоил объекту как Плотинная
https://nominatim.osm.org/ui/details.html?osmtype=W&osmid=574967295&class=building

Хорошо, уточню. На openstreetmap.org в выдаче результатов поиска мы видим название города. Плотинная не видим.

Более того, если я верно трактую засветлённые серым строки, то города с полигонов place и admin_level=8 были проигнорированы именно по причине наличия прямого указания НП на контуре дома. В чате же высказывалось предположение, что при наличии контура границы номинатум наоборот игнорирует адресные теги этого уровня на зданиях внутри.

Плотинная здесь не из тегов линии. Nominatim нашел полигон place с таким именем. Это деревня рядом с городом Камень-на-Оби. Если бы этой линии не было - Nominatim ничего бы с таким названием не вывел.

Геометрически линия здания находится внутри другого полигона place: Камень-на-Оби. Его название Nominatim тоже вывел в результатах.

Какой из этих полигонов использовать в addr решает UI. Сайт openstreetmap.org использует последний, Nominatim UI первый ) В данном случае “Плотинная” ошибочна и правильно использовать геометрию - у нас по закону в населенном пункте не может быть адреса из другого НП.

Именно из-за тегов он и стал искать этот place. Так же как он ищет ближайшую улицу с нужным названием.

Для поиска да, но для формирования адреса будет использовать теги объекта последним приоритетом, если совсем не найдёт полигонов.

Проверить можно, прописав объекту внутри полигона place несуществующий addr:place.

А какие у UI есть возможности, чтобы определить нужный результат? Наугад или самому дополнительно считать геометрическую вложенность?

И я правильно понимаю, что в случае отсутствия обоих полигонов place (и города, и деревни) и присутствия на здании тега addr:city Nominatim выдаст ровно один результат с тем городом, что на здании?

В ходе обсуждения в телеграм-чате были выявлены следующие (возможные) кейсы использования place:

  • Nominatum (разобрано выше)
  • Определение скоростных ограничений в НП в автонавигаторе
  • Overpass умеет делать запросы через named area
  • Для разного рода урбанистических проектов, расчета плотности населения и т. п.

По поводу навигаторов. Скоростные ограничения RU:urban сейчас проставлены на подавляющем большинстве дорог; на тех, что ведут в/из города - уж точно. Ни на русской, ни на английской вики нет рекомендации использовать для этого полигоны place. Что стоит сделать - так это доставить их на мелких дорогах внутри НП, где вообще может быть жилая зона, и потому ограничение в 60 км/ч не спасет.

То есть уже есть 4 разных варианта трактовки этих полигонов:

  1. Для адресации. Тут вопрос курицы и яйца: чтобы так его провести, надо для начала собрать эти адреса на местности или с ПКК, нанести их все вместе с addr:city, а уже потом обводить полигон и, возможно, удалять addr:city с домов. Смысл последних двух действий неясен: если НП уже есть на всех зданиях, то охватывающая его геометрия и не нужна, и незачем удалять правильные теги и городить лишние контура в базе. Если же на части зданий адресов нет, то включать их в полигон НП не сильно лучше, чем вычислять эту часть адреса по ближайшей точке place=* - в любом случае результат будет “на глазок”.
  2. Просто чтобы обвести застройку (не обязательно жилую). Тут большой вопрос, а место ли таким данным в OSM. Это ведь то же самое, что хранить, например, контура обводки водоемов с прибрежными полосами для каких-либо экологических проектов или нарезку для Навитела. Новой информации это не вносит и этому место в своей базе у того, кто использует данные.
  3. Для расчета скоростных ограничений. Тут требуется, чтобы полигон пересекал входящие в город автодороги ровно в тех местах, где стоит табличка начала населенного пункта.
  4. По генплану/СТП. Обновляются редко и хотя в таком виде полигон хоть отдалённо верифицируем, но вряд ли послужит практическим задачам. Потому что границы оттуда могут не обязаны совпадать ни с дорожными знаками, ни с границами существующей застройки, ни с адресами.

Когда урбанист использует полигон place для своего проекта или кто-то делает запрос к нему в Overpass, то он на самом деле вообще не знает, чему будет соответствовать полученная выборка и как трактовать результаты. Табличка на дороге может быть в одном месте, а последний дом с адресом по данному НП - задолго до неё. То есть либо часть домов не посчитается, либо навигатор будет неверно подсказывать. А скорее всего в геометрии будет лежать что-то среднее и не соответствующее ни тому, ни другому. Они используются на данном этапе не от хорошей жизни, а исключительно за неимением более детальной и верифицируемой информации для этих целей. Вот прямо сейчас массово их удалять, пожалуй и правда не стоит.


Поэтому на текущем этапе следует прописать на нашей вики то же, что и в английской: что полагаться на информацию с этих полигонов не следует - ни для адресации, ни для навигации, ни для расчетов. И это действительно соответствует реальности.

А что следует сделать - так это проставлять addr:city на зданиях, реальные скоростные ограничения на дорогах и разметить зоны жилой и прочей застройки, чтобы по ним можно было считать плотность населения. Тогда со временем сами полигоны place станут бесполезными и отомрут естественным порядком. Главное, повторюсь - чёткое указание, что на них не надо завязывать новые процессы и пытаться придавать им какой-то особый смысл.

я бы сказал, на подавляющем меньшинстве, даже в Москве… откуда такие сведения? Вот ВООБЩЕ любой maxspeed - настолько редко он проставлен http://overpass-turbo.eu/s/148R

А RU:rural за городом только на крупных магистралях встречается, и то далеко не везде

Оверпасс меня временно (надеюсь) забанил за превышение квоты запросов с IP адреса, поэтому пришлось оценивать по карте на Taginfo. Я вообще с замиранием сердца думал, что там по России только отдельные пятна будут. Ну что ж, тогда тем больше резона их проставить :slight_smile:

Загородные ограничения на применимость place же не влияют. Понятно, что на каждой лесной дороге их проставлять нет смысла, да и непонятно как. А вот по дорогам, которые в пределах нынешних полигонов place и не имеют скоростных ограничений, можно даже в рулетку будет задание соорудить, если ещё не.

Есть ли замечания по предложениям в последних 2 абзацах?

Есть небольшие замечания.
Прописать, что addr:city надо брать в первую очередь с полигона place, что проставлять addr:city на зданиях внутри этого полигона не нужно, что полигоны эти никуда не денутся и не отомрут.

Никакой магии нет. openstreetmap.org всегда показывает последний в списке.

Не понятны несколько моментов:

  1. Как теперь обозначать в OSM сущность из реального мира под названием “Граница населенного пункта”. Если такая сущность есть, чем она удобней (мульти-)полигона с place=*. Если эта сущность вообще не нужна, что делать с аналогичными по смыслу “приблизительно обозначенными” границами районов, городских районов, областей, федеральных округов, заповедников и пр.

  2. Единственный минус сокращенной схемы, указанный в стартпосте - возникновение ошибок адресации повреждении полигона НП. Допустим, мы не используем автоматизированные инструменты контроля качества и находим и исправляем ошибки (опечатки, вандализм, законодательные изменения в адресах) вручную. Что будет проще: отследить и исправить одну линию или все объекты внутри? Спрашивает бывший вахтёр из центральных областей РФ.

  3. В чём вообще проблема? Хотите полную адресацию, пишите addr:place на здании. Никто не возражает, хотя некоторые будут рады, если вы потратите это время на леса в Смоленской области. То же касается ресурсов, потраченных на прописывание и администрирование скоростных режимов. Если ПО не умеет работать с сокращенной схемой, его нужно переписать или предварительно готовить для него данные. Нужна помощь?

  4. Юзкейсов для таких полигонов в практике сильно больше, чем мы расписали в чатике. Завтра придёт человек, который “оспаривает эту схему, ссылаясь на то, что вики-страница не есть результат голосования сообщества”. Какие у нас для него аргументы? И нужны ли Сове наши аргументы? Он обиделся.

В любом случае, в вики необходимо указать, что в России в силу сложившейся практики использования границ населённых пунктов, не рекомендуется их удаление. Для удаления нужно голосование. Но оно вряд ли пройдёт.

Сверился со “старшим братом”. Оказывается, у Яндекса населённые пункты тоже размечаются независимо от городских округов и прочей АТД. И тоже участвуют в адресации.

Правила следующие - если есть генплан или иные документы, то рисуется по ним, если нет, то так:

Правда, у них требуется включать НП в иерархию АТД и подчинять городскому округу, сельскому поселению или чему-то подобному, потому что отдельной категории нет.

Будет, конечно, несколько странно, что “карты номер один” с жесткими правилами сумели эту сущность осилить, а более гибкий OSM - не сумеет…

Тогда надо будет таки добавить этот момент и на английскую страницу вики, чтобы пользователи данных и текущие/будущие разработчики софта в принципе знали об этом и могли учесть момент, а не полагались целиком на адреса со зданий.