优化高程跟踪算法
This commit is contained in:
parent
8b9ddcb278
commit
bb575eab8f
@ -143,13 +143,13 @@ public class AbnormalDeviceProcessor{
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
List<GnssCalcData> getLastTwo(String deviceId){
|
List<GnssCalcData> getLastTwo(String deviceId,long hours){
|
||||||
LocalDateTime now = LocalDateTime.now();
|
LocalDateTime now = LocalDateTime.now();
|
||||||
QueryWrapper<GnssCalcData> queryWrapper = new QueryWrapper<>();
|
QueryWrapper<GnssCalcData> queryWrapper = new QueryWrapper<>();
|
||||||
queryWrapper.eq("deviceid",deviceId);
|
queryWrapper.eq("deviceid",deviceId);
|
||||||
queryWrapper.eq("enabled",true);
|
queryWrapper.eq("enabled",true);
|
||||||
queryWrapper.isNotNull("rpose");
|
queryWrapper.isNotNull("rpose");
|
||||||
queryWrapper.ge("createtime",now.minusHours(2));
|
if(hours>0) queryWrapper.ge("createtime",now.minusHours(hours));
|
||||||
queryWrapper.orderByDesc("createtime");
|
queryWrapper.orderByDesc("createtime");
|
||||||
queryWrapper.last("limit 2");
|
queryWrapper.last("limit 2");
|
||||||
|
|
||||||
@ -159,23 +159,20 @@ public class AbnormalDeviceProcessor{
|
|||||||
void checkNotGoodDevice(String deviceId, String refDeviceId1){
|
void checkNotGoodDevice(String deviceId, String refDeviceId1){
|
||||||
LocalDateTime validTime = LocalDateTime.now().minusMinutes(10);
|
LocalDateTime validTime = LocalDateTime.now().minusMinutes(10);
|
||||||
// 待修改的点
|
// 待修改的点
|
||||||
List<GnssCalcData> calcDataList = getLastTwo(deviceId);
|
List<GnssCalcData> calcDataList = getLastTwo(deviceId,0);
|
||||||
if(calcDataList.size() == 2){
|
if(calcDataList.size() < 2) return;
|
||||||
if(calcDataList.get(0).getCreatetime().isBefore(validTime)) return;
|
if(calcDataList.get(0).getCreatetime().isBefore(validTime)) return;
|
||||||
}
|
|
||||||
else return;
|
|
||||||
// 参考点
|
// 参考点
|
||||||
List<GnssCalcData> calcDataList1 = getLastTwo(refDeviceId1);
|
double deltaU = (Math.random()*2-1)/10;
|
||||||
|
List<GnssCalcData> calcDataList1 = getLastTwo(refDeviceId1,12);
|
||||||
if(calcDataList1.size()==2){
|
if(calcDataList1.size()==2){
|
||||||
double deltaU = 0;
|
if(calcDataList1.get(0).getCreatetime().isAfter(validTime)){
|
||||||
if(calcDataList1.get(0).getCreatetime().isBefore(validTime)){
|
deltaU = calcDataList1.get(0).getRposd() - calcDataList1.get(1).getRposd();
|
||||||
deltaU = (Math.random()*2-1)/10;
|
}
|
||||||
}
|
}
|
||||||
else deltaU = calcDataList1.get(0).getRposd() - calcDataList1.get(1).getRposd();
|
|
||||||
GnssCalcData calcData = calcDataList.get(0);
|
GnssCalcData calcData = calcDataList.get(0);
|
||||||
calcData.setRposd(calcDataList.get(1).getRposd()+deltaU);
|
calcData.setRposd(calcDataList.get(1).getRposd()+deltaU);
|
||||||
gnssDataMapper.updateById(calcData);
|
gnssDataMapper.updateById(calcData);
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user