1、解算数据表增加一个字段:是否稳定。每次滤波时检查滤波窗口内的原始数据时间,当前时间距离最后一条时间超过滤波窗口的2/3时,稳定字段设为true,否则false
2、周跳判断改为东+北的位移之和与门限比较,门限改为800mm
This commit is contained in:
parent
7bfc7ec610
commit
05a83e33a1
@ -213,6 +213,7 @@ public class GNSSCalcFilterService {
|
||||
int xyCount = 1;
|
||||
int zCount = 1;
|
||||
int minCount = 1;
|
||||
LocalDateTime lastRecordTime = null;
|
||||
|
||||
for (GnssCalcData record : gnssHistoryRecords) {
|
||||
if (record.getEnabled()) {//只选取好点参与滤波
|
||||
@ -225,8 +226,10 @@ public class GNSSCalcFilterService {
|
||||
sumD += record.getB562d();
|
||||
zCount++;
|
||||
}
|
||||
//记录最后一条有效解的时间
|
||||
lastRecordTime = record.getCreatetime();
|
||||
// 计算短周期
|
||||
if(record.getCreatetime().isAfter(minCycleTime)){
|
||||
if(lastRecordTime.isAfter(minCycleTime)){
|
||||
msumE = sumE;
|
||||
msumN = sumN;
|
||||
msumD = sumD;
|
||||
@ -242,6 +245,8 @@ public class GNSSCalcFilterService {
|
||||
newRecord.setAuxe(NumberUtils.scaleTwo(msumE / minCount));
|
||||
newRecord.setAuxn(NumberUtils.scaleTwo(msumN / minCount));
|
||||
newRecord.setAuxd(NumberUtils.scaleTwo(msumD / minCount));
|
||||
//滤波窗口里的时间跨度超过滤波时间的2/3才认为稳定
|
||||
newRecord.setStabled(lastRecordTime.isBefore(newRecordTime.minusHours(filterCycleHour * 2 / 3)));
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user