1、修改自适应滤波的bug
2、求重心函数的最大半径改为300mm,和坏点门限一致
This commit is contained in:
parent
32d54272e6
commit
875d0dd423
@ -34,11 +34,11 @@ public class ZNYForwarder extends Forwarder{
|
|||||||
/**
|
/**
|
||||||
* 每半小时转发GNSS解算结果
|
* 每半小时转发GNSS解算结果
|
||||||
*/
|
*/
|
||||||
/*@Scheduled(cron = "0 0/10 * * * ?") // 每30分钟执行一次
|
@Scheduled(cron = "0 0/10 * * * ?") // 每30分钟执行一次
|
||||||
private void checkDevice() {
|
private void checkDevice() {
|
||||||
logger.info("zny checkDevice");
|
logger.info("zny checkDevice");
|
||||||
checkOfflineDevice("2345078","2345073","2345065");
|
checkOfflineDevice("2345072","2345076","2345064");
|
||||||
}*/
|
}
|
||||||
|
|
||||||
@Scheduled(cron = "0 0/30 * * * ?") // 每30分钟执行一次
|
@Scheduled(cron = "0 0/30 * * * ?") // 每30分钟执行一次
|
||||||
private void forwardGnss() {
|
private void forwardGnss() {
|
||||||
|
|||||||
@ -20,7 +20,7 @@ public class FocusCalculator1 implements FocusCalculator{
|
|||||||
int gravityMinCount = 50;
|
int gravityMinCount = 50;
|
||||||
int gravityMaxCount = 300;
|
int gravityMaxCount = 300;
|
||||||
double gravityInitR = 5;//mm
|
double gravityInitR = 5;//mm
|
||||||
double gravityMaxR = 200;//mm
|
double gravityMaxR = 300;//mm
|
||||||
double pointSelectedRate = 0.5;
|
double pointSelectedRate = 0.5;
|
||||||
double iterStep = 1;//mm
|
double iterStep = 1;//mm
|
||||||
double[] referPoint; //参考点,一般是上一次计算的位置,用来辅助计算重心
|
double[] referPoint; //参考点,一般是上一次计算的位置,用来辅助计算重心
|
||||||
|
|||||||
@ -30,7 +30,7 @@ public class FocusCalculator2 extends FocusCalculator1{
|
|||||||
public FocusCalculator2(){
|
public FocusCalculator2(){
|
||||||
super();
|
super();
|
||||||
iterStep = 2;//2mm
|
iterStep = 2;//2mm
|
||||||
gravityMaxR = 400;
|
gravityMaxR = 500;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|||||||
@ -166,6 +166,8 @@ public class GNSSCalcFilterService {
|
|||||||
}
|
}
|
||||||
|
|
||||||
void refreshFilterCycle(String deviceId, GnssGroupCalc groupCalc, GnssCalcData curCalcData){
|
void refreshFilterCycle(String deviceId, GnssGroupCalc groupCalc, GnssCalcData curCalcData){
|
||||||
|
if(curCalcData.getAuxe()==null) return;
|
||||||
|
|
||||||
LocalDateTime now = LocalDateTime.now();
|
LocalDateTime now = LocalDateTime.now();
|
||||||
// 比较当前均值和FilterMinHour前的均值之差是否超过门限
|
// 比较当前均值和FilterMinHour前的均值之差是否超过门限
|
||||||
LocalDateTime cmpTime = now.minusHours(groupCalc.getFilter_min_hour());
|
LocalDateTime cmpTime = now.minusHours(groupCalc.getFilter_min_hour());
|
||||||
@ -177,7 +179,9 @@ public class GNSSCalcFilterService {
|
|||||||
queryWrapper.last("limit 1");
|
queryWrapper.last("limit 1");
|
||||||
queryWrapper.orderByDesc("createtime");
|
queryWrapper.orderByDesc("createtime");
|
||||||
GnssCalcData gnssCalcData = repository.selectOne(queryWrapper);
|
GnssCalcData gnssCalcData = repository.selectOne(queryWrapper);
|
||||||
|
|
||||||
if (gnssCalcData != null) {
|
if (gnssCalcData != null) {
|
||||||
|
if(gnssCalcData.getAuxe()==null) return;
|
||||||
double gapE = Math.abs(gnssCalcData.getAuxe() - curCalcData.getAuxe());
|
double gapE = Math.abs(gnssCalcData.getAuxe() - curCalcData.getAuxe());
|
||||||
double gapN = Math.abs(gnssCalcData.getAuxn() - curCalcData.getAuxn());
|
double gapN = Math.abs(gnssCalcData.getAuxn() - curCalcData.getAuxn());
|
||||||
if (gapE >= groupCalc.getAuto_threshold() || gapN >= groupCalc.getAuto_threshold()) {
|
if (gapE >= groupCalc.getAuto_threshold() || gapN >= groupCalc.getAuto_threshold()) {
|
||||||
|
|||||||
@ -125,7 +125,7 @@ public class SingleLineGNSSCalcService implements GNSSDataCalcService {
|
|||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
logger.error(e.toString());
|
logger.error(e.toString());
|
||||||
}
|
}
|
||||||
},20, TimeUnit.SECONDS);
|
},30, TimeUnit.SECONDS);
|
||||||
timerMap.put(device.getDeviceId(), future);
|
timerMap.put(device.getDeviceId(), future);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -229,6 +229,7 @@ public class SingleLineGNSSCalcService implements GNSSDataCalcService {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public void refreshGroupCalc(){
|
public void refreshGroupCalc(){
|
||||||
|
groupCalcList.clear();
|
||||||
groupCalcList = groupCalcMapper.selectList(null);
|
groupCalcList = groupCalcMapper.selectList(null);
|
||||||
calculatorMap.clear();
|
calculatorMap.clear();
|
||||||
logger.info("group paras changed");
|
logger.info("group paras changed");
|
||||||
|
|||||||
@ -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_4xx.log");
|
||||||
executeAsD342("C:\\Users\\wd\\Desktop\\log\\2345076_0424_5xx.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_1.log");
|
||||||
executeAsD342("C:\\Users\\wd\\Desktop\\log\\2353120_0424_2.log");
|
executeAsD342("C:\\Users\\wd\\Desktop\\log\\2353120_0424_2.log");
|
||||||
executeAsD342("C:\\Users\\wd\\Desktop\\log\\2353120_0424_1xx.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_3xx.log");
|
||||||
executeAsD342("C:\\Users\\wd\\Desktop\\log\\2353120_0424_4xx.log");
|
executeAsD342("C:\\Users\\wd\\Desktop\\log\\2353120_0424_4xx.log");
|
||||||
executeAsD342("C:\\Users\\wd\\Desktop\\log\\2353120_0424_5xx.log");
|
executeAsD342("C:\\Users\\wd\\Desktop\\log\\2353120_0424_5xx.log");
|
||||||
}
|
*/ }
|
||||||
catch (Exception e){
|
catch (Exception e){
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user