1、修改自适应滤波的bug

2、求重心函数的最大半径改为300mm,和坏点门限一致
This commit is contained in:
weidong 2024-04-26 08:31:47 +08:00
parent 32d54272e6
commit 875d0dd423
6 changed files with 14 additions and 7 deletions

View File

@ -34,11 +34,11 @@ public class ZNYForwarder extends Forwarder{
/**
* 每半小时转发GNSS解算结果
*/
/*@Scheduled(cron = "0 0/10 * * * ?") // 每30分钟执行一次
@Scheduled(cron = "0 0/10 * * * ?") // 每30分钟执行一次
private void checkDevice() {
logger.info("zny checkDevice");
checkOfflineDevice("2345078","2345073","2345065");
}*/
checkOfflineDevice("2345072","2345076","2345064");
}
@Scheduled(cron = "0 0/30 * * * ?") // 每30分钟执行一次
private void forwardGnss() {

View File

@ -20,7 +20,7 @@ public class FocusCalculator1 implements FocusCalculator{
int gravityMinCount = 50;
int gravityMaxCount = 300;
double gravityInitR = 5;//mm
double gravityMaxR = 200;//mm
double gravityMaxR = 300;//mm
double pointSelectedRate = 0.5;
double iterStep = 1;//mm
double[] referPoint; //参考点一般是上一次计算的位置用来辅助计算重心

View File

@ -30,7 +30,7 @@ public class FocusCalculator2 extends FocusCalculator1{
public FocusCalculator2(){
super();
iterStep = 2;//2mm
gravityMaxR = 400;
gravityMaxR = 500;
}
@Override

View File

@ -166,6 +166,8 @@ public class GNSSCalcFilterService {
}
void refreshFilterCycle(String deviceId, GnssGroupCalc groupCalc, GnssCalcData curCalcData){
if(curCalcData.getAuxe()==null) return;
LocalDateTime now = LocalDateTime.now();
// 比较当前均值和FilterMinHour前的均值之差是否超过门限
LocalDateTime cmpTime = now.minusHours(groupCalc.getFilter_min_hour());
@ -177,7 +179,9 @@ public class GNSSCalcFilterService {
queryWrapper.last("limit 1");
queryWrapper.orderByDesc("createtime");
GnssCalcData gnssCalcData = repository.selectOne(queryWrapper);
if (gnssCalcData != null) {
if(gnssCalcData.getAuxe()==null) return;
double gapE = Math.abs(gnssCalcData.getAuxe() - curCalcData.getAuxe());
double gapN = Math.abs(gnssCalcData.getAuxn() - curCalcData.getAuxn());
if (gapE >= groupCalc.getAuto_threshold() || gapN >= groupCalc.getAuto_threshold()) {

View File

@ -125,7 +125,7 @@ public class SingleLineGNSSCalcService implements GNSSDataCalcService {
} catch (Exception e) {
logger.error(e.toString());
}
},20, TimeUnit.SECONDS);
},30, TimeUnit.SECONDS);
timerMap.put(device.getDeviceId(), future);
}
@ -229,6 +229,7 @@ public class SingleLineGNSSCalcService implements GNSSDataCalcService {
}
public void refreshGroupCalc(){
groupCalcList.clear();
groupCalcList = groupCalcMapper.selectList(null);
calculatorMap.clear();
logger.info("group paras changed");

View File

@ -77,6 +77,8 @@ public class BeidouDevice {
executeAsD342("C:\\Users\\wd\\Desktop\\log\\2345076_0424_4xx.log");
executeAsD342("C:\\Users\\wd\\Desktop\\log\\2345076_0424_5xx.log");
*/
execute("C:\\Users\\wd\\Desktop\\log\\2353120_0424_1.log");
/*
executeAsD342("C:\\Users\\wd\\Desktop\\log\\2353120_0424_1.log");
executeAsD342("C:\\Users\\wd\\Desktop\\log\\2353120_0424_2.log");
executeAsD342("C:\\Users\\wd\\Desktop\\log\\2353120_0424_1xx.log");
@ -84,7 +86,7 @@ public class BeidouDevice {
executeAsD342("C:\\Users\\wd\\Desktop\\log\\2353120_0424_3xx.log");
executeAsD342("C:\\Users\\wd\\Desktop\\log\\2353120_0424_4xx.log");
executeAsD342("C:\\Users\\wd\\Desktop\\log\\2353120_0424_5xx.log");
}
*/ }
catch (Exception e){
}