РБК Компании
Главная Lachestry 24 июня 2025

Решение задачи оптимального геокодинга адреса

Как мы решали задачу по оптимальному геокодингу адреса для сервиса доставки
Геокодинг адреса
Источник изображения: Сгенерировано нейросетью Deep AI
Задача и причина

Причина:

В современном мире, где цифровые технологии и геопространственные данные играют ключевую роль в различных сферах жизни, определение точных координат объекта по его адресу становится важной задачей. Это необходимо для навигации, логистики, городского планирования, анализа данных и многих других областей. Однако процесс преобразования адреса в географические координаты (геокодирование) может быть сопряжен с рядом сложностей, таких как неоднозначность адресов, ошибки в данных или отсутствие точной информации. Наш клиент обратился к нам с запросом на решение проблемы правильной идентификации адреса и координат. 

Задача:

Решить задачу по оптимальному геокодингу адреса для сервиса доставки.

На схеме ниже представлены цели и предполагаемый путь решения:

Решение задачи оптимального геокодинга адреса

Для решения задач геокодирования мы рассматривали следующие сервисы:

  • Yandex 
  • DaData 
  • Google Maps 
  • OSM (Open Street Maps)

Стоит отметить, что три первых сервиса предоставляют платный доступ к данным.

Шаг1: Проверка определения геопозиции по адресам

Рассмотрим на примерах, как сервисы идентифицировали геопозицию по заданному адресу

Пример 1: Россия Владимирская обл, г Ковров, ул Машиностроителей, дом 8

Решение задачи оптимального геокодинга адреса

Результат: Яндекс и DaData определили адрес точно вплоть до дома, Google поставил мимо дома, OSM мимо.

Пример 2: 

Россия Тульская обл, Ефремовский р-н, г Ефремов, ул Союзная, д.26

Решение задачи оптимального геокодинга адреса

Яндекс и Google попали ровно в дом, OSM и DaData попали в улицу, при том что OSM точнее чем DaData нашел ее начало.

Пример 3: Россия Свердловская обл, г Екатеринбург, ул Малышева, дом 8

Решение задачи оптимального геокодинга адреса

Шаг 2: Проектирование архитектуры

После этапа анализа на релевантность выдачи, мы предложили следующую архитектуру приложения:

  • Реализовать сервис на основании фреймворка Symfony в специальной конфигурации, позволяющей нам формировать шаблоны в административной панели системы
  • Так как будут использоваться несколько провайдеров API, необходима отдельная конфигурация провайдеров для конкретной страны. Например, для конфигурации RU-Россия по провайдерам можно настраивать приоритетность провайдера и доступность для конкретной страны
Решение задачи оптимального геокодинга адреса

Форма виджета для ввода адреса будет выглядеть таким образом:

Решение задачи оптимального геокодинга адреса

Мы предусмотрели деление адреса на составляющие в форме, так как для некоторых систем по типу OSM важно разбиение адреса на составляющие.

Результат

В рамках разработки сервиса была реализована возможность выбора очередности геокодинговых провайдеров. Основная цель данного решения — оптимизация затрат, поскольку система позволяет в первую очередь направлять запросы к бесплатным или более экономичным сервисам, используя платные (например, Яндекс.Геокодер или Google Maps) только при необходимости.

Особое внимание уделено балансу между стоимостью и точностью результатов. Так, после бесплатного OpenStreetMap рекомендуется использовать Яндекс.Геокодер, который, несмотря на свою стоимость, обеспечивает высокую точность данных. Кроме того, в Яндексе есть обширная зона покрытия, включая отдаленные населенные пункты, где другие провайдеры, такие как Google, могут не предоставлять достаточных данных.

Таким образом, предложенный подход позволяет эффективно распределять запросы между провайдерами, минимизируя затраты без существенного ущерба для качества геоданных.

Источники изображений:

Из архива Lachestry

Интересное:

Новости отрасли:

Все новости:

Публикация компании

Контакты

Адрес
Россия, Ростовская обл., г. Таганрог, ул. Чехова, д. 57, оф. 2
Телефон

Социальные сети

ГлавноеЭкспертыДобавить
новость
КейсыМероприятия