Обычные карты делают для людей, поэтому в них что-то неконсистентно (например, статусные части у улиц), что-то многократно дублируется (названия этих улиц). Печатные карты не обрабатывают алгоритмами, главное — чтобы было понятно человеку. А OpenStreetMap — не карта, а база данных, поэтому участники проекта постоянно норовят сделать что-нибудь эдакое, базоданновское (iWowik придумал отличное прилагательное). Например, нормализовать.
В этом контексте меня удивляет, что у нас происходит со статусными частями. Правило выглядит простым и логичным: если статусную часть («улица», «город», «река», «школа») можно определить из тегов, в тег name её не пишем. То есть, у улиц и школ она обязательна, а рекам и магазинам ни к чему. Это отлично, позволяет алгоритмически добавлять или отрезать статусную часть при отображении и индексации.
Иногда этому правилу следуют 99% объектов, но встречаются исключения. Например, тегов river, stream и canal недостаточно для описания всей текущей воды: Кронверские проток и пролив пришлось написать со статусной частью. И на какой-то карте Петербурга читатель будет озадачен рекой Чёрная речка: непонятно, название у неё должно быть из одного или двух слов. Но это лишь 1%, терпимо.
Или вот озёра. У 1% объектов, обозначенных natural=water, статусная часть — не озеро, а какой-нибудь пруд или водохранилище. Поэтому с 2012 года вики советует включать слово «озеро» в name. Последние пару недель этот совет то появляется, то исчезает из-за войны правок. А всё потому, что в произвольном месте карты больше вероятность найти название озера без статусной части. До 2012 года, когда мы делали базовую карту, этого совета в вики не было, и мы считали, что статусная часть не нужна. Пользователи вашей карты будут озадачены такой неконсистентностью: как это — слева от Токсова «Кавголовское озеро», а справа — просто «Хепоярви»?
Наконец, остаются объекты, у которых теги вообще никак не связаны с официальным статусом, но при этом писать статус в name не принято. Это, например, населённые пункты. Село перед вами или деревня, город или посёлок городского типа, вы не узнаете. Разве что вам повезёт наткнуться на тег official_status, который суть заплатка для этой непоследовательности.
«О, ну тогда всё понятно, склеиваешь official_status и name» — подумаете вы, и тут внезапно сюрприз:
https://www.openstreetmap.org/node/769057324И если вы думаете, что такой бардак только в России, — то вы не пробовали рендерить другие страны. OpenStreetMap — это боль, а боль не знает границ.