使用拆分的小时数据 _Campbellsci论坛问答

我有一个1分钟数据的数据文件,我正试图使用Split来输出一个小时顶部的值,即输出每个小时的温度。根据Loggernet手册;4[60]〃的情况下;在“;复制“;分割行,但没有得到任何结果。最好的方法是什么。

数据示例:
01,2008,153,0,-0.00690,-3.75441,0.00090,0.00016,0.00651,27.03,2.705,106.4,3.724,24.74,26.85,.......

使用拆分的小时数据
_Campbellsci论坛问答

提前感谢,
里克。

新对话如下:

嗨,瑞克,

在Split中这有点棘手——您需要做几件事来保持文件随时间同步。

首先,如果您的文件尚未在“开始”上开始,您将希望指定“开始”条件;“小时之巅”;间隔(例如,如果它在12:13而不是12:00开始)

启动条件:::4[1]:

冒号使所有内容按时间同步,并表示4[1]是小时/分钟(第一个冒号=年份占位符,第二个冒号=儒略日占位符,然后是4[1],最后一个冒号=秒占位符)。

4[1]=当元素#4(小时/分钟)等于1时开始处理。


对于复制条件,您需要指定将从中读取的数组ID,并指示文件的间隔。

复制条件:1[01]和4[1]

1[01]指示拆分它应该从数组“”中读取数据;01〃处;。

4[1]表示原始文件的时间间隔为1分钟。(“和”连接这两个条件)。


最后,“选择”行应该包含您希望包含在报告中的所有元素,每“;X”表示;行(在您的情况下,每60行)。您需要对报告中输出的每个元素执行以下操作:

选择线:Smpl(1..15;60)

1..15=在报告中包括元素1到15

60=每60条记录取样一次

您还可以使用:

Smpl(1;60)、Smpl(2;60)和Smpl(3;60)等。

或者,如果您想从报告中省略一些元素:

Smpl(2;60),Smpl(3;60)、Smpl(5;60)和Smpl(9;60)等。


请注意,当涉及到“拆分”时,拆分是非常字面的;60〃;。它将计算60行,而不是每60分钟。“开始”条件中的冒号和“复制”条件中指定的“间隔”可确保,如果有丢失的记录,则不会偏离原始间隔(例如,如果在凌晨4点和5点之间有丢失记录,则最终输出为100、200、300、400、501、601、701…)。

我知道这一切都很神秘。拆分可能很难让你理解,我总是要测试它,以确保语法正确(我通常不会,所以我需要三四次尝试!)。我相信Split手册仍然有一些文字,上面写着“;分裂有助于实验";虽然我每次读到这篇文章都会感到尴尬,但这是真的:)这是一个非常强大的工具,但有时确实需要一些技巧才能得到你期望的输出。测试文件的一个好方法是一次做一个更改(设置“开始”条件,只输出所有值,如果它如您所期望的那样工作,则继续复制,查看您所做的更改对文件的影响,依此类推…)。

我希望这能有所帮助&祝你好运,

Dana公司

新对话如下:

谢谢Dana,它成功了!我按照你建议的步骤进行了操作,发现无论有没有复制条件,它都能工作。
我的列表中又完成了一项任务!
再次感谢您的帮助,
里克。

新对话如下:

嗨,瑞克,

很高兴它能起作用。只需注意,输出将得到“0”;偏离轨道”;如果你错过了一个记录;以及4[1]〃;不处于复制状态。例如,我正在使用的数据文件中有丢失的记录(几天的丢失记录)。如果在复制条件下运行时没有4[1],则输出的时间戳为:


101,2009,245,700
101,2009,245,800
101,2009,245,900
101,2009,245,1000
101,2009,245,1100
101,2009,245,1200
101,2009,253,1104
101,2009,253,1204
101,2009,253,1304

如果我输入复制条件,我的输出是:

101,2009,245,700
101,2009,245,800
101,2009,245,900
101,2009,245,1000
101,2009,245,1100
101,2009,245,1200
101,2009,253,1300
101,2009,253,1400
101,2009,253,1500

复制条件与开始条件中的冒号一起保持同步。

当做

Dana W。

分享到:

原文链接:,转发请注明来源!
海洋仪器网 仪器使用 使用拆分的小时数据 _Campbellsci论坛问答
「使用拆分的小时数据 _Campbellsci论坛问答」评论列表

发表评论