在“数据驱动页面”中使用动态文本
在创作一系列成功的“数据驱动页面”的过程中,添加动态文本是一个非常重要的步骤。通过使用动态文本,可以在从一个页面切换至另一个页面时,使页面布局的重要信息发生动态变化。这些信息包括页面标题文本、页码、相邻页面标注(相邻页面是指与当前页面在地理位置上相邻的页面)和其他索引图层属性。
您可以直接通过主菜单中的插入或通过数据驱动页面 工具条中的下拉列表来访问“数据驱动页面”动态文本元素。
页面名称
地图系列中的各页面都需要一个名称,且名称取自于此字段。“数据驱动页面”遍历索引图层中的要素,且每个页面均得到定义之后,会将所选名称字段的属性值用作页面名称。
元素 |
描述 |
语法 |
---|---|---|
数据驱动页面名称 |
这与设置数据驱动页面 对话框中设置为名称字段的属性字段的当前值相对应。 |
<dyn type="page" property="name"/> |
可以通过主菜单或数据驱动页面 工具条上的下拉列表的插入按钮,将数据驱动页面名称添加到布局中。
页码和总页数
“数据驱动页面”允许您定义页码。页码可基于索引图层的字段值。这些值可为字母数字。此外,还可以使用动态文本显示页面总数、索引和当前页码。例如“第 3 页,共 10 页”。
元素 |
描述 |
语法 |
---|---|---|
数据驱动页面页码 |
此动态文本元素(如果适用)与设置数据驱动页面 对话框中设置为数据驱动页面页码的属性字段的当前值相互对应。否则,页面将从设置为起始页码的值开始,以 1 为增量进行编号。 |
Page <dyn type="page" property="number"/> |
带页数的数据驱动页面 |
这使用当前页面的索引值及页面总数。例如,您可能有 10 个“数据驱动页面”,其中,起始页码设置为 3。第一个页面上此标记的结果将为“第 1 页,共 10 页”。 |
Page <dyn type="page" property="index"/> of <dyn type="page" property="count"/> |
可以通过主菜单或数据驱动页面 工具条上的下拉列表的插入按钮,将这些动态文本元素添加到布局中。
图层属性和显示表达式
通常,您需要嵌入动态文本以显示特定页面的属性值。“数据驱动页面”索引图层的所有属性值均可用于动态显示。例如,如果索引图层中有一个名为 POPULATION 的属性,那么您可以使用字段名称来创建动态文本标记,以在布局中为各个页面动态显示 POPULATION 值。如果要结合多个索引图层字段内容和自己的文本内容来创建动态文本元素,则使用图层显示表达式。
元素 |
描述 |
语法 |
---|---|---|
数据驱动页面属性 | 这与指定数据驱动页面索引图层所选属性的当前值相互对应。它包括连接到索引图层的字段。默认行为 domainlookup="true"/> 将使用编码值描述(如果可用)。如果无需使用编码值描述,则将 domainlookup="true"/> 更改为 domainlookup="false"/>。 | <dyn type="page" property="attribute" field="<Field Name>" domainlookup="true"/> |
数据驱动页面显示表达式 | 这与在图层属性 对话框的显示选项卡中设置的显示表达式相互对应。使用显示表达式,通过结合多个字段内容与您自己的文本,可以创建更为复杂的动态文本元素。 | Page <dyn type="page" property="expression"/> |
如果添加到布局的动态文本过长,而且要输入换行符,则可以使用 SHIFT+ENTER 键,通过编辑该表中的属性字段来执行此操作。
可以通过主菜单或数据驱动页面 工具条上的下拉列表的插入按钮,将这些动态文本元素添加到布局中。
如何添加用于索引图层属性的动态文本
- 单击主菜单上的插入 > 动态文本。
- 选择数据驱动页面属性。
- 从索引图层字段下拉列表中选择要使用的属性,然后单击确定。
使用动态文本创建相邻标注
您可以使用计算相邻字段地理处理工具创建和填充用于标注相邻页面的字段。如果您正在创建带状地图并使用带状地图索引要素地理处理工具来创建索引图层,则该图层将具有一些预先计算的字段,用于左-右标注和上-下标注。
以下示例显示的是布局视图中的“数据驱动页面”,其中包含许多动态文本元素。
以下内容介绍了上图中各示例的动态文本是如何构成的:
数值 |
描述 |
语法 |
---|---|---|
1 | 请参阅上述页面名称、页码和页数 | |
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"/> |
以下显示的是该页面在导出或打印时的外观:
当动态文本标记返回 [空] 时,将不会导出或打印任何内容。如果文本元素字符串被解释为无内容,则显示画面上将显示 [空],但在打印或导出时,不会显示任何内容。这可以让您了解到文本元素是存在的,但是此时动态标记所引用的值为空。
如何为相邻标注添加动态文本
以下步骤假定创建标注所需的字段和值已经是“数据驱动页面”索引图层的一部分。如果没有这些字段,那么您可以使用计算相邻字段地理处理工具来创建和填充可用于标注相邻页面的字段。
- 在主菜单中,单击插入 > 动态文本 > 数据驱动页面名称。
通过该菜单并不能访问所有动态文本元素。用户可以手动编辑现有文本元素。如果通过该菜单来添加可用的“数据驱动页面”动态文本元素,则不必输入类型标记。因为它已输入完成。
- 单击绘图 工具条上的选择元素工具 ,选择您刚添加的文本元素,然后将其拖动到布局中所需的位置。
例如,当前页面以北的相邻页面的标注应放置在布局页面中间偏上的位置。当然,前提是地图旋转保持不变且为零。
- 双击文本元素。
- 将属性标记的值更改为您要使用的页面值的字段名。
例如,如果北侧页面的字段名为 "PageName_N",那么输入 "PageName_N" 作为属性值。动态文本元素将如下所示:<dyn type="page" property="PageName_N"/>。
- 对其他相邻标注重复上述操作。