Привет, Хабр! Мы в HFLabs не унываем продолжаем исследовать тему российских адресов. Уже рассказывали о том, почему нельзя просто взять и выгрузить список городов из Государственного адресного реестра (ГАР), и разбирались, что представляет собой нормативка по адресам.
А сегодня я расскажу, как один и тот же объект может иметь различные написания адреса. Такие разночтения заставляют делать ручной разбор адресов, а в некоторых случаях и вовсе рушат аналитику. Дальше будет о том, в чём причина и что с этим делать.
Итак, по версии ГАР (ФИАС), существуют два адресных деления — административное и муниципальное. Адреса в них могут выглядеть по-разному.
Вот пример:
Один и тот же адрес в разных форматах (guid д.257 — 19704d91-68d5-4023-afd6-dcbbce6bbf14):
Административное деление: Самарская область, город Самара, проспект Кирова, дом 257
Муниципальное деление: Самарская область, городской округ Самара, город Самара Кировский внутригородской район, проспект Кирова, д.257
А еще есть картографические сервисы — например, 2ГИС и Яндекс карты. И в них наш адрес может выглядеть совсем иначе. Например, иногда там встречаются улицы, которых нет в справочнике ГАР (ФИАС).
Расскажем об этом подробнее на примере.
Приключения одного дома в СНТ
Есть объект — дом 3. Его идентификатор по справочнику ГАР — 0643ed6e-79ef-4d7a-b2f7-c908d6e61739.
Дом находится в СНТ под названием 70 лет Октября. Это Татарстан, город Зеленодольск. Guid — be39502f-a814-405d-aed2-603780308a40.
Всего СНТ подчинены 9 999 домов. Адрес нашего дома по справочнику ГАР такой: Республика Татарстан (Татарстан), Зеленодольский р-н, г Зеленодольск, тер. СТ 70 лет Октября, д. 3.
То есть дом подчинен напрямую СНТ!
Но есть, как говорится, нюанс: если посмотреть Яндекс Карты, то выяснится, что дом стоит на 1-й Кольцевой улице.
Как же так получилось? Откуда в Яндексе взялась улица? Чтобы разобраться в этом, мы написали в поддержку Яндекс-карт с таким вопросом: «Согласно справочнику ГАР, дома (9999) в этом СНТ подчиняются напрямую СНТ. А в Яндекс Картах у них есть улица-родитель. Подскажите, чем вызвано такое расхождение?»
Из переписки (все письма я бережно сохранила) выяснилось вот что:
В садовых товариществах часто используется нумерация и по самому СНТ, и по улицам.
Адреса по самому СНТ ищутся при запросе так же, как по улицам.
Яндекс Карты обновляются каждый день: появляются новые дороги, дома, скверы — таких обновлений каждый месяц происходит больше миллиона. Чтобы оперативно отражать мир вокруг, сервис использует разные источники. За актуальностью карты следят штатные картографы и сообщество пользователей в редакторе Народная карта.
Также в переписке специалисты Яндекс Карт пояснили, что названия улицам могут присваивать как сотрудники картпроизводства, так и пользователи сервиса «Народная карта». Делать это они могут, основываясь на данных из разных источников и личных знаниях местности. Правки пользователей проходят обязательную модерацию сотрудниками картпроизводства сервиса или опытными пользователями «Народной карты», которые имеют права модератора. Проще говоря, любой пользователь может нанести название дороге, но его правка пройдёт через модератора. Если она некорректная, ее отклонят. Разные объекты на карте имеют разные условия проверки достоверности. К некоторым из них предъявляются более строгие требования для попадания в Карты, к другим — упрощённые.
Дальше мы написали тот же вопрос в 2ГИС. И получили такой ответ:
«В сервисе 2ГИС дома в СНТ «70 лет Октября» также привязаны к СНТ. По данным сервиса, собственники домов в СНТ используют названия улиц в качестве ориентиров, что следует из официальной группы СНТ: https://vk.com/club154445682».
Сколько таких населённых пунктов в ГАР?
Мы посчитали, сколько всего в ГАР населенных пунктов (level 6), в которых:
- есть дома, подчинённые самому населённому пункту,
- нет улиц, подчиненных населённому пункту.
Получилось 57 162 (!) объекта. Часто это деревни с небольшим количеством домов.
Например, вот такая: Магаданская обл, Тенькинский р-н, поселок Мадаун, (cb2a7795-f610-47c4-9903-20f8819fcc69)
Но есть и более густонаселённые объекты. Ниже несколько примеров с достаточно большим количеством домов:
Guid | Адрес | Количество домов | |
1 | 98424124-4cd3-4a5f-8457-2cc76f648b79 | Респ Коми, Корткеросский р-н, село Нившера | 722 |
2 | 8cd1ad42-e521-4491-b86c-a74d79a2a447 | г Нижний Новгород, Верхне-Печерская слобода | 647 |
3 | 73a2c04d-e8a3-4324-bb9a-7d2629c96c5a | Волгоградская обл, Фроловский р-н, ст-ца Малодельская | 607 |
4 | f450cfea-2e5e-4ec9-b3fd-7e1113a48b8f | Ленинградская область, Всеволожский р-н, массив 38 км Выборгского шоссе, снт Родник НИИ постоянного тока | 600 |
5 | 831b4ddb-803d-4a5e-bdd4-7892924ff405 | Ленинградская область, Всеволожский р-н, массив 38 км Выборгского шоссе, снт Медик-2 | 600 |
Что из этого следует? Создавая адресные формы, не заставляйте людей обязательно указывать улицу при вводе адреса, её реально может не быть.
Кто тут главный?
А ещё в России есть объекты, где подчинение у домов смешанное — часть домов подчинены самому населённому пункту, часть — улицам.
Например, 17c781b0-0fa4-432e-b53c-848b88b819b5. Пермский край, Кудымкарский р-н, деревня Гурина
Согласно ГАР, в этой деревне только одна улица. Все остальные 24 актуальных объекта — дома, причём некоторые подчинены напрямую деревне, а не этой улице.
А на Яндекс-картах опять все иначе: и улица не одна, и домов больше 24.
Возникает вопрос: просто не успели занести новые улицы и подчинения в ГАР? Или что-то другое?..
Почему обо всём этом важно знать?
Представим, что компания использует для ввода адреса подсказки Яндекса, а потом хочет привести адресные данные к формату налоговой, чтобы сдать отчётность. Сюрприз — так просто не получится! Потому что в Яндексе улицы у этого объекта есть, а в ГАР — нет.
Сопоставить адрес из источника заказчика и адрес из ГАР может адресная мастер-система. Но и тут без дополнительной ручной валидации, скорей всего, не обойтись, так как только человек сможет подтвердить, что адрес без улицы в ГАР и адрес с улицей из Яндекса — это одно и то же. Поэтому, если у вас есть адресная мастер-система со встроенными подсказками по ГАР, используйте их для помощи ввода людям, чтобы сразу получить адрес «государственного образца».
Кстати, приведение адреса к эталонному значению, в основе которого справочник ГАР, поможет системам понимать друг друга лучше. Ведь если в одной системе адреса заводятся по ГАР, а в другой приезжают из стороннего сервиса, то сопоставить их сложно.
Другой пример: бизнес может делать аналитику по допродажам, чтобы понять, сколько населённых пунктов не охвачено его услугами. Если слепо верить данным ГАР, в отчёт попадут умирающие деревни, которые вообще не интересны. Или наоборот: есть населённый пункт, в ней улица. Но домов на ней, с точки зрения ГАР, нет. И они не попадут в отчёт. Опять же, в адресных мастер-системах можно хранить признак подтверждённого адресного объекта — если бизнес проверил, что такой дом или населённый пункт точно существуют и представляют для него интерес.
В мире адресных данных много неоднозначных задачек. Если столкнулись с какой-то из них, пишите в комментариях — попробуем разобраться вместе.