我正在使用这个(非常有用的)C#库 https://github.com/jugglingcats/tachograph-reader 来解析.ddd文件。
问题是,对于我分析由库生成的xml的更多.ddd文件,显示节点“DataBufferIsWrapperd”设置为true。并且xml文件不包含ddd文件的所有驱动程序活动。
如果所有活动都存在,则标签“DataBufferIsWrapperd”设置为false。
有什么问题?为什么要在xml文件中剪切数据?
答案 0 :(得分:0)
我怀疑原因很简单。
如果你能想象一个.ddd(DriverCard下载)文件包含什么是有效的驱动程序活动数组。
所以它看起来像:
Index TimeStamp Activity
0 2018-01-07 04:00 DRIVE
1 2018-01-07 04:30 REST
2 2018-01-07 04:45 WORK
...
...
当卡片是新的时,数组会逐个填充,以便最新的条目位于index =(活动计数-1)。例如如果有10个活动,那么最新的是存储在卡上的活动数组中的索引9。
一旦卡片被使用了很长一段时间,行车记录仪将包裹活动阵列,原因很简单,因为司机卡的存储空间非常有限(在数千个活动中),这意味着activity数组的时间戳晚于后面的索引。
Index TimeStamp Activity
0 2018-09-01 06:11 DRIVE
1 2018-01-07 04:00 DRIVE
2 2018-01-07 04:30 REST
3 2018-01-07 04:45 WORK
...
...
处理这个包装数据非常棘手,我知道因为我自己编写了一个.DDD解析器。我相信您使用的库可能无法正确处理包装数据,这就是您只看到一些活动的原因。
它的实际工作方式稍微复杂一些,解析这些数据的方法有很多种。有效地包含数据的驱动程序卡可能会暴露库的问题。
如果您可以看到哪些活动缺失,早期或晚期,您可能能够更多地了解该问题。