“空间时间限制”节点
空间时间限制 (STB) 是进行了 Geohash 计算的空间位置的扩展。更具体地说,STB 是一个字母数字字符串,它表示形状规则的空间和时间区域。
例如,STB dr5ru7|2013-01-01 00:00:00|2013-01-01 00:15:00 由以下三个部分组成:
- 地理散列 dr5ru7
- 开始时间戳记 2013-01-01 00:00:00
- 结束时间戳记 2013-01-01 00:15:00
例如,您可以使用空间和时间信息来提高两个实体是同一实体的置信度,因为这两个实体几乎在同一时间位于同一位置。另外,通过显示两个实体由于其空间和时间接近而相关,您可以提高关系确定的准确性。
您可以根据需要选择各个记录或逗留方式。这两种方式需要相同的基本详细信息,如下所示:
纬度字段。请选择用于标识 WGS84 坐标系中的纬度的字段。
经度字段。请选择用于标识 WGS84 坐标系中的经度的字段。
时间戳记字段。选择用于标识时间或日期的字段。
“各个记录”选项
使用此方式可向记录添加一个附加字段,用于标识该记录在指定时间的位置。
派生。选择一个或多个空间和时间密度,将根据所选内容派生新字段。请参阅定义空间时间限制密度以获取更多信息。
字段名称扩展。输入要向新字段名称添加的扩展名。您可以选择将此扩展添加为后缀,也可以将其添加为前缀。
“逗留”选项
可以将逗留视作实体在其中持续或重复出现的位置和/或时间。例如,可以使用它来标识进行定期运输的车辆,并确定与标准值的任何偏差。
逗留检测器监视实体的移动,并标记观察到实体在某个区域内“逗留”的情况。逗留检测器将标记的每次逗留自动分配给一个或多个 STB,并使用内存内的实体和事件跟踪功能以最优效率检测逗留。
STB 密度。选择空间和时间密度,将根据所选内容派生新字段。例如,值 STB_GH4_10MINS 对应于大小约为 20 公里乘 20 公里且时间窗口为 10 分钟的四字符地理散列限制空间。请参阅定义空间时间限制密度以获取更多信息。
实体标识字段。选择要用作逗留标识的实体。此标识字段用于标识事件。
最小事件数。事件是数据中的行。选择将实体视为逗留实体时,该实体的某一事件发生的最少次数。逗留还必须满足以下最短停留时间字段所指定的条件。
最短停留时间。指定实体必须在同一位置停留的最短持续时间。这有助于排除操作,例如可以将等待红绿灯的车辆从逗留车辆中排除的操作。逗留还必须满足以上最小事件数字段所指定的条件。
以下是更多有关逗留所必须满足的条件的详细信息:
e1, ..., en 指示持续时间 (t1, tn) 内从给定实体标识接收到的所有按时间排序的事件。在以下情况下,这些事件符合逗留条件:n>= 最小事件数tn - t1>= 最短停留时间- 所有事件
e1, ..., en都在同一个 STB 中发生
允许逗留跨越 STB 边界。选择此选项后,逗留的定义将不再那么严格并且可以包括一些实体,例如在多个空间时间限制中逗留的实体。例如,如果 STB 定义为整小时,那么选中此选项会将逗留一小时的实体识别为有效,即使这一小时由午夜前的 30 分钟和午夜后的 30 分钟组成也是如此。如果未选中此选项,那么 100% 的逗留时间都必须在单个空间时间限制之内。
满足时间限制的事件的最小比例 (%)。只有在选择了允许逗留跨越 STB 边界的情况下,此选项才可用。使用此选项可控制一个 STB 中报告的逗留事实上可能与另一逗留重叠的程度。选择必须在单一 STB 中发生的事件的最小比例可以标识逗留。如果设置为 25%,并且事件比例为 26%,那么符合逗留条件。
- 100%。在下午 5:00 - 5:10 的限定时间内报告逗留,而在下午 4:50 - 5:00 的限定时间内不报告逗留(下午 5:01 和 5:03 发生的事件满足合格逗留所需的所有条件,并且其中 100% 的事件在 5:00 - 5:10 限定时间内发生)。
- 50%。两个限定时间内的逗留都将进行报告(下午 5:01 和 5:03 发生的事件满足合格逗留所需的所有条件,在这些事件中,至少 50% 发生在 4:50 - 5:00 限定时间内,并且至少 50% 发生在 5:00 - 5:10 限定时间内)。
- 0%。两个限定时间内的逗留都将进行报告。
如果指定了 0%,那么逗留报告将包括那些表示合格持续时间所触及的每个限定时间的 STB。合格持续时间必须小于或等于 STB 中的限定时间的相应持续时间。换而言之,如果配置的合格持续时间为 20 分钟,那么不得将 STB 配置为 10 分钟。
一旦满足合格条件就会报告逗留,并且对于每个 STB 不会多次进行报告。假定有三个事件符合逗留条件,并且合格持续时间内发生的全部 10 个事件在同一个 STB 内。在这种情况下,将在发生第三个合格事件时报告逗留。另外 7 个事件都不会触发逗留报告。
- 逗留检测器的内存内事件数据在进程之间不共享。因此,特定实体与特定逗留检测器节点之间存在亲缘关系。即,一个实体的传入移动数据必须始终一致地传递到跟踪该实体的逗留检测器节点,在整个运行过程中,这通常是同一个节点。
- 逗留检测器的内存内事件数据并非持久存储。每当逗留检测器退出和重新启动时,所有工作中的逗留都将丢失。这意味着停止并重新启动进程可能会导致系统错过报告实际逗留。潜在的补救措施涉及重放部分历史移动数据(例如,后退 48 小时并重放适用于任何已重新启动的节点的移动记录)。
- 必须以时间顺序向逗留检测器输送数据。