小编hul*_*yer的帖子

有人有阅读 ISOBUS (ISO 11783-10) 二进制时间日志文件的经验吗?

我正在尝试打开并读取一堆二进制格式的地理参考时间日志文件。他们应该遵循农业机械的 ISO-11783 (ISOBUS) 标准,但在阅读了 100 多页标准后,我无法弄清楚如何使用十六进制编辑器或以编程方式使用 .NET c# 读取文件。我知道时间日志以文件对的形式出现:一个 xml 文件和一个二进制文件。例如,二进制文件名为 TLG00004.bin,在记事本中它看起来像这样(部分):

记事本中的二进制文件

当我在 Visual Studio 2015(社区)中将该文件作为二进制文件打开时,十六进制如下所示:

在此处输入图片说明

这对我没有帮助。我什至不知道如何开始将其作为代码中的字节流(或其他任何内容)阅读。

我知道文件应该以人类可读的形式看起来像这样:(TimeStart, PositionNorth, PositionEast, PositionStatus, # DLV, DLV 0, PDV 0, DLV 1, PDV 1, DLV 2, PDV 2,...)最多可以有 255 个 DLV-PDV 对,我认为它们是 32 位整数。一个例子显示为:(2005-05-02T16:32:00,51.00678,6.03489,1,2,0,10,1,15)

我在文档中看到的一些小提示向我表明这必须是 utf-8 和 base64 编码,带有小端和无字节顺序标记。但是我尝试在 Hexinator 的免费版本中打开它,并且无法(人类)使用该应用程序中的数十种编码中的任何一种来读取它,包括 utf-8、16、32...

我知道这不是正常的编程内容,但我把它扔在那里,看看我是否足够幸运,之前有人做过这件事并看到了这一点。任何提示或资源指向都会让我感激不尽,如果有人可以分享任何读取此类文件的代码,我将非常感激。

c# encoding binaryfiles packing geospatial

5
推荐指数
1
解决办法
1383
查看次数

如何在增量值重新开始时排除行?

我是一个新手海报,但在这里花了很多时间研究答案.我无法弄清楚如何使用SQL Server 2008 R2创建一个SQL结果集,该结果集应该使用更现代版本的超前/滞后.我试图根据一列的序列聚合数据,但每个序列中可能有不同数量的实例.我知道序列已经结束的唯一方法是下一行的序列号较低.所以可能会出现1-2,1-2-3-4,1-2-3,我必须弄清楚如何制作3个聚合.

源数据是连接表,看起来像这样(请帮我格式化):

recordID instanceDate moduleID iResult interactionNum
1356    10/6/15 16:14   1        68          1
1357    10/7/15 16:22   1        100         2
1434    10/9/15 16:58   1        52          1
1435    10/11/15 17:00  1        60          2
1436    10/15/15 16:57  1        100         3
1437    10/15/15 16:59  1        100         4
Run Code Online (Sandbox Code Playgroud)

我需要找到一种方法,根据最后一列中的值,将此示例中的前两行与最后4行分开.

我最想得到的是一个看起来像这样的结果集,它根据分组对iResult列进行平均,并从分组中获取第一个instanceDate:

instanceDate    moduleID    iResult
10/6/15           1          84
10/9/15           1          78
Run Code Online (Sandbox Code Playgroud)

如果我能找到一种分离组的方法,我可以使用MIN和AVG进行聚合以获得此结果.数据按instanceDate排序(请忽略此处的日期格式),然后当查询找到一个行,其中interactionNum <=比前一行(通常会以'1'重新开始,但并非总是如此),就会发生interactionNum和组分离,所以更喜欢在较低或相等的整数值上分开).

这是我到目前为止的查询(包括提供上述数据集的连接):

SELECT 
    X.* 
FROM
   (SELECT TOP 100 PERCENT   
        instanceDate, b.ModuleID, iResult, b.interactionNum 
    FROM 
        (firstTable a  
    INNER JOIN 
        secondTable b ON b.someID …
Run Code Online (Sandbox Code Playgroud)

t-sql sql-server sql-server-2008-r2

3
推荐指数
1
解决办法
171
查看次数