Skip To Content

使用 GeoEvent Simulator 模拟数据

GeoEvent Simulator 是一款随附于 ArcGIS GeoEvent ServerWindows 应用程序,可将事件数据从模拟文本文件或要素图层发送到指定的 TCP 套接字。 从 GeoEvent Simulator 发送的事件数据由 GeoEvent Server 中的从 TCP 套接字接收文本接收,后者用于托管和监控模拟数据发送至的 TCP 套接字。 输入的 TCP 传输以字节流的形式接收数据;输入的文本适配器使用 GeoEvent 定义来解释数据,从而创建 GeoEvent。 如果将输入整合到 GeoEvent 服务中,则会将 GeoEvent 置于消息队列中,以便 GeoEvent 服务进行提取和处理。

可以从 Windows ArcGIS 程序组访问 GeoEvent Simulator。 下图和表中提供了关于 GeoEvent Simulator 中关键组件的说明和描述:

GeoEvent Simulator 组件

参数或函数描述

1 - 服务器

GeoEvent Simulator 将连接的服务器主机名。 默认值为 localhost

2 - TCP 套接字

GeoEvent Simulator 将向其发送模拟事件数据的指定服务器的 TCP 套接字。

3 - 文件或图层选择器

指定是否将从文本文件或要素图层加载模拟事件数据。 模拟来自 .csv 文件的数据 是 GeoEvent Simulator 的典型用例。

4 - 文件或图层资源

文本字段,指定指向文件的路径名称,或指定指向 GeoEvent Simulator 将从中提取事件数据的要素图层的 URL。

5 - 消息速率

发送事件数据的速率。 默认每 1000 毫秒发送一个事件记录。 更改此值可以更快的速率发送数据(例如每 250 毫秒发送五条消息),或以更慢的速率发送数据(例如每 2500 毫秒发送一条消息)。

6 - 转到始端、播放、单步执行和连续循环

使用转到始端播放单步执行控件可将 GeoEvent Simulator 设置为事件数据的开端、开始发送所有事件,或发送单个事件记录到 GeoEvent Server

单击连续循环以在到达最后一个记录后,连续循环回放(或重播)事件数据。

7 - 下一事件消息

要发送到 GeoEvent Server 的下一条事件记录的分隔文本表示。

8 - 事件索引

滚动模拟事件数据。 随着位置的变化,在范围中间显示的当前索引会发生变化,以指示当前事件索引。

9 - 时间字段编号#

在模拟事件数据中选择指定时间和日期的字段。 数组以零为基础,表示时间长整型(以上示例中)是事件记录唯一标识符(或追踪 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:

  1. 设置服务器端口值,使其与在 TCP 或文本输入中指定的值匹配(默认值为 localhost,端口为 5565)。
  2. 单击连接到服务器 连接到服务器 在 GeoEvent Simulator 和指定服务器及 TCP 端口上的 GeoEvent Server 之间建立连接。

    图标更改为 连接已建立 则表示已建立有效的连接。

将事件数据加载到 GeoEvent Simulator

要将模拟事件数据加载到 GeoEvent Simulator,必须浏览到其内容将事件数据表示为分隔文本的 .csv.txt 文件,或从要素图层的要素中加载事件数据。

从 .csv 或 .txt 文件加载事件数据

要从 .csv.txt 文件中加载事件数据,请完成以下步骤:

  1. 从下拉菜单中选择文件。
  2. 单击浏览 浏览 以浏览到 .csv.txt 文件并根据事件数据执行以下操作:
    • 提供事件分隔符字段分隔符值。
    • 如果事件数据具有包含事件日期和时间的属性字段,则需设置时间字段编号# 值。
    • 如果事件数据包括各个列的字段名称(即标题),则需选择从头开始跳过的行数,从而不包括字段名称。
    • 在预览窗口中查看事件数据。
    • 单击加载将事件数据加载到 GeoEvent Simulator。

    .csv.txt 文件包含的事件数据必须在各个属性值之间和各个事件记录之间均包含清晰的分隔符。 属性之间的默认分隔符是逗号 (,),事件记录之间的默认分隔符是新行。

    从文件加载对话框显示前 12 条或更多数量的事件记录,这些记录通过指定的分隔符解析。 属性值(例如,字段 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 的另一个选项是从要素服务加载要素记录。 要从要素服务添加事件数据,请完成以下步骤:

  1. 从下拉菜单中选择图层
  2. 单击从图层加载 从图层加载 打开从图层加载对话框。
  3. 单击选择图层 选择图层 打开选择图层对话框,并根据环境设置适当的属性。
    1. 提供托管要从中读取数据的地图或要素服务的服务器 URL。
    2. 提供用于连接到指定服务器的凭据。
    3. 单击连接以连接到指定服务器。
    4. 连接后,单击浏览到图层
    5. 选择服务文件夹、要素服务和图层(将显示根据这些参数构建的 URL),然后单击确定
  4. 从图层加载对话框中,单击连接到 GeoEvent Server 连接到 GeoEvent Server,并执行以下操作:
    1. 提供用于连接到 GeoEvent Server 的 URL。
    2. 单击确定以输入用于连接到 GeoEvent Server 的凭据。
      注:

      如果 GeoEvent Server 已联合,则需使用 Portal for ArcGIS 的管理凭据登录。 如果 GeoEvent Server 未联合,则需使用基础 ArcGIS Server 用户或角色提供程序中定义的管理员凭据。

    3. 单击登录以建立与 GeoEvent Server 的连接。

      默认情况下,会启用 GeoEvent Server 登录过程。 要实现向后兼容(版本 10.8 或更早版本),必须禁用身份验证。 要在 GeoEvent Simulator 中禁用身份验证,单击菜单中的选项,然后取消选中使用 GeoEvent Server 管理端点。 仅当您需要将 10.8.1 或更高版本的 GeoEvent Simulator 连接到 10.8 版本或更早版本的 GeoEvent Server 时,为了实现向后兼容性,才需要此选项。

      GeoEvent Simulator 选项

    .csv.txt 文件加载数据时,需要指定事件分隔符字段分隔符值,从而允许 GeoEvent Simulator 解释分隔文本。 从要素图层加载事件数据时,必须指定 GeoEvent Simulator 将用于解释要素记录的 GeoEvent 定义。 要使用 GeoEvent Manager 从要素图层导入 GeoEvent 定义,需完成剩余步骤。

  5. 从下拉列表中选择适当的输入 GeoEvent 定义值,选择的定义应与要素图层的方案匹配。
  6. 接受输出 GeoEvent 定义名称的默认名称。
  7. 单击加载从指定要素服务的要素图层加载要素记录。
  8. 在“下一事件消息”文本框中,查看以分隔文本表示的下一事件记录。 将鼠标悬停在文本框可查看事件记录的完整字符串。

    GeoEvent Simulator 事件记录示例

    GeoEvent Simulator 将所选 GeoEvent 定义的名称追加到分隔文本表示的事件记录中。 GeoEvent Simulator 将此分隔文本发送到 GeoEvent Server

  9. 启动 GeoEvent Manager,将从 TCP 套接字接收文本输入的传入数据包含 GeoEvent 定义参数设置为

    每个事件记录都必须包括 GeoEvent 定义名称。

    由于 GeoEvent Simulator 发送要素记录几何的 JSON 表示,因此需要确保分隔字符串中最后的值设置为 GeoEvent 定义中的 geometry 类型字段中(输入连接器使用该定义接收事件数据)。

  10. 在 GeoEvent Simulator 中,加载要素服务中的要素记录后,可选择单击主菜单上的文件 > 另存为以将事件记录保存到 .csv 文件中。