什么是 GeoEvent Simulator?
GeoEvent Simulator 是一款随附于 ArcGIS GeoEvent Server 的 Windows 应用程序,可将事件数据从模拟文本文件或要素图层发送到指定的 TCP 套接字。从 GeoEvent Simulator 发送的事件数据由 GeoEvent Server 中的 TCP/文本输入接收,后者用于托管和监控模拟数据发送至的 TCP 套接字。输入的 TCP 传输以字节流的形式接收数据;输入的文本适配器使用 GeoEvent 定义来解释数据,从而创建 GeoEvent。如果将输入整合到 GeoEvent 服务中,则会将 GeoEvent 置于消息队列中,以便 GeoEvent 服务进行提取和处理。
可以从 Windows ArcGIS 程序组访问 GeoEvent Simulator。以下介绍了 GeoEvent Simulator 的一些关键元素:
属性或字段名称 | 说明 |
---|---|
1 - 服务器 | GeoEvent Simulator 应尝试连接的服务器主机名。默认值为 localhost。 |
2 - TCP 套接字 | GeoEvent Simulator 应向其发送模拟事件数据的指定服务器的 TCP 套接字。 |
3 - 文件/图层选择器 | 指定是否将从文本文件或要素图层加载模拟事件数据。GeoEvent Simulator 最典型的用例是模拟来自 CSV 文件的数据。 |
4 - 文件/图层资源 | 文本字段,指定指向文件的路径名称,或指定指向 GeoEvent Simulator 将从中提取事件数据的要素图层的 URL。 |
5 - 消息速率 | 发送事件数据的速率。默认每 1000 毫秒发送一个事件记录。更改此值可以更快的速率发送数据(例如每 250 毫秒发送 5 条消息),或以更慢的速率发送数据(例如每 2500 毫秒发送 1 条消息)。 |
6 - 转到始端、播放、单步执行和连续循环 | 使用转到始端、播放和单步执行控件可将 GeoEvent Simulator 设置为事件数据的开端、开始发送所有事件,或发送单个事件记录到 GeoEvent Server。 连续循环指定到达最后一个记录后,GeoEvent Simulator 是否应连续循环回放(或重播)事件数据。 |
7 - 下一事件/消息 | 以分隔文本表示的方式显示将要发送到 GeoEvent Server 的下一条事件记录。 |
8 - 事件索引 | 提供滚动模拟事件数据的功能。随着位置的变化,在范围中间显示的当前索引会发生变化,以指示当前事件索引。 |
9 - 时间字段编号 | 在模拟事件数据中选择指定时间/日期的字段。数组以零为基础,表示时间长整型(以上所述示例中)是事件记录唯一标识符(或 TRACK_ID)右侧的值。 |
10 - 设置当前时间 | 如果选中该复选框,GeoEvent Simulator 将放弃从模拟事件数据检索的时间/日期信息,并将其替换为系统当前时间。 |
11 - 时间值显示 | 左侧文本字段显示从模拟事件数据检索的事件记录的日期/时间。右侧文本字段显示将与模拟事件记录一起发送的日期/时间。 |
12 - 最近事件/消息 | 以分隔文本表示的方式显示最近发送到 GeoEvent Server 的事件记录。 |
连接 GeoEvent Simulator 与 GeoEvent Server
首次打开 GeoEvent Simulator 时,您需要先连接到由一个 GeoEvent Server 输入托管的 TCP 套接字,然后才能向 GeoEvent Server 发送模拟事件记录。使用 GeoEvent Manager 配置 TCP/文本输入,然后设置 GeoEvent Simulator 可以连接的具体套接字。
在 GeoEvent Server 中配置和启动 TCP/文本输入后,请参阅以下步骤将 GeoEvent Server 连接到 GeoEvent Simulator:
- 设置服务器和端口值,使其与在 TCP/文本输入中指定的值匹配(默认值为 localhost,端口为 5565)。
- 单击 在 GeoEvent Simulator 和指定服务器及 TCP 端口上的 GeoEvent Server 之间建立连接。图标更改为 则表示已建立有效的连接。
将事件数据加载到 GeoEvent Simulator
要将模拟事件数据加载到 GeoEvent Simulator,必须浏览到其内容将事件数据表示为分隔文本的 CSV 或 TXT 文件,或选择从要素图层的要素中加载事件数据。
从 CSV 或 TXT 文件加载事件数据要从 CSV 或 TXT 文件加载事件数据,请遵循以下步骤。
- 将文件/图层下拉列表设置为文件。
- 单击 浏览 CSV 或 TXT 文件,并酌情为事件数据设置以下属性。
- 如果可行,输入事件分隔符和字段分隔符。
- 如果事件数据具有含事件日期/事件的属性字段,则选择时间字段编号。
- 如果事件数据包括各个列的字段名称(即标题),则选择从头开始跳过的行数,从而不包括字段名称(即标题)。
- 在预览窗口中查看事件数据。
- 单击加载将事件数据加载到 GeoEvent Simulator。
CSV 或 TXT 文件包含的事件数据必须在各个属性值之间和各个事件记录之间均包含清晰的分隔符。属性之间的默认分隔符是逗号 (,),事件记录之间的默认分隔符是新行。
从文件加载对话框显示前 10 条或更多数量的事件记录,这些记录通过您指定的分隔符解析。属性值(例如 字段 0、字段 1、字段 2 和字段 3 等)映射到 GeoEvent 定义中指定的属性字段非常重要,此外,能够将 CSV 或 TXT 文件中的值隐式转换为在 GeoEvent 定义中针对各个属性指定的数据类型也很重要。
时间/日期值可以表示为 ISO 8601 格式的字符串(如 2016-12-31T23:59:59+00:00),或以毫秒为单位表示的时间长整型(如 1483228799000)。ISO 8601 和时间长整型格式通常不会模糊不清,但是输入连接器会尝试将从 GeoEvent Simulator 发送的字符串值(例如 12/31/2016 23:59:59 或 12/31/2016 12:59:59 PM)解释为日期。
将模拟事件数据加载到 GeoEvent Simulator 的另一个选项是从要素服务加载要素记录。要从要素服务添加事件数据,请遵循以下步骤。
- 将文件/图层下拉列表设置为图层。
- 单击 打开从图层加载对话框。
- 单击 打开选择图层对话框,并根据您的环境设置适当的属性。
- 输入服务器的 URL。
- 输入用于连接到指定服务器的凭据。
- 单击连接以连接到指定服务器。
- 成功连接后,单击浏览到图层。
- 选择服务文件夹、要素服务和图层(将显示根据这些参数构建的 URL),然后单击确定。
- 在从图层加载对话框中,单击 。
- 输入用于连接到 GeoEvent Server 的 URL。
- 单击确定建立连接。
从 CSV 或 TXT 文件加载数据时,需要指定事件分隔符和字段分隔符,以便 GeoEvent Simulator 了解如何解释分隔文本。从要素图层加载事件数据时,必须指定 GeoEvent Simulator 应用于解释要素记录的 GeoEvent 定义。遵循以下高级步骤,使用 GeoEvent Manager 从要素图层导入 GeoEvent 定义。
- 从下拉列表中选择适当的输入 GeoEvent 定义,选择的定义应与要素图层的方案匹配。
- 接受输出 GeoEvent 定义名称的默认名称。
- 单击加载从指定要素服务的要素图层加载要素记录。
- 在 GeoEvent Simulator 的下一事件消息文本框中,查看以分隔文本表示的下一事件记录。将鼠标悬停在文本框可查看事件记录的完整字符串,如下图所示。
可以看到,GeoEvent Simulator 将所选 GeoEvent 定义的名称追加到分隔文本表示的事件记录中。这一分隔文本是 GeoEvent Simulator 将发送到 GeoEvent Server 的文本。
- 打开 GeoEvent Manager,将 TCP 套接字输入连接器的传入数据包含 GeoEvent 定义属性的接收文本设置为是。随后,输入连接器将预期每个事件记录都包括 GeoEvent 定义名称。
由于 GeoEvent Simulator 发送要素记录几何的 JSON 表示,因此需要确保分隔字符串中最后的值映射到 GeoEvent 定义中(输入连接器使用该定义接收事件数据)几何类型的字段中。
- 或者,在 GeoEvent Simulator 中,从要素服务加载要素记录后,可以选择将事件记录保存为 CSV 文件,方法是选择主菜单中的文件 > 另存为。