Проект геолокаций
Описание кейса
- Программирование и IT
- Сервера, хостинг и 1С
Ссылка на проект:
https://github.com/dkarabarin/GeomappingСервис геопланирования Задача: автоматическое распределение географических точек по дням месяца и формирование кластеров для ежедневного обхода с учётом требуемого количества посещений в месяц и привязки к менеджерам. Что сделано: Загрузка точек из CSV с гибкой поддержкой полей: point_id, latitude/lat, longitude/lon, visits_per_month/n_visits, manager. Кластеризация DBSCAN по геодезическим расстояниям с разбиением больших и объединением маленьких кластеров, ограничениями MIN_CLUSTER_SIZE и MAX_CLUSTER_SIZE. Расчёт маршрутов по дорожной сети: PBF OpenStreetMap, OSMnx, кеширование дорожных расстояний в GraphML. Распределение кластеров по рабочим дням месяца с учётом числа посещений и менеджеров. Визуализация кластеров и маршрутов на интерактивной карте, экспорт расписания и статистики в CSV. Результат: на тестовых 633 точках и 3 менеджерах сервис сформировал 65 кластеров и 22-дневное расписание. Средний размер кластера — 9.7 точки, кластеры укладываются в лимит до 12 точек. Выходные файлы: schedule_final.csv, daily_stats_final.csv, clusters_info_final.csv, route_map_final.html. Стек: Python 3.11+, OSMnx, scikit-learn (DBSCAN), NetworkX, Pandas/GeoPandas, Folium, OpenStreetMap, PBF/GraphML, CSV.

Другие работы исполнителя


