From 37b94576fd34cc2d54105c85d3265a3069d11f36 Mon Sep 17 00:00:00 2001 From: weidong Date: Fri, 22 Dec 2023 17:07:50 +0800 Subject: [PATCH] =?UTF-8?q?1=E3=80=81=E8=87=AA=E5=8A=A8=E8=A1=A5=E4=BC=A0?= =?UTF-8?q?=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../sideslope/calc/GNSSCalcService.java | 37 +++++++++++++++++++ 1 file changed, 37 insertions(+) create mode 100644 sec-beidou-rtcm/src/main/java/com/imdroid/sideslope/calc/GNSSCalcService.java 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); +}