操作方法

操作方法:在 ArcGIS GeoEvent Server 中处理来自非空间表的数据

Last Published: October 1, 2025

描述

根据设计,GeoEvent Server 与企业级数据库的接口是通过发布的地图服务和/或要素服务来实现的。 GeoEvent Server 提供了一个名为“轮询 ArcGIS Server 以查找要素”的输入连接器,用于轮询地图和要素服务中包含几何信息的记录。

通常,用户希望将来自包含 X 和 Y 坐标值的非空间表的数据整合到 GeoEvent Server 工作流中,并要求 GeoEvent Server 使用表中各行的坐标值来构建点几何。 “轮询 ArcGIS Server 以查找要素”输入不提供此功能,因为它假定要素记录包含几何信息。

解决此挑战的一种方法是将地图或要素服务视为 Web 服务,并像轮询外部服务器一样轮询 ArcGIS Server。 要以 JavaScript 对象表示法 (JSON) 的形式从非空间表中检索记录,可以配置一种不同的 GeoEvent Server 输入连接器,名为“轮询外部网站以查找 JSON”。 此输入包括从字段构建几何的功能,并且可以指向地图或要素服务显示的非空间表的图层。

解决方案或解决方法

发布包含非空间表的地图服务作为图层

  1. 在 ArcMap 中,准备包含两个图层的新地图文档:
    • 空要素类
    • 任何具有 X 和 Y 坐标值的非空间表
    Note:
    If data in the non-spatial table is to be updated, make sure that the data sources are registered. This ensures the latest data values are returned from the map service when GeoEvent Server polls the service.
  2. 发布后,导航到服务的 REST 页面。
  3. 单击部分。

    用户添加的图像
     
  4. 滚动到页面底部,然后选择查询

    用户添加的图像
  5. 查询参数应如下所示。 请参阅下图。
    • 其中:1=1
    • 输出字段:*
    • 返回几何:False
    • 格式:JSON

      用户添加的图像
       
  6. 单击查询 (GET)。 页面重定向到查询结果,格式为美观的 JSON (PJSON)。

    查询 URL:
     
    http://<server_name>/arcgis/rest/services/NS_test/MapServer/1/query?where=1%3D1&geometryType=esriGeometryEnvelope&spatialRel=esriSpatialRelIntersects&outFields=*&returnGeometry=false&returnTrueCurves=false&returnIdsOnly=false&returnCountOnly=false&returnZ=false&returnM=false&returnDistinctValues=false&returnExtentsOnly=false&f=json

    查询结果 (JSON):
    {"displayFieldName":"Name","fieldAliases":
    {"Name":"Name","X":"X","Y":"Y","ID":"ID"},"fields":
    [{"name":"Name","type":"esriFieldTypeString","alias":"Name","length":10},
    {"name":"X","type":"esriFieldTypeDouble","alias":"X"},
    {"name":"Y","type":"esriFieldTypeDouble","alias":"Y"},
    {"name":"ID","type":"esriFieldTypeDouble","alias":"ID"}],"features":[{"attributes":
    {"Name":"Daniel    ","X":500000,"Y":3762155,"ID":1}},{"attributes":{"Name":"Tommy     
    ","X":500000,"Y":5983521,"ID":2}},{"attributes":{"Name":"Rashan   
     ","X":500000,"Y":8212038,"ID":3}}]}
准备查询 URL 并将其合并到 GeoEvent 输入
  1. 移除 URL 末尾的 p,使其显示 f=json。GeoEvent Server 执行的查询必须以原始 JSON 编写,而不是 PJSON 或格式化的 JSON。
  2. (可选)通过移除不提供任何值的查询参数来简化查询 URL。
    1. 将查询 URL 复制并粘贴到文本编辑器中。
    2. 搜索查询参数的值为空或未指定的实例。
    3. 从查询 URL 中删除这些查询参数。
    4. 下面突出显示了一些预期的空/未指定的查询参数。

      查询:
      用户添加的图像

      简化的查询:
      用户添加的图像
  3. 在 GeoEvent Manager 中,创建一个新的轮询外部网站以查找 JSON 输入连接器。
  4. 将查询 URL 复制并粘贴到输入的 URL 参数中。
  5. 需要修改的参数如下。 其余参数可以根据需要进行修改。 请参阅下图。
    • 创建 GeoEvent 定义:
    • GeoEvent 定义名称(新):<NAME>
    • 从字段构建几何:
    • JSON 对象名称:要素
    • X 几何字段:属性.<具有 X 坐标的字段>
    • Y 几何字段:属性.<具有 Y 坐标的字段>

      用户添加的图像
    Note:
    The definition created is a hierarchical definition, with "attributes" as the grouped field with field names as sub-elements under this group.
  6. 保存输入。
  7. 从监视器页面上看,输入连接器的计数会增加,显示表中现有记录的数量。

    用户添加的图像

文章 ID: 000016676

获得人工智能支持

使用 Esri Support AI Chatbot 快速解决您的问题。

立即开始聊天

相关信息

发现关于本主题的更多内容

获取来自 ArcGIS 专家的帮助

联系技术支持部门

立即开始聊天

转至下载选项