“过滤器”微件允许限制图层中要素的可见性。只有满足表达式条件的要素才会在地图中显示。相应地,其他即用型微件(如果适用)将对“过滤器”微件在图层中所做的更改做出响应。
配置“过滤器”微件
可将此微件设置为应用程序启动时自动打开。单击微件上的不要在应用程序启动时打开此微件按钮以启用自动打开微件的选项。(对于需要首先添加到应用程序的微件,您可以在配置微件后进行此设置。)
- 将鼠标悬停在微件上方,然后单击配置此微件按钮以打开配置窗口。
注:
如果需要先将微件添加到应用程序,请在微件选项卡上单击微件占位符。在打开的选择微件窗口中,选择微件然后单击确定。
- 或者可单击更改微件图标,并将其替换为您自己的图像。
将显示文件资源管理器窗口,供您选择可用作微件图标的本地图像文件。
- 单击 + 新建过滤器,然后从图层列表中选择图层。
- 在信息选项卡中,对于标注,提供过滤器的名称。
- 可以选择更改过滤器的默认图标。可以从多个符号类别中进行选择,或者选择自定义图像并浏览至本地图像。
- 在表达式选项卡上,单击 + 添加表达式。
过滤器将使用逻辑表达式根据其数据中的属性值来查找并显示图层中的要素。表达式将采用一般形式 <字段名> <条件> <值或字段>。例如,“避难所容量”大于 200。
- 从字段名称列表中,选择用于过滤图层的字段。
- 从下一个列表中选择相应的条件。
注:
- is any of 和 is none of 条件接受多个字段值作为输入。表达式可以获取分别与任何所选值匹配或者与所选值不匹配的数据。
- 某些日期相关条件(如 in the last 和 not in the last)仅适用于在线托管要素服务。与日期相关的条件可以支持相对日期,例如最近 5 天。
- 可以通过指定适用于过滤器条件的值或字段来完成表达式。单击设置输入类型按钮 并选择以下列出的可用选项之一。
提示:
对于提供所有属性值列表的选项,如果存在多个值,则可以在搜索框中键入一个词语以缩小列表并帮助您查找一个值。
- 值 - 通过键入或选择与数据相关的值,基于字段值进行过滤。日期相关值可以包含相关日期,例如今天、昨天和明天。
- 字段 - 基于对一个字段中的值与另一个字段中的值进行比较来进行过滤。
- 唯一 - 通过从所选字段的有效属性值列表中进行选择,基于字段值进行过滤。
警告:
唯一值过滤器需要 10.1 或更高版本的地图服务图层。如果您在 10.0 或更早版本的服务图层中创建过滤器,则不会显示唯一值选项。
- 唯一(预定义) - 基于用户可从您定义的静态列表中选择的一个值进行过滤。默认情况下,请求值处于选中状态,并且列表将设置为基于先前表达式显示值。
- 多个 - 通过从所选字段的有效属性值列表中进行选择,基于多个字段值进行过滤。选中您希望包含在表达式中的所有值。此选项仅受 is any of 和 is none of 条件支持。
- 多个(预定义) - 基于用户可从您定义的静态列表中选择的多个值进行过滤。默认情况下,请求值处于选中状态,并且列表将设置为基于先前表达式显示值。
如果适用于数据,则针对日期字段值选择日期时,还可以通过选中显示时间来选择时间。设置时间之前,必须选择日期。可以按小时、分钟或秒级别的时间精度进行过滤。例如,如果预设小时和分钟值并将秒留空,则即使图层的属性包含秒值,用户也将无法基于秒进行过滤。
注:
如果选中显示时间框,但将小时、分钟和秒对应的所有三个框留空,则用户将看不到用于指定时间作为交互式过滤器输入值的选项。
- 如果您使用值或唯一输入类型创建了表达式,则可以选择选中请求值框以设置交互式过滤器,供用户输入过滤器的值。(默认情况下,将针对预定义输入类型设置此选项。)
借助此选项,可以为过滤器提供默认值或将其留空,用户可以从值列表中进行选择或键入自己的值。
- 如有必要,对于提示,请阐明表达式。
- 对于提示文本,请为用户提供有用的说明。
- 如果适用,对于日期选项,请关闭对您的数据没有意义的日期值。例如,包含明天作为用于过滤显示犯罪事件的图层的选项不合逻辑。如果在表达式中选择了某个值,则无法在此处将其关闭。
- 如果适用,对于列表值,可以选择显示所有唯一值、基于先前表达式的值或者基于所有其他表达式的值,无需考虑其顺序。
警告:
如果过滤器请求输入值,并且具有以下列表设置之一,则服务必须支持按统计数据进行查询的功能,以显示编码值的描述:按先前表达式过滤的值或按所有其他表达式过滤的值。
- 要创建多个表达式,请单击 + 添加表达式。在表达式上方,可以选择在图层中显示与所有或任何表达式匹配的要素。
- 要创建一组或多组表达式,请单击 + 添加集合。在新集合的顶部,选择在过滤图层时,此集合中的所有表达式还是任何表达式都应为真。
集合是表达式的分组,例如,“避难所容量”大于 200 且“状态”为打开。
- 在选项选项卡中,启用以下任何设置:
- 从地图中移除预设图层过滤器 - 防止在应用程序中应用在地图中定义的过滤器。
- 打开微件时应用此过滤器 - 当用户打开微件时,将立即应用过滤器。
- 打开微件时折叠过滤器表达式(如有) - 要求用户针对允许输入值的过滤器展开交互式表达式。
- 如果还需添加过滤器,请重复上述步骤。如果添加多个过滤器,则可以选择显示与任何或所有过滤器匹配的要素。要上下移动过滤器,请指向列表中的过滤器,然后单击箭头按钮。
- 可选中按图层分组过滤器以按过滤器影响的图层对过滤器进行排序。
- 应用过滤器后,要缩放至地图上显示的要素范围,请选中应用过滤器后缩放至其余要素。
- 当用户关闭所有过滤器后,要缩放至应用程序的初始地图范围,请选中当图层的过滤器全部关闭时,缩放至初始地图范围。(可以在地图选项卡上设置应用程序的初始地图范围。)
- 通过从以下选项中进行选择,可以在过滤器微件中包含其他按钮:
- 启用自定义过滤器 - 用户可以通过构建自己的表达式来创建其他过滤器。
- 启用重置过滤器(自定义除外) - 用户可以将过滤器微件重置为应用程序的默认设置。
- 启用关闭过滤器(自定义除外)- 用户可以同时关闭应用程序的所有过滤器。
- 单击确定,保存并关闭配置。
使用“过滤器”微件
可以同时将多个过滤器应用于地图,也可以一次将一个过滤器应用于地图。
- 单击过滤器按钮以打开微件。
- 单击过滤器以将其打开并限制在地图上显示的要素。默认情况下,某些过滤器可能已打开。
- 如果应用程序配置为允许修改过滤器,请输入一个值或从列表中选择一个值。(可以单击过滤器旁边的箭头以显示或隐藏输入值。)
注:
过滤日期字段属性时,如果配置了时间选取器,则可以选择预设时间值,也可以通过在框中输入值来对其进行修改。 - 如果在应用程序中适用,请单击以下按钮之一。(如果应用程序具有多个按钮,则可能需要单击过滤器操作按钮以查看这些按钮。)
- 创建自定义过滤器 - 定义自己的过滤器,以基于其数据中的属性值在图层中查找并显示要素。选择图层,单击添加表达式或添加集合,然后构建表达式。
注:
自定义过滤器不支持过滤特定时间的属性。
- 重置过滤器(自定义除外)- 将“过滤器”微件重置为应用程序的默认设置。如果已创建自定义过滤器,则其将保持不变。
- 关闭过滤器(自定义除外)- 关闭应用程序的过滤器并缩放至初始地图范围。如果已打开自定义过滤器,则其将保持打开状态。单击创建自定义过滤器按钮,然后单独关闭自定义过滤器。
- 创建自定义过滤器 - 定义自己的过滤器,以基于其数据中的属性值在图层中查找并显示要素。选择图层,单击添加表达式或添加集合,然后构建表达式。