Однак, може виникати потреба, і досить часто, мапери додають адреси до точок інтересу, використовуючи схему Карлсрує, що призводить до стоврення дублікатів адрес. Щоб уникнути таких випадків я пропоную розглянути можливість застосування схеми Бремена (Proposal:House numbers/Bremen Schema - OpenStreetMap Wiki) для додавання адрес ПОІ
Загалом мені подобається ідея щоб уникнути дублікатів одної й тої ж адреси на точках магазинів, організацій тощо. А є приклади місць де ця схема може допомогти? Наскільки я розумію ця проблема у нас в Україні виникає із точками закладів у торгових центрах?
Як на мене проблема дублікатів адрес сильно переоцінена. Загалом немає сенсу писати адресу до POI, вона легко може бути виведена з контуру будівлі, але якщо така адреса є і вона правильна, то вона не зробить шкоди користувачам даних. Як показує практика за всіма учасниками, які проставляють адреси на точки не прослідкуєш, навіть якщо в вікі 1000 разів написати що так не треба. На скільки я зрозумів теґ contact:street потрібний, коли адреса для листування відрізняється від фізичної адреси. Такий теґ можна до прикладу проставити на (мульти)полігон університету, який складається з декількох окремих ділянок або будівель з різними адресами, в сам теґ поставити основну адресу, якщо вона зазначена, як адреса для листування на сайті закладу. Варіант заміни addr:street на contact:street на POI всередині будівель хоч і приглушить валідатори, та реально не вирішить проблеми дублювання даних, простіше вже видалити ті адреси з точок
Ось переклад оригінальної пропозиції. Я розумію, що не зовсім зручно відкривати посилання на пропозицію в окремому вікні, тож наводжу текст пропозиції тут.
Пропозиція
Схема Бремена або розширена схема Карлсрує пропонує додавати контактну інформацію до точок інтересу використовуючи префікс contact:* замість додавання addr:*, оскільки певна адреса вже існує.
Схема Карлсруе для контактних даних (тобто додавання адрес до POI) може бути недоречною або оманливою.
Маємо проблему: учасник бажає додати магазин до вже позначеної будівлі з власним номером будинку.
Мапер додає контактні дані, отже, номер будинку, через схему Карлсруе до точки або лінії (а не до контуру будівлі), і в кінцевому підсумку отримуємо помилку задвоєння номера будинку. (Mapnik, наприклад, показує кожен із цих номерів будинків, якщо є достатньо місця.)
На жаль, мапер хоче додати номер будинку магазину, який має номер 12-16, але ці три номери розподіляються на три будівлі з одним із цих номерів у кожній. Номери будинків також належать до адрес квартир та інших магазинів та офісів. Отже, учасник повинен створити двійника поточного номера будинку.
Принаймні одна з цих будівель містить інший магазин або офіс, який також має мати номер будинку. Ні в якому разі – мапер не повинен робити це двічі, оскільки незавжди є процеси, які б застосовували номер будинку з контуру будівлі.
Тільки уявіть, що є інший учасник, який пересуває будівлю нарешті в потрібне місце і забуває про точку магазину. Хтось міг помітити помилку, але мапер також переніс сусідню будівлю. Тому точка, здається, знаходиться в потрібному місці. (Але, звісно, не в тій будівлі.)
Тільки уявіть собі безліч подвійних номерів будинків, оскільки хтось додає addr:housenumber=* до кожного магазину в торговому центрі.
Уявіть будівлю з кількома входами (entrance=*), і кожен з них має свій номер будинку. Чудовий спосіб впоратися з цим – додати ключ addr:housenumber=* до входу. Оскільки є два магазини за однією адресою, неможливо уникнути подвійних номерів будинків.