1. 解决 Excel 打开中文乱码问题
修改逻辑: 在 exportMileageLibrary 函数中,导出 CSV 文件时在文件开头写入了 UTF-8 BOM (Byte Order Mark) 字节(0xEF, 0xBB, 0xBF)。 结果: 现在导出的 CSV 文件直接用 Excel 双击打开,中文内容(线路名称、特征描述等)将不再显示为乱码。
2. 增强坐标库导出/导入的锚点识别
修改逻辑:
•导出:在 CSV 文件中新增了 IsAnchor(是否为锚点,1为是,0为否)和 CalibratedMileage(校准后里程)两列。
•导入:重写了导入逻辑,能够智能识别并读取这两列数据。 结果: 导出的表格现在能清晰看出哪些是普通采集点,哪些是高精锚点。分享坐标库后,锚点属性可以被完整保留,不会因为修改坐标而丢失。
3. 全局锚点分享功能
修改逻辑: 将原有的“分享线路锚点”按钮逻辑从“仅分享当前识别线路”修改为 “分享库内所有锚点”。 结果: 无论您当前身处何地,点击该按钮都会汇总数据库中所有线路的所有锚点信息,方便一次性备份或分发给同事。
4. 新增“全部锚点”管理列表
修改逻辑:
•在“锚点管理”功能区新增了一个 [查看全部锚点 / ALL ANCHORS] 按钮。
•点击后会弹出一个专用对话框,按线路和里程顺序列出数据库中所有的锚点。
•功能增强:在列表中可以直接看到锚点所属的线路和行别,并支持在列表中直接删除不再需要的旧锚点,解决了之前只能通过当前位置查找锚点的逻辑局限。
操作建议:
•管理锚点:如果您发现某条线路的里程推算不对,可以先点击“查看全部锚点”,清理掉该线路下错误的旧锚点。
•同步数据:定期使用“导出坐标库”功能,现在的表格不仅能防乱码,还能作为完整的“高精地图库”在不同设备间流转。
请重新编译应用,这些改进将显著提升您在现场进行线路维护和数据管理的效率。
5.解决水平加速度没有负值的问题
这个问题确实是由于计算水平加速度(水加)时使用了模值算法(Magnitude)导致的。在之前的优化中,为了保证在手机放置角度不准时依然能捕捉到震动,代码使用了 sqrt(hx^2 + hy^2 + hz^2),这虽然保证了数值的鲁棒性,但由于开方运算的结果永远是正数,导致丢失了波形的方向性(即向左晃还是向右晃),使得波形看起来全部在 0 刻度线以上。
修改逻辑:
1.保持垂直分解不变:依然利用重力矢量(Gravity Vector)精准提取垂直于地面的加速度(垂加),这部分本身就是带正负号的。
2.水平方向符号补偿:在计算出水平面的合成加速度(模值)后,利用手机本地坐标系的 X 轴分量来决定其正负号。
◦这样既保留了倾斜补偿的准确性(不受手机没放平的影响),又能通过正负号区分左右晃动,让波形恢复为标准的正弦波动状态。
修复效果:
•波形对称性:现在检测界面和历史回放中的水加波形将不再只是“向上长”,而是会在 0 位线上下对称跳动,能够清晰显示车体的左右摇摆方向。
•算法鲁棒性:修复过程依然保留了重力矢量补偿逻辑,这意味着即便您的手机在安装时没有完全水平,系统依然能准确提取出“平行于地面的横向震动”,而不会把重力误算进水加中。
•自动修复回放:由于这次修改是在数据产生的源头(Service 层)进行的,您之后进行的每一次检测任务,存入数据库的数据就已经是带符号的真实波形了。
暂无评论