MOD-INT-GEO — Гео-провайдеры
Лицензия: Платный
Один вход ко всей географии: модуль подключает провайдеров (OSRM, OpenRouteService, Valhalla, Яндекс, 2ГИС) и раздаёт остальной системе единый набор операций — геокодинг и обратный геокодинг, маршрут по точкам, матрица расстояний и времени, пробки по коридору, платные участки. Ключи провайдеров шифруются AES-256-GCM и наружу не возвращаются, а назначение провайдера делается по функциям: геокодинг можно вести у одного, маршруты — у другого.
Ответы честные и перепроверяемые: каждый несёт провенанс — кто ответил, из кэша или живьём, насколько свежи данные. В матрице недоступная пара помечается явно вместо подстановки правдоподобного числа, запрос пробок без traffic-провайдера не притворяется успешным. Кэши геокодинга, маршрутов, матриц и пробок ведутся раздельно, со статистикой попаданий и точечной инвалидацией. Это фундамент планировщика маршрутов: без него оптимизатор честно откажется строить план.
Возможности
- Единый интерфейс к нескольким гео-провайдерам с приоритетами и списком поддерживаемых функций
- Назначение провайдера отдельно на каждую функцию: геокодинг, обратный геокодинг, матрица, маршрут, пробки, платные дороги
- Ключи провайдеров шифруются AES-256-GCM и никогда не выдаются наружу
- Проверка соединения с провайдером на фиксированных контрольных точках
- Геокодинг и обратный геокодинг с кандидатами и точностью
- Матрица расстояний и времени N×M для планирования маршрутов, недоступная пара помечается явно
- Маршрут по точкам: геометрия, шаги, дистанция, время, расчётное время прибытия
- Пробки по коридору с коэффициентом задержки и явной пометкой устаревших данных
- Платные участки вдоль маршрута с операторами и стоимостью
- Раздельные кэши по видам запросов со статистикой попаданий и точечной инвалидацией
- Честные лимиты и расход квоты по каждому провайдеру
- Дашборд состояния провайдеров: доступность, расход, доля попаданий в кэш
Основные MCP-инструменты
| Инструмент | Назначение |
|---|---|
int-geo__geo.geocode | Геокодинг адреса в координаты с кандидатами |
int-geo__geo.reverse | Обратный геокодинг: координаты в адрес |
int-geo__geo.matrix | Матрица расстояний и времени N×M |
int-geo__geo.route | Маршрут по точкам с геометрией, шагами и расчётным прибытием |
int-geo__geo.traffic | Пробки по коридору с коэффициентом задержки и свежестью |
int-geo__geo.toll_roads | Платные участки вдоль маршрута |
int-geo__provider.register | Зарегистрировать гео-провайдера |
int-geo__provider.list | Провайдеры: тип, приоритет, функции, лимиты, статус |
int-geo__provider.set_secret | Записать ключ провайдера (шифруется) |
int-geo__provider.set_active | Назначить провайдера на функции |
int-geo__provider.test | Проверить соединение с провайдером |
int-geo__cache.stats | Статистика кэшей и доля попаданий |
int-geo__cache.invalidate | Инвалидировать кэш (с подтверждением) |
int-geo__dashboard.get_provider_state | Состояние провайдеров одним агрегатом |
Блоки холста
geoprovider-card— карточка гео-провайдераgeoprovider-field— одно поле карточки провайдераtrafficsnapshot-card— снимок пробок с датой наблюдения
Связанные модули
- MOD-ROUTE-OPT — главный потребитель матриц, маршрутов и пробок
- MOD-FLEET — треки и позиции ТС на карте
- MOD-DRIVER — расчёт близости водителя к точке погрузки
- MOD-CANVAS — карта маршрута как блок холста