- Данный сервис отслеживает определенную папку, в которую можно добавлять csv файлы для их обработки.
- При попадании нового файла в указанную папку запускается новый процесс, который обрабатывает новый файл и сохраняет результат в определенный каталог.
- Этот сервис может использоваться другими сервисами, которым необходимо обработать данные.
- Взаимодействие между сервисами может осуществляться с помощью передачи нового файла в указанную директорию.
- Прогресс можно отслеживать по каталогу, в котором находятся результаты обработки.
- Считываем csv файл
- Зная широту и долготу начальной и конечной точки, вычисляем их координаты в сферической системе координат
- Определяем уравнение плоскости, проходящее через 3 заданные точки (Начало координат, стартовая точка, конечная точка)
- Ищем по коэффициентам плоскости подходящее дерево. В этом дереве при первом добавлении пути фиксируется стартовая точка, относительно которой будет рассчитываться угол траектории движения.
- В дерево узел добавляется с помощью сравнения углов относительно фиксированной точки. Иерархия строится в отношении больший угол (родитель) - вложенный угол (дочерний узел)
- По построенному дереву создаётся итоговый результат. Результат представлен в виде информации об отрезке - информация о ребенке (вне зависимости от вложенности)
- Сохраняем результат обработки в csv файл
docker run -v your_path/input_folder/:/usr/home/csv_input -v your_path/output_folder/:/usr/home/csv_output -d med1a/service_geodata_handler:latest