У меня есть несколько объектов, похожих на игрушечные машинки с дистанционным управлением, которые отправляют свое местоположение каждую минуту или около того.В пределах определенного многоугольника / области я могу достаточно хорошо определить их местоположение, однако, поскольку координаты немного скачут, а приемник не всегда имеет идеальный прием, вы можете пропустить точку здесь и там.Этот набор данных выглядит примерно так:
car_id | datetime | x | y
1 | 2018-01-01 00:00:01 | .... | .... -> 1 enters the polygon
1 | 2018-01-01 00:01:02 | .... | ....
2 | 2018-01-01 00:01:13 | .... | .... -> 2 enters the polygon
3 | 2018-01-01 00:01:40 | .... | .... -> 3 enters the polygon
2 | 2018-01-01 00:02:15 | .... | ....
3 | 2018-01-01 00:03:35 | .... | ....
1 | 2018-01-01 00:03:40 | .... | ....
2 | 2018-01-01 00:03:40 | .... | ....
3 | 2018-01-01 00:04:25 | .... | ....
3 | 2018-01-01 00:05:15 | .... | ....
2 | 2018-01-01 00:05:20 | .... | ....
2 | 2018-01-01 00:06:25 | .... | ....
2 | 2018-01-01 00:07:18 | .... | ....
2 | 2018-01-01 00:08:20 | .... | ....
2 | 2018-01-01 00:09:45 | .... | .... -> haven't seen 1 for a while so must have left the polygon
2 | 2018-01-01 00:10:35 | .... | .... -> haven't seen 3 for a while so must have left the polygon
2 | 2018-01-01 00:11:47 | .... | ....
Я оставил x и y в этом примере "....", но у них есть координата внутри многоугольника.Чтобы создать «диаграмму Ганта» (на самом деле это не должна быть диаграмма, просто набор данных, идея которого заключалась бы в том, чтобы увидеть, находится ли объект (то есть автомобиль не был в многоугольнике некоторое время (скажем, 5 минут)).и пришли к выводу, что он покинул область (после этого объект может повторно войти в область, но это будет новая запись в многоугольник)
Результат, который я ожидаю, будет примерно таким:
car_id | entry_date_time | exit_date_time
1 | 2018-01-01 00:00:01 | 2018-01-01 00:09:45
2 | 2018-01-01 00:01:13 | NULL
3 | 2018-01-01 00:01:40 | 2018-01-01 00:10:35
У кого-нибудь есть идеи, как мне лучше всего перейти от временных рядов к «диаграмме Ганта»? Я пытаюсь сделать это либо в SQL (AWS Athena), либо в pandas (python).
Спасибо!