在“数据驱动页面”中使用动态文本
在创作一系列成功的“数据驱动页面”的过程中,添加动态文本是一个非常重要的步骤。通过使用动态文本,可以在从一个页面切换至另一个页面时,使页面布局的重要信息发生动态变化。这些信息包括页面标题文本、页码以及相邻页面的标注(相邻页面是指与当前页面在地理位置上相邻的页面)。
如果索引图层是常规格网(例如,通过格网索引要素地理处理工具创建的格网),那么您可以使用计算相邻字段地理处理工具来创建和填充可用于标注相邻页面的字段。如果您正在创建带状地图并使用带状地图索引要素地理处理工具来创建索引图层,则该图层将具有一些预先计算的字段,用于左-右标注和上-下标注。
以下示例显示的是布局视图中的“数据驱动页面”,其中包含许多动态文本元素。
以下内容介绍了上图中各示例的动态文本是如何构成的:
数字 |
描述 |
语法 |
---|---|---|
1 |
数据驱动页面名称、数据驱动页面页码和带页数的数据驱动页面。 您可以直接通过主菜单中的插入或者通过数据驱动页面 工具条中的下拉列表来访问这三个“数据驱动页面”动态文本元素。 | |
1a |
数据驱动页面名称与设置数据驱动页面 对话框中设置为名称字段的属性字段的当前值相对应。 |
<dyn type="page" property="name"/> |
1b |
如果适用,数据驱动页码应与设置数据驱动页面 对话框中设置为数据驱动页面页码的属性字段的当前值相对应。否则,页面将从设置为起始页码的值开始,以 1 为增量进行编号。 |
Page <dyn type="page" property="number"/> |
1c |
带页数的数据驱动页面使用当前页面的索引值以及页面总数。例如,您可能有 10 个“数据驱动页面”,其中,起始页码设置为 3。第一个页面上此标记的结果将为“第 1 页,共 10 页”。 |
Page <dyn type="page" property="index"/> of <dyn type="page" property="count"/> |
2 |
带有值的相邻标注。 这些标记被构建为 <dyn type="page" property="Field_Name">,其中“Field Name”是保存特定方向上相邻页面的名称值的属性字段的名称。 如果没有这些字段并且索引图层为常规格网,那么您可以使用计算相邻字段地理处理工具来创建和填充可用于标注相邻页面的字段。 |
<dyn type="page" property="PageName_E"/> |
3 |
包含文本元素中的静态文本以及动态标记的相邻标注。此标注具有值。 通过 preStr 和 postStr 标记属性可以指定要添加到已解析的动态标记的开头或结尾的文本。仅当对应的动态标记具有值时,才会显示这些标记属性。 |
<dyn type="page" property="PageName_S" preStr="The neighbor south is " postStr="."/> |
4 |
没有静态文本的相邻标注。此标注没有值。 |
<dyn type="page" property="PageName_W"/> |
5 |
没有值的相邻标注。在没有值的情况下,有一个动态文本属性可使用静态文本。 通过 emptyStr 标记属性可以指定在动态标记没有值 ([空]) 时要显示的特定文本。 |
<dyn type="page" property="PageName_NW" emptyStr="No neighbor"/> |
以下显示的是该页面在导出或打印时的外观:
当动态文本标记返回 [空] 时,将不会导出或打印任何内容。如果文本元素字符串被解释为无内容,则显示画面上将显示 [空],但在打印或导出时,不会显示任何内容。这可以让您了解到文本元素是存在的,但是此时动态标记所引用的值为空。
对整个文本元素字符串进行评估。例如,如果文本为 Map Credits:<dyn type="document" property="name"/>",而文档中没有制作者名单信息,那么您仍可以看到“地图制作者名单:”显示在布局中,因为解析的文本元素字符串不为空。它包含静态文本。如果导出或打印地图,“地图制作者名单:”将显示在地图上。另一方面,如果文本为 <dyn type="document" property="name"/>",那么您将在显示画面中看到 [空],因为解析的文本元素字符串为空。但是对地图进行导出或打印时,不会显示 [空]。
您可以将 dyn type="page" 与“数据驱动页面”索引图层的任意属性字段结合使用来创建动态文本。例如,如果索引图层中有一个名为 POPULATION 的属性,那么您可以使用字段 <dyn type="page" property="POPULATION"/> 来创建动态文本标记,以在布局中为各个页面动态显示 POPULATION 值。
如何为相邻标注添加动态文本
以下步骤假定创建标注所需的字段和值已经是“数据驱动页面”索引图层的一部分。如果没有这些字段并且索引图层为常规格网,那么您可以使用计算相邻字段地理处理工具来创建和填充可用于标注相邻页面的字段。
- 在主菜单中,单击插入 > 动态文本 > 数据驱动页面名称。注:
通过该菜单并不能访问所有动态文本元素。其中包括“数据驱动页面页码”的动态文本。要包含页码的动态文本,需要对现有文本元素进行手动编辑。如果通过该菜单来添加可用的“数据驱动页面”动态文本元素,则不必输入类型标记。因为它已输入完成。
- 单击绘图 工具条上的选择元素工具 ,选择您刚添加的文本元素,然后将其拖动到布局中所需的位置。
例如,当前页面以北的相邻页面的标注应放置在布局页面中间偏上的位置。当然,前提是地图旋转保持不变且为零。
- 双击文本元素。
- 将属性标记的值更改为您要使用的页面值的字段名。
例如,如果北侧页面的字段名为 "PageName_N",那么输入 "PageName_N" 作为属性值。动态文本元素将如下所示:<dyn type="page" property="PageName_N"/>。
- 对其他相邻标注重复上述操作。