Сравнение адресов: случай из практики
Комментарии
В избранное
Подписаться на ответы
Сортировка:
Древо развёрнутое
Свернуть все
А не проще верифицировать "не нормализованную" адресную строку на тойже DaData, которая в структурированном виде вернёт адрес, ну или там информацию об ошибке и т.п.? Там вроде ещё и коды ФИАС и Кладр будут, что удобно, ну и сами же наименования улиц также могут меняться и прочее.
(1) Я в то время не знал про DaData. Хотя, скорее всего, не стал бы использовать. В любом случае воспринял бы задачу как свою личную головную боль ;)
К тому же, обращение к каким-то там сервисам потребовало бы прописывания доступа, бодания с отделом ИБ, в общем, эта идея была бы отброшена сразу.
К тому же, обращение к каким-то там сервисам потребовало бы прописывания доступа, бодания с отделом ИБ, в общем, эта идея была бы отброшена сразу.
Решал подобную задачу по адресам - через Google Geocoding Api получаю координаты адреса, саму строку адреса хэширую, и хэш с координатами сохраняю.
Новый адрес ищу по координатам - если совпадает - то адреса одинаковые
Новый адрес ищу по координатам - если совпадает - то адреса одинаковые
(3) Сурово ;) Как я понимаю, такие сведения необходимо получать при внесении адреса в базу? И как быть с погрешностью измерений, с последующими поправками картографии? Предусмотрен какой-то допуск?
В моем случае надо было работать с тем, что дают, и не добавлять отсебятины, даже если очень хочется. Мое решение хорошо тем, что это тупая молотилка, которая просто сравнивает, что дали, ничего не придумывает, а мы можем быть уверены, что вероятность ложных отказов будет просто мала, а вероятность ложных срабатываний - ничтожно мала. Причем второе условие гораздо важнее первого. Это как раз тот случай, когда лучше недоделать, чем потом исправлять.
В моем случае надо было работать с тем, что дают, и не добавлять отсебятины, даже если очень хочется. Мое решение хорошо тем, что это тупая молотилка, которая просто сравнивает, что дали, ничего не придумывает, а мы можем быть уверены, что вероятность ложных отказов будет просто мала, а вероятность ложных срабатываний - ничтожно мала. Причем второе условие гораздо важнее первого. Это как раз тот случай, когда лучше недоделать, чем потом исправлять.
(4) погрешность решается количеством знаков в широте и долготе.
Сервисы геокодирования достаточно точно описывают точку и хорошо работают по пользовательскому представлению адреса.
Сведения о геоданных получаются не для всех адресов, а для участвующих в процессе (в моем случае доставка грузополучателю).
В месяц порядка 200 запросов идет - они проходят по бесплатному порогу Google.
Ранее пользовались Яндексом, однако с недавних пор они бесплатный порог убрали.
Сервисы геокодирования достаточно точно описывают точку и хорошо работают по пользовательскому представлению адреса.
Сведения о геоданных получаются не для всех адресов, а для участвующих в процессе (в моем случае доставка грузополучателю).
В месяц порядка 200 запросов идет - они проходят по бесплатному порогу Google.
Ранее пользовались Яндексом, однако с недавних пор они бесплатный порог убрали.
Всё не так однозначно. Улицы состоят порой из 2-4 слов. Ещё есть в названии улиц числа. Например, Улица 1905-го года. А есть где в городе и улица и переулок имеют одинаковые названия.
Насчет описания достаточно точной геопозиции - не всегда работает эта схема.
Например с магазинами, где на одном адресе их может быть несколько.
Геокодирование удобно, когда 2-3 точки на 1 кв.км. Если больше, можно сколько угодно подбирать точки, погрешности при сопоставлении будут возрастать.
Насчет описания достаточно точной геопозиции - не всегда работает эта схема.
Например с магазинами, где на одном адресе их может быть несколько.
Геокодирование удобно, когда 2-3 точки на 1 кв.км. Если больше, можно сколько угодно подбирать точки, погрешности при сопоставлении будут возрастать.
(6)
Поэтому требуется большая подготовительная работа по устранению всяких вольностей в адресах, приведению названий к одному виду. Довольно муторно. А "-го" в конце "1905-го" убирается при создании формализованного адреса.
Улицы состоят порой из 2-4 слов. Ещё есть в названии улиц числа. Например, Улица 1905-го года. А есть где в городе и улица и переулок имеют одинаковые названия.
Поэтому требуется большая подготовительная работа по устранению всяких вольностей в адресах, приведению названий к одному виду. Довольно муторно. А "-го" в конце "1905-го" убирается при создании формализованного адреса.
Вакансии
Ведущий разработчик 1С / Team lead отдела разработки 1С
Москва
зарплата от 300 000 руб. до 300 000 руб.
Полный день
Москва
зарплата от 300 000 руб. до 300 000 руб.
Полный день