注:本文所用时间为14量车的总时间单位为秒。
一、对数据的简单分析
1.总数据量的统计
select count(*) as number from trajectory; #总数据条数为2千万条

2.查询有多少量车
select count(distinct vme_id) from trajectory; #共有14量车```

#二、农机运营分析
1.查询有多少轨迹点速度等于0(即休息时间)
select count(*) from trajectory where speed=0;```

休息时间占比为4540327/20249036=0.22
2.查询平均作业深度(去除非作业数据)
select avg(work_deep) from trajectory where work_deep>50;#作业平均深度为40

3.查询作业时间
select count(*) from trajectory where work_deep>100 #输出7712956;
select count(*) from trajectory where work_deep>200 #输出7681255;
select count(*) from trajectory where work_deep>300 #输出7490286;
select count(*) from trajectory where work_deep>350 #输出6905956;
select count(*) from trajectory where work_deep>400 #输出3478811;

以深度300以上为作业:7490286/20249036=0.37
4.查询速度
select max(speed) from trajectory; #最大数据27
select avg(speed) from trajectory; #平均速度3.2
select min(speed) from trajectory; #最小速度0
select speed , count(*) from trajectory group by speed;

横坐标为速度, 纵坐标为轨迹点数目,速度为车辆的瞬时速度。
5.查询作业深度
select work_deep, count(*) from trajectory group by work_deep;

6.其他

1表示速度为0(蓝色)和速度非零的作业时间
2表示作业深度小于50(蓝色)和作业深度大于50的作业时间
从途中可以看出非作业中很大一部分时间中农机处于停息状态约占22%.
三、基于时间的农机轨迹分析
1.作业月份分析
select month(gps_time, count(*)) from trajectory group by month(gps_time);```

2.不同农机运营时间分析
select vme_id ,count(*) from trajectory group by vme_id ; ```

3.不同农机作业时间分析
select vme_id ,count(*) from trajectory where work_deep>50 group by vme_id ; ```

4.不同时间段作业分析

网友评论