Использование динамического текста в многостраничной компоновке
Наличие динамического текста - важная часть процесса успешного создания серий многостраничных компоновок. Использование динамического текста позволяет разместить на странице важную информацию, которая будет динамически меняться при переходе от одной страницы к другой. Эта информация включает в себя текст заголовков страниц, номера страниц, подписи для соседних страниц (соседняя страница — это та страница, которая географически примыкает к текущей странице), а также другие атрибуты индексного слоя.
Доступ к элементам динамического текста многостраничной компоновки производится либо непосредственно через опцию Вставка (Insert) главного меню, либо в ниспадающем списке на панели инструментов Многостраничная компоновка (Data Driven Pages).
Имя страницы
Каждая страница в серии карт должна иметь собственное название, которое определяется значениями этого поля. По мере того, как инструмент Многостраничная компоновка просматривает объекты индексного слоя и определяет каждую страницу, атрибутивное значение, хранящееся в соответствующем поле, присваивается странице в качестве ее названия.
Элемент |
Описание |
Синтаксис |
---|---|---|
Имя страницы компоновки |
Этот текст соответствует текущему значению атрибутивного поля, заданного в качестве поля имени в диалоговом окне Настройка многостраничной компоновки. |
<dyn type="page" property="name"/> |
Имя страницы в многостраничной компоновке может быть добавлено либо через опцию Вставка главного меню, либо в ниспадающем списке на панели инструментов Многостраничная компоновка.
Номер страницы и номер с общим числом страниц
Функция многостраничной компоновки позволяет определять номер страницы. Номер страницы может основываться на значениях полей индексного слоя. Эти значения могут быть буквенно-цифровыми. Динамический текст также может использоваться для отображения общего числа страниц вместе с номером страницы или индексным номером. Например, "Страница 3 из 10".
Элемент |
Описание |
Синтаксис |
---|---|---|
Номер страницы компоновки |
Этот элемент динамического текста, если он используется, соответствует текущему значению атрибутивного поля, заданного в качестве Номера страницы компоновки в диалоговом окне Настройка многостраничной компоновки. В противном случае, страницы нумеруются через приращение — прибавление единицы к каждому следующему значению, начиная с числа, заданного в качестве Начального номера страницы. |
Страница <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="<Имя поля>" domainlookup="true"/> |
Отображаемое выражение страницы компоновки | Этот текст соответствует Отображаемому выражению (Display Expression), заданному на закладке Отображение диалогового окна Свойства слоя. При помощи отображаемого выражения можно создать более сложный элемент динамического текста, объединив значения нескольких полей с обычным текстом. | Страница <dyn type="page" property="expression"/> |
Если добавляемый к компоновке динамический текст слишком длинный, есть возможность вставить разрыв строки в атрибутивное поле таблицы при помощи сочетания клавиш SHIFT+ENTER.
Подробнее о клавишах быстрого доступа при работе с таблицами
Эти элементы динамического текста могут быть добавлены либо через опцию Вставка главного меню, либо в ниспадающем списке на панели инструментов Многостраничная компоновка.
Инструкция по добавлению динамического текста для атрибута индексного слоя
- Щелкните пункт главного меню Вставка > Динамический текст (Dynamic Text).
- Выберите элемент Атрибут страницы компоновки (Data Driven Page Attribute).
- Выберите нужный атрибут из ниспадающего списка Поле индексного слоя (Index layer field) и щелкните OK.
Создание подписей соседних страниц при помощи динамического текста
Инструмент геообработки Вычислить смежные поля (Calculate_Adjacent_Fields) предназначен для создания и заполнения полей, которые можно использовать для надписывания соседних страниц. При создании маршрутной карты, если для создания индексного слоя применялся инструмент геообработки Класс объектов индексной сетки маршрутной карты (Strip Map Index Features), этот слой будет содержать предварительно вычисленные поля для подписей соседних страниц карты (в направлении слева-направо или снизу-вверх).
Ниже приведен пример вида компоновки для страницы компоновки с несколькими элементами динамического текста.
Далее описывается структура динамического текста для каждого примера:
Число |
Описание |
Синтаксис |
---|---|---|
1 | Смотрите выше Номер страницы, индексный номер и общее число страниц | |
2 |
Надпись со значением для соседней страницы. Эти теги конструируются следующим образом: <dyn type="page" property="Field_Name">, где Field Name — имя атрибутивного поля, в котором содержатся значения имени примыкающей (соседней) страницы в конкретном направлении. Если такие поля еще не созданы, воспользуйтесь инструментом геообработки Вычислить смежные поля (Calculate_Adjacent_Fields), предназначенным для создания и заполнения полей, которые можно использовать для надписывания соседних страниц. |
<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 позволяет задавать текст, который отображается, если для данного динамического тега не оказалось значения ([empty]). |
<dyn type="page" property="PageName_NW" emptyStr="No neighbor"/> |
Пример страницы при экспорте или печати:
Когда тег динамического текста выдает значение [empty], ничего не будет экспортировано или напечатано. Если строка элемента текста анализируется как не содержащая знаков, на изображении отображается тег [empty], а при экспорте или печати не отображается ничего. Это позволяет узнать, что элемент текста присутствует, но значение, на которое ссылается динамический тег, в настоящий момент является нулевым.
Как добавлять динамический текст для надписей для соседних страниц
Рассмотренные ниже шаги предполагают, что у вас уже есть необходимые поля и значения (относящиеся к индексному слою многостраничной компоновки), которые вы можете использовать для создания надписей. Если такие поля еще не созданы, воспользуйтесь инструментом геообработки Вычислить смежные поля (Calculate_Adjacent_Fields), предназначенным для создания и заполнения полей, которые можно использовать для надписывания соседних страниц.
- Щелкните пункт главного меню Вставка > Динамический текст > Имя страницы компоновки.
Не все элементы динамического текста доступны из меню. Возможно ручное редактирование уже существующих элементов текста. Добавление доступного элемента динамического текста на компоновку из меню позволяет не вводить текст и теги вручную. Тип будет определен автоматически при выборе элемента из меню.
- Щелкните инструмент Выбрать элементы (Select Elements) на панели инструментов Рисование, выберите только что добавленный элемент текста, затем перетащите его в нужное место на компоновке.
Например, надпись для соседних страниц к северу от текущей страницы должна быть размещена в центре верхней части страницы компоновки. Конечно же, это подразумевает, что поворот карты является постоянным и равен нулю.
- Дважды щелкните на элементе текста.
- Измените значение тега property на имя поля для значения страницы, которое вы хотите использовать.
Например, если имя поля для страницы, расположенной к северу — "PageName_N", следует ввести в качестве значения атрибута property строку "PageName_N". Элемент динамического текста будет иметь подобный вид: <dyn type="page" property="PageName_N"/>.
- Повторите эту операцию для остальных надписей на соседних страницах.