Skip To Content

应用过滤器

过滤器显示地图中要素图层的焦点视图。通过限制图层中要素的可见性,可显示比较重要的内容。例如,您可在犯罪图层上创建过滤器,以便在地图上仅显示上个月内发生的纵火案。通过根据犯罪类型和日期过滤犯罪图层,可以显示近期火灾的案发模式,从而帮助警察局阻止纵火企图的再次发生。

作为地图作者,您还可以设置交互式过滤器,用来帮助用户自行探索数据。通过提供关于图层中可用值的提示和提示文本,可以引导用户使用他们可能要应用于要素的其他过滤器。例如,可在学校图层中设置交互式过滤器,以便用户可以选择查看小学、中学或高中。默认情况下,该图层显示小学。通过阅读您所提供的提示和提示文本,用户就会知道他们可将值更改为中学高中,以便查看地图上不同类型的学校。

创建过滤器

使用现有过滤器

如果地图要素图层包含过滤器,则会看到过滤后的要素视图。只有满足过滤器条件的要素才会在地图中显示。例如,地图制作者可能已在包含小学、中学和高中的学校图层上设置了过滤器,使其仅显示小学(例如,类型为小学)。在这种情况下,地图显示中就会过滤掉中学和高中。如果地图作者在学校图层上设置了交互式过滤器,那么您就可以将值更改为中学,随即地图上就会只显示中学。

您可以访问过滤器来查看表达式,在过滤器中更改任何交互式表达式,以及编辑过滤器。所做的任何更改只会应用于地图的视图(只有地图的所有者才可以保存更改)。

  1. 在地图查看器中打开包含过滤图层的地图。
  2. 单击详细信息,然后单击内容
  3. 浏览至包含现有过滤器的要素图层,然后点击过滤器 过滤器
    过滤器窗口
  4. 更改、编辑或查看过滤器。
    • 更改选项卡中,可将新值应用于现有交互式过滤器。为表达式输入新值,然后单击应用过滤器按钮。地图显示将进行更新,以显示要素图层的新过滤视图。该选项卡还会在过滤器中显示友好版本的表达式。如果过滤器中存在交互式表达式,则会显示该选项卡。如果过滤器不包含交互式表达式,则您只会看到查看选项卡,而不会看到过滤器中友好版本的表达式。
    • 编辑选项卡中,可以更新表达式。有关如何更新表达式的详细信息,请参阅下一部分。

创建过滤器

可在具有关联属性数据的托管要素图层、ArcGIS Server 要素服务图层和 ArcGIS Server 地图服务图层上创建过滤器;无法在地图标注或从文件导入的要素上创建过滤器。只有满足表达式条件的要素才会在地图中显示。

  1. 在地图查看器中打开地图。
  2. 单击详细信息,然后单击内容
  3. 浏览至需要过滤的要素图层,然后单击过滤器 过滤器
  4. 创建定义表达式。
    • 表达式采用的一般形式为<字段名> <运算符> <值、字段或唯一值>
    • 您可以创建一个表达式、多个表达式或一组或多组表达式。组是满足某种条件的表达式的集合,例如,类型为小学,入学人数至少为 400
    • 如果创建了多个表达式,需选择要在图层中显示与全部表达式还是任一表达式匹配的要素。全部表示您指定的所有条件都必须为真。任一表示只要有一个表达式为真即可显示对应要素。
    • 对于表达式的字段部分,单击字段下拉箭头,然后从列表中选择要查询的字段。
    • 对于表达式的运算符部分,单击运算符下拉箭头,然后从列表中选择运算符。
    • 如果想要根据特定值进行过滤,则选择,然后在字段中输入值。输入框会根据字段类型的不同而变化。
    • 如果想要对一个字段中的值和另一个字段中的值进行比较,则选择字段,单击下拉箭头,然后选择表达式的字段。
    • 如果想要根据为表达式选择的字段中的特定值进行过滤,可选择唯一值,然后从字段中选择唯一值。
      注:

      日期字段不支持唯一值过滤器。

    • 如果根据值或唯一值创建了表达式,则可设置交互式表达式。不能在基于字段的表达式中请求提供值。选中请求值左侧的复选框。在提示字段中输入有关该值的信息,然后在提示文本字段中输入提示文本。
    • 要删除过滤器中的表达式,请单击表达式右侧的删除按钮 删除
  5. 单击应用过滤器即可在地图上启用过滤后的视图。
    提示:

    如果为托管要素图层创建了过滤器,您可以选择应用过滤器并缩放至来启用已过滤视图并重绘当前地图以显示过滤内容。

  6. 要撤消过滤器并显示图层中的所有要素,可单击移除过滤器

按日期过滤

您可以按日期过滤某些要素图层。例如,您可能想要显示在特定日期范围内发生地震的位置。

日期过滤器的运算符包括不在早于晚于介于非介于

注:

按日期过滤可用于支持标准查询的托管要素图层和 ArcGIS Server 10.2 及更高版本的服务图层。

  1. 在地图查看器中打开地图。
  2. 单击详细信息,然后单击内容
  3. 浏览至需要过滤的要素图层,然后单击过滤器 过滤器
  4. 执行以下操作为日期过滤器创建定义表达式
    1. 字段下拉菜单中选择一个日期字段。
    2. 运算符下拉菜单中选择一个运算符,例如:早于晚于等。
    3. 根据您想要过滤日期的方式执行以下操作之一:
      • 如果想要根据特定日期值进行过滤,则单击,然后输入值。根据您选择的运算符,可能需要在日历中指定一个日期(或两个日期)、手动输入一个或两个日期或指定以天、周或月为单位的时间范围。
      • 如果想要对一个字段中的值和另一个字段中的值进行比较,请单击字段然后从下拉菜单中选择字段。
  5. 可根据需要添加更多表达式或集合。
  6. 操作完成后,单击应用过滤器

过滤器注意事项

  • 您可在具有关联属性数据的托管要素图层、托管要素图层视图、GIS Server 要素服务图层和 GIS Server 地图服务图层上创建过滤器。不可以在从文件导入的地图标注或要素上创建过滤器。
    注:

    应用于托管要素图层和托管要素图层视图的过滤器不限制图层数据的访问权限。任何具有图层访问权限的用户都可以移除过滤器并访问所有数据。

  • 要更改字段名,通过弹出窗口配置编辑字段别名。
  • 您可以根据值或唯一值创建交互表达式。您不能根据字段创建交互表达式。
  • 不要在值中添加特殊字符,除非这些特殊字符是值的一部分。例如,城市为“New York”无法找到名为 New York 的要素。在该示例中,使用城市为 New York 代替。
  • 如果您的字段包含编码值,则该列表将显示字段服务所定义的所有编码值。其中可能也包含未作为要素存在于图层中的值。唯一值列表显示图层中的所有要素(可能是服务中值的子集)。
  • 如果您具有多个表达式,根据您是否将其分组为集合以及分组方式将得出不同的结果。例如,如果您所创建的过滤器的以下所有表达式均为真,则过滤器会选择私立中学和私立高中:类型为中学类型为高中(这是一个组)且类别为私立(这是一个单独的表达式)。
    过滤器示例

    如果您所创建的过滤器的以下所有表达式均为真,则过滤器会选择所有公立和私立中学以及私立高中:类型为高中类别为私立(现在,这是一个组)或类型为中学(这是一个单独的表达式)。
    过滤器示例