Skip To Content

“查询”微件

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

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

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

  • 影像服务中的影像图层
  • 提示:

    对具有相关记录的表运行查询时,所有相关要素都会在地图上突出显示,并在“查询”面板中列出。

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

配置“查询”微件

可将“查询”微件设置为应用程序启动时自动打开。为此,请单击微件上的点,以将其变为深绿色。

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

  1. 将鼠标悬停在“查询”微件上方,然后单击小编辑图标 编辑

    随即显示此微件的配置窗口。

  2. 如果想要替换此微件的默认图标,还可单击更改微件图标

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

  3. 单击 + 新查询

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

    或者,您可以选择 从 Portal 中选择(该选项位于或添加服务 URL 中。) 除图层之外,还可以查询相关表。

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

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

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

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

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

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

    3. 您也可以使用添加表达式集,这样可以定义两个过滤器并将其应用到单个查询中。如果该集合中的所有任一表达式为 true,集合中满足所有表达式或满足任一表达式的记录将作为结果返回。
    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. 单击确定,保存并关闭查询窗口。

使用“查询”微件

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

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

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

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

    注:

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

  2. 单击某一查询。根据配置的不同,执行查询的方式可能有所不同。
    1. 如果查询不要求输入,结果会显示在结果选项卡上,而生成的要素会显示在地图上,同时带有在配置期间指定的符号。
    2. 如果在配置时选中请求值,将显示一个文本框提示您参数的新值。最初在该框中显示默认值。如果设置了唯一值,文本框会列出所有唯一值。
    3. 您可以使用一个或多个空间过滤器。
      • 仅返回当前地图范围内的要素 - 返回当前地图范围内的要素。
      • 仅返回与地图上绘制的形状相交的要素 - 可以使用一组绘制工具在地图上绘制用于定义区域的形状。或者,可以将搜索距离应用于形状。
        在地图上绘制
      • 仅返回与另一图层中的要素有空间关系的要素 - 结果基于查询图层中要素与相关图层中要素之间的空间关系。或者,可以将搜索距离应用于相关图层中要素的几何。
        与另一图层中的要素有空间关系
      • 返回地图完整范围内的要素 - 返回地图完整范围内的要素。
    4. 单击执行以运行查询。

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

  3. 单击省略号 () 以对结果集执行操作,例如运行统计数据、将结果导出到本地或导出到 ArcGIS Online 或 Portal for ArcGIS 的我的内容,或更改要素符号。
    提示:

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

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