Офлайн-геолокация по скриншоту карты
OCR, газеттир и дорожный граф вместо облачных сервисов
По скриншоту карты определяет место за жёсткие 15 секунд и полностью офлайн. Если данных не хватает, честно отвечает регионом или «не определено», а не уверенной ошибкой.
Проверяемые решения
Одни только подписи на карте никогда не дают точную точку. Ответ либо регион, либо улица с радиусом, либо «не определено».
код
На локальном прогоне 18.09.2026 p95 около 750 мс при бюджете 15 секунд.
замер
Подробно
Задача
По скриншоту карты определить место за жёсткие 15 секунд, без сети и облачных сервисов.
Как устроено
OCR на ONNX читает подписи, мировой газеттир находит кандидатов, подсказки о стране сводятся вместе. Затем кандидат проверяется по дорожному графу OpenStreetMap: названия и номера дорог рядом с точкой плюс топология перекрёстков, снятая со скриншота. Индексы лежат в SQLite с полнотекстовым поиском и R-tree, запрос по графу укладывается в миллисекунды.
Честная неопределённость
Текст сам по себе никогда не даёт точную точку. Ответ либо регион, либо улица с радиусом, либо «не определено». Лучше честный регион, чем уверенная ошибка.
Что измерено и что нет
Задержка на локальном прогоне 18.09.2026: p50 около 560 мс, p95 около 750 мс при бюджете 15 секунд. Точность не публикуется: для неё нужен бенчмарк на реальных размеченных скриншотах, его пока нет.
Данные: GeoNames (CC BY 4.0) и OpenStreetMap (ODbL).