Хотя подобная тема уже существует http://forum.openstreetmap.org/viewtopic.php?id=13622 , решил создать новую. Хотя бы затем, чтобы в первом сообщении темы указать на основные типы ошибок и способы их устранения.
А, учитывая количество этих ошибок, и пять одинаковых тем - не слишком много.
Итак, если в среднем доля ошибок в указании каких-то параметров составляет единицы (а то и доли) процента, то в отношении адресации - десятки процентов. Год назад было около 80%, т.е. из каждых 10 адресов 8 были заданы неправильно.
Сегодня этот процент примерно вдвое ниже (думаю, в значительной степени благодаря первой теме), но, увы, еще очень высок.
Самая распространенная из ошибок адресации - “улица не задана”. Т.е. в адресе присутствует поле addr:housenumber, но отсутствует addr:street.
Обычно маппер указывает на доме его номер, убеждается в том, что этот номер “появился на карте”, т.е. в мапнике, и на этом успокаивается.
А между тем, кроме изменения на картинке ничего не произошло: дом по прежнему не может быть найден адресным поиском, его невозможно указать для построения маршрута и т.п.
Исправить это можно одним из двух способов:
- Указать addr:street непосредственно для дома (это вариант предпочтительнее для Potlatch),
- Внести этот дом в отношение улицы (создать это отношение, если его еще нет) (этот вариант предпочтительнее для JOSM).
Следует помнить, что вариант 2 имеет приоритет, т.е. при одновременном использовании обоих способов указания улицы данные будут браться именно из отношения.
Следующая по распространенности ошибка адресации - несовпадение имен в поле name самой улицы с полем addr:street у дома. Типичный пример:
улица: name=Шевченко улица,
дом: addr:street=Шевченко.
Обе надписи должны быть идентичны, включая наличие статусной части (улица, проспект и пр.), а также на одном языке. Нередка ситуация, когда сама улица названа на одном языке, а дома на ней - на другом. Обычно это бывает в том случае, когда кто-то решает “поправить” язык улицы, совершенно забывая про дома, и ломает тем самым адресацию по всей улице.
В первой теме уже упоминался валидатор http://peirce.gis-lab.info/qa , Это хороший инструмент, обладающий, однако, некоторой спецификой:
- он разработан на базе конвертера карт в формат навигатора Ситигид. С одной стороны это хорошо - проверяются как раз необходимые для реальных приложений параметры. С другой - у Ситигида есть своя специфика, которая приводит к тому, что некоторые ошибки валидатором просто не замечаются (т.к. отсекаются на этапе конвертации OSM=>MP до валидатора), а в некоторых случаях появляются ложные сообщения об ошибках,
- он реализован так, что не умеет работать с большими объемами данных, из-за чего “карту” OSM приходится нарезать на довольно мелкие кусочки. А как следствие - заметный процент фиктивных ошибок, вызванных обрезкой данных по границе. Т.е. реальной ошибки нет, но из-за того, что часть данных отрезана границей и потому недоступна валидатору, он обнаруживает “ошибки” в оставшейся части данных.
- валидатор “заточен” под кириллицу и славянские языки, поэтому пропускает часть ошибок, которые поддаются алгоритмическому исправлению с учетом дополнительной информации о языке. Например, названия “улица генерала Корнилова” и “Улица Генерала Корнилова” - это различающиеся строки, но валидатор будет считать их одинаковыми.
- валидатор обладает некоторой “тормознутостью”, поэтому если в течение 10-20 секунд Вы не дождались полной загрузки страницы, паниковать не нужно, нужно еще немного подождать.
Кроме того, могу порекомендовать еще один валидатор: http://tools.geofabrik.de/osmi/
- он более универсален, - анализирует более широкий спектр потенциальных ошибок,
- он работает непосредственно с данными OSM, а не с результатом их конвертации в MP, поэтому определяет больший процент ошибок и имеет меньший процент ложных срабатываний,
- он не требует “нарезки Мира на мелкие кусочки” и потому свободен от наведенных вследствие обрезки фиктивных ошибок и, кроме того, позволяет легко перемещаться из одной области в другую без утомительной процедуры возвращения в общее меню и загрузки другого фрагмента карты,
- он быстрее работает.
Но это не значит, что второй валидатор лучше первого, они - разные, и целесообразно пользоваться обоими.
И, в заключение, хочу еще раз напомнить, что рисование “домиков” без адресной информации - занятие малополезное. Поэтому, нарисовав полигон, и поставив на него тег building=yes, не забудьте проставить также addr:housenumber и addr:street.
Точка с адресом несет больше пользы, чем тщательно отрисованный контур дома без адреса.