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 xyCount = 1;
|
||||||
int zCount = 1;
|
int zCount = 1;
|
||||||
int minCount = 1;
|
int minCount = 1;
|
||||||
|
LocalDateTime lastRecordTime = null;
|
||||||
|
|
||||||
for (GnssCalcData record : gnssHistoryRecords) {
|
for (GnssCalcData record : gnssHistoryRecords) {
|
||||||
if (record.getEnabled()) {//只选取好点参与滤波
|
if (record.getEnabled()) {//只选取好点参与滤波
|
||||||
@ -225,8 +226,10 @@ public class GNSSCalcFilterService {
|
|||||||
sumD += record.getB562d();
|
sumD += record.getB562d();
|
||||||
zCount++;
|
zCount++;
|
||||||
}
|
}
|
||||||
|
//记录最后一条有效解的时间
|
||||||
|
lastRecordTime = record.getCreatetime();
|
||||||
// 计算短周期
|
// 计算短周期
|
||||||
if(record.getCreatetime().isAfter(minCycleTime)){
|
if(lastRecordTime.isAfter(minCycleTime)){
|
||||||
msumE = sumE;
|
msumE = sumE;
|
||||||
msumN = sumN;
|
msumN = sumN;
|
||||||
msumD = sumD;
|
msumD = sumD;
|
||||||
@ -242,6 +245,8 @@ public class GNSSCalcFilterService {
|
|||||||
newRecord.setAuxe(NumberUtils.scaleTwo(msumE / minCount));
|
newRecord.setAuxe(NumberUtils.scaleTwo(msumE / minCount));
|
||||||
newRecord.setAuxn(NumberUtils.scaleTwo(msumN / minCount));
|
newRecord.setAuxn(NumberUtils.scaleTwo(msumN / minCount));
|
||||||
newRecord.setAuxd(NumberUtils.scaleTwo(msumD / minCount));
|
newRecord.setAuxd(NumberUtils.scaleTwo(msumD / minCount));
|
||||||
|
//滤波窗口里的时间跨度超过滤波时间的2/3才认为稳定
|
||||||
|
newRecord.setStabled(lastRecordTime.isBefore(newRecordTime.minusHours(filterCycleHour * 2 / 3)));
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user