“查询”微件

通过执行预定义查询,“查询”微件允许您从源数据检索信息。数据源可以是以下之一:

  • 当前地图中的要素图层
  • 作为门户中项目的要素图层
  • ArcGIS Server REST 服务中的要素图层
    提示:

    要素图层可来自地图服务或要素服务。

  • 影像服务中的影像图层
  • 独立表

“查询”微件在配置期间会作为查询构建器,它允许您通过指定查询结果中的源数据、过滤器和显示字段来定义查询。每个查询会处理单个图层。但是,您可以为单个应用程序定义多个查询,而数据图层可以来自多个源。

配置“查询”微件

可将此微件设置为应用程序启动时自动打开。 单击微件上的不要在应用程序启动时打开此微件按钮 不要在应用程序启动时打开此微件 以启用自动打开微件的选项。 (对于需要首先添加到应用程序的微件,您可以在配置微件后进行此设置。)

以下步骤介绍了如何配置查询。如果需要定义多个查询,请重复这些步骤。

  1. 将鼠标悬停在微件上方,然后单击配置此微件按钮 配置此微件 以打开配置窗口。
    注:

    如果需要先将微件添加到应用程序,请在微件选项卡上单击微件占位符。 在打开的选择微件窗口中,选择微件然后单击确定

  2. 或者单击更改微件图标以替换此微件的默认图标。

    将显示文件资源管理器窗口,以便您浏览至要用作微件图标的本地图像文件。

  3. 单击 + 新查询

    随即显示设置数据源窗口。默认情况下,地图为选中状态,且会在其下方列出当前地图中的所有要素图层。

    此外,您还可以通过以下方式进行选择: 从 Portal 中选择(该选项位于或服务 URL 中。) 除图层之外,还可以查询相关表。

  4. 单击数据源旁边的选项。
  5. 从列表中选择图层。
  6. 单击确定关闭设置数据源窗口并返回到查询配置窗口。

    默认情况下,信息选项卡是激活的。

  7. 指定查询任务的标题和图标。
  8. 单击过滤器选项卡。
  9. 单击查询条件下的设置 设置 定义查询的 where 子句。
    1. 单击 + 添加表达式以显示表达式构建器。

      过滤器表达式可以是基于值的操作或两个字段之间的操作。

    2. 选择数据字段、查询表达式,然后在文本框中提供输入数据。

      对日期字段属性进行查询并指定值的日期选项时,可以选择通过选中显示时间来选择日期的时间。如果此选项及其精度适用,则此选项可用于指定要在应用程序中显示的字段的时间精度。

      注:

      设置时间之前,必须选择日期。

      可以选择在小时分钟级别设置时间精度。例如,如果预设小时分钟值,但将留空,则运行时在选择内容中将看不到秒值,并且不允许输入其值,即使图层包含秒级别的属性也是如此。如果选中显示时间复选框,但将小时分钟留空,则运行时将看不到特定时间的选项。

      您可以使用设置按钮 设置 中的以下选项来设置输入类型

      • - 此过滤器基于特定值。您可以设置预定义值,也可以通过选中请求值以交互方式向最终用户请求新值。如果启用请求值,请在提示字段中输入有关该值的信息,然后在提示文本字段中输入提示文本。这将有助于最终用户输入其查询值。
      • 字段 - 将一个字段中的值与另一个字段中的值进行比较。
      • 唯一 - 此过滤器基于图层中所选字段的唯一值列表。它通常与请求值结合使用,因此最终用户可以从列表中交互选择值,而该列表既可以是所有唯一值集,也可以是基于先前表达式或所有其他表达式(无需考虑它们的顺序)的动态唯一值集。如果启用请求值,请在提示字段中提供有关该值的信息并在提示文本字段中输入提示文本,然后选择值的列出方式。
      • 唯一(预定义)- 用于预定义值的静态列表;还可以基于先前的表达式或所有其他表达式动态显示这些值,无需考虑它们的顺序。

        警告:
        唯一值过滤器需要 10.1 或更高版本的地图服务图层。如果您在 10.0 或更早版本的服务图层中创建过滤器,则不会显示唯一值选项。

        警告:
        要在选中按先前表达式过滤的值按所有其他表达式过滤的值时显示编码值的描述,服务必须支持按统计数据查询功能。

      • 多个 - 用于过滤字段中的多个值和从图层中检索值的动态列表。
      • 多个(预定义) - 用于预定义值的静态列表。
        注:

        只有 is any ofis none of 运算符支持多个值。

      注:

      如果根据值或唯一值创建了表达式,则可选中请求值复选框,以设置交互表达式。不能在基于字段的表达式中请求提供值。

    3. 使用 +添加集添加表达式集,由此可以定义两个过滤器并将其应用到单个查询中。如果该集合中的所有任一表达式为真,则集合中满足所有表达式或满足任一表达式的记录将作为结果返回。
    4. 单击确定关闭对话框。
  10. 可以选中为最终用户显示 SQL 表达式以在微件上显示 SQL 表达式。
  11. 空间过滤器部分允许您选择将对最终用户可用的空间过滤器。选中以下一个或多个过滤器,然后通过单击设为默认将其中一个设置为默认过滤器:
    • 仅返回当前地图范围内的要素 - 返回当前地图范围内的要素。
    • 仅返回与地图上绘制的形状相交的要素 - 单击此图标可选择此微件上显示的绘制工具。或者,选中启用缓冲选项,为最终用户添加缓冲设置。
    • 仅返回与另一图层中的要素有空间关系的要素 - 单击设置 设置设置空间关系中选择空间关系规则。通过双击标注字段可以为每个关系指定一个简明易懂的标注。或者,选中启用缓冲选项,为最终用户添加缓冲设置。支持以下空间关系:
      • 相交 - 图层 1 中要素的某个部分包含在图层 2 中的要素中。
      • 包含 - 图层 1 中的部分或全部要素完全包含图层 2 中的要素。
      • 交叉 - 图层 1 中的要素与图层 2 中的要素交叉。
      • 包络矩形相交 - 图层 1 的包络矩形与图层 2 的包络矩形相交。
      • 索引相交 - 查询图层的包络矩形与目标图层的索引条目相交。
      • 重叠 - 图层 1 中的要素与图层 2 中的要素重叠。
      • 接触 - 图层 1 中的要素与图层 2 中要素的边界接触。
      • 包围 - 图层 1 中的要素被图层 2 中的要素完全包围。
    • 返回地图完整范围内的要素 - 返回地图完整范围内的要素。
    注:
    如果不想将空间过滤器应用于查询,请取消选中所有选项。
  12. 单击结果选项卡配置显示的范围和查询结果的符号。
  13. 或者,选中在 web 地图中使用图层的弹出窗口配置,以便在 web 地图中显示由图层的弹出窗口配置所定义的相同内容。
  14. 还可以选中配置自定义内容以显示自定义内容。
    1. 单击每个结果项的标题文本框旁的添加图标。

      将显示图层中的字段列表。每次可选择一个字段。在文本框中显示所选字段的值并将这些值用作查询结果标题。重复该步骤以添加其他字段。当添加多个字段时,使用字段值的组合作为结果标题。

    2. 单击这些字段属性将显示文本框旁的铅笔图标,以打开设置显示字段对话框。选中要在结果中显示的字段。特殊类型列允许各个字段显示图像。您也可以单击操作列中的上下箭头以调整字段顺序。
  15. 单击对结果项排序旁的铅笔图标,以配置用于对查询结果进行排序的字段。

    服务必须支持查询结果的分页或排序。

  16. 可以选择使用图层定义的符号选项以使用图层的默认符号。
  17. 或者,选择使用自定义符号选项,然后单击符号图标以设置自定义符号。

    随即显示预览窗口,可以在其中选择生成高亮显示符号的颜色和样式。

  18. 单击符号预览窗口外的任意位置以将其关闭。
  19. 要在运行时以交互方式更改生成要素的符号,也可以选中允许在运行时更改符号
  20. 单击选项选项卡,以指定是否可以导出查询结果以及查询任务创建图层的方式。
  21. 重复步骤 3 到 20 以添加更多查询任务。
  22. 要对现有查询任务重新排序,请将鼠标悬停在任务上方,然后单击上下箭头。
  23. 也可以选择在微件关闭时关闭查询结果图层并自定义选项卡标注
  24. 单击确定,保存并关闭查询窗口。

使用“查询”微件

以下步骤说明了如何使用“查询”微件:

  1. 单击“查询”微件将其打开。如果您已配置多个查询,则将在任务选项卡上显示查询列表。
    查询列表

    如果微件只有一个查询,并且不要求最终用户输入,则单击微件将运行该查询并立即显示结果。

    如果此微件只有一个查询,并且要求最终用户输入,则单击微件将显示包含用户输入的查询。

    注:

    最终用户的输入可以包括属性条件、一个或多个空间过滤器或者这两者的组合。

  2. 单击某一查询。根据配置的不同,执行查询的方式可能有所不同。
    1. 如果查询不要求输入,结果会显示在结果选项卡上,而生成的要素会显示在地图上,同时带有在配置期间指定的符号。
    2. 如果在配置时选中请求值,将显示一个文本框提示您参数的新值。最初在该框中显示默认值。如果设置了唯一值,文本框会列出所有唯一值。

      注:
      对日期字段属性进行查询时,如果配置了时间选取器,则可以从下拉列表中选择预设时间值,也可以通过在框中输入值来对其进行修改。

    3. 您可以使用一个或多个空间过滤器。
      • 仅返回当前地图范围内的要素 - 返回当前地图范围内的要素。
      • 仅返回与地图上绘制的形状相交的要素 - 可以使用一组绘制工具在地图上绘制用于定义区域的形状。或者,可以将搜索距离应用于形状。
        在地图上绘制
      • 仅返回与另一图层中的要素有空间关系的要素 - 结果基于查询图层中要素与相关图层中要素之间的空间关系。或者,可以将搜索距离应用于相关图层中要素的几何。
        与另一图层中的要素有空间关系
      • 返回地图完整范围内的要素 - 返回地图完整范围内的要素。
    4. 单击应用以运行查询。

      通过查询得到的要素会高亮显示在地图上,同时带有在配置期间指定的符号。如果图层有相关数据,结果中还会包括相关记录。

  3. 在查询结果面板中:
    • 显示要素 - 确定显示所有返回结果中的多少个结果。单击加载更多按钮 加载更多 加载更多显示结果。
    • 单击全部展开 全部展开全部折叠 全部折叠 以展开/折叠显示的所有结果详细信息,单击 下箭头上箭头 查看单个结果。
    • 单击省略号按钮 (...) 可对结果集执行以下操作:
      • 缩放至
      • 平移至
      • 闪烁
      • 统计
      • 在属性表中查看
      • 移除此结果
      • 更改符号
    提示:

    一个查询能返回的最大要素数取决于服务中的 maxRecordCount 属性设置。默认值为 1,000。例如,如果您采用默认值,并希望从查询中返回 1,300 个要素,您首先将看到有 1,000 个要素出现在查询结果面板中。向下滚动面板,您将看到其余的 300 个要素。

    或者,如果对相关表执行查询,则所有相关要素都会在地图上突出显示,并会在查询面板中列出。