“页面定义查询”用于指定基于 SQL 查询绘制的图层的要素。虽然与其他定义查询相似,但“页面定义查询”的不同之处在于仅使用数据驱动页面,并且是动态的。要素基于当前页面进行过滤。迭代页面时,该查询会发生变化,并且系统会绘制一组适合新页面的新要素。如果您有一些与页面范围重叠的要素,并希望这些要素在多个页面上显示,则应考虑使用裁剪工具来自定义地图。
例如,假设您想要制作一本显示美国各州作物耕种面积的地图册。每个州将在地图册中单独占一页,并按郡显示作物耕种面积。为简化一系列地图,您想要仅为特定于地图册页的州显示作物耕种面积。利用“页面定义查询”可快速而轻松地实现这一目标。
以下是不应用“页面定义查询”时的几张地图册页的外观:
如您所见,阿肯色州的地图页所显示的作物耕种面积信息不仅是本州的,而且还有周边各州的。所有地图页都是这种情况。使用“页面定义查询”可简化地图,从而使页面中仅显示特定于该页的州的作物耕种面积信息。下例显示了选择将要素与页面名称匹配时的结果。也可以选择反转来显示不匹配的要素。
使用“页面定义查询”时应牢记以下注意事项。
- “页面定义查询”仅在“数据驱动页面”已启用后才能使用。如果“数据驱动页面”未启用,则图层属性 对话框的定义属性选项卡上不会显示页面定义按钮。
- 如果禁用了“数据驱动页面”,则会忽略“页面定义查询”,不过如果稍后启用了“数据驱动页面”,则图层还会存储该查询。
- “页面定义查询”无法应用于“数据驱动页面”的索引图层。如果需要显示应用了“页面定义查询”的索引要素,则应向数据框添加图层的副本,并将“页面定义查询”应用于该副本。这是突显当前索引要素时使用的一项常用技术,它可用于为索引要素创建高亮显示颜色效果。
- 如果对“数据驱动页面”索引图层进行更改,则可能导致无法绘制使用“页面定义查询”的图层。其中包括更改索引图层或用作页面名称的索引图层字段名称。如果进行了更改,则可能需要重新创建“页面定义查询”。
- “页面定义查询”是一个基于“数据驱动页面”的指定页面名称字段值的动态 SQL Where 子句。因此,要定义的图层必须包含一个属性,以及可与“数据驱动页面”索引图层的指定页面名称字段相匹配的相应值。“页面定义查询”将响应属性值的任何更改,无论是驱动“数据驱动页面”名称的索引图层字段中的更改,还是页面定义查询 对话框中指定字段的更改。您可能需要刷新“数据驱动页面”,以了解当前正在查看的页面的任何更改。
要获得最佳结果
- 尽管字段名称不必匹配,但“页面定义查询”字段和“数据驱动页面”名称字段的数据类型应该相同。
- “页面定义查询”字段不得包含任何空字段。
- 您所定义的图层的要素不应与页面重叠。
如何创建页面定义查询
- 在内容列表中右键单击图层,然后单击属性。请勿对“数据驱动页面”索引图层尝试此操作,因为当前索引图层不支持“页面定义查询”。
- 在图层属性 对话框上单击定义查询选项卡。
- 单击页面定义按钮。
- 单击启用复选框。
- 从页面名称字段下拉列表中选择与“数据驱动页面”的页面名称字段相匹配的字段。
- 选择显示与页面匹配或不匹配的任何要素。
- 单击确定。