diff --git a/sec-beidou-rtcm/src/main/java/com/imdroid/sideslope/calc/GNSSCalcService.java b/sec-beidou-rtcm/src/main/java/com/imdroid/sideslope/calc/GNSSCalcService.java new file mode 100644 index 00000000..8eb62cb6 --- /dev/null +++ b/sec-beidou-rtcm/src/main/java/com/imdroid/sideslope/calc/GNSSCalcService.java @@ -0,0 +1,37 @@ +package com.imdroid.sideslope.calc; + +import com.imdroid.sideslope.bd.Tilt; +import com.imdroid.sideslope.message.D341LocationMessage; + +import java.time.LocalDateTime; + +public interface GNSSCalcService { + /** + * 计算单条GNSS数据 + * + * @param message GNSS数据 + * @param completeWhenIdle 是否根据空闲时间判断本轮结束 + * @return x,y,z三轴数据 + */ + double[] calcSingle(D341LocationMessage message, boolean completeWhenIdle); + + /** + * 单轮解算结束,计算平滑值 + */ + void calSingleDone(String deviceId, Integer tenantId, LocalDateTime resultTime); + + /** + * 根据GNSS数据的中间结果,计算出最终结果 + * + * @param deviceId 设备id + * @return x,y,z三轴数据 + */ + //double[] calcResult(String deviceId,double[] b562Xyz, double[] tiltXyz); + + /** + * 根据GNSS数据的中间结果,计算Tilt的平均值 + * @param deviceid 设备id + * @return Tilt + */ + Tilt calcAvgTilt(String deviceid); +}