Карты-указатели – это справочные карты, которые используются, когда пространственное положение детализированной карты трудно определить. С их помощью также можно проследить, на какую часть территории приходится текущая страница карты.
В вышеприведенном примере показан топографический атлас округа Аренак, штат Мичиган. Этот альбом карт из 22 страниц может быть создан любым пользователем ArcMap при наличии интернет-подключения. Источником данных является картографический сервис USA Topographic, входящий в состав сервиса ArcGIS Online. Для повторного создания такого альбома карт не требуется никаких других данных. Такой справочный альбом карт легко создается при помощи функции Многостраничной компоновки, инструментов геообработки из группы Многостраничная компоновка (Data Driven Pages), настройки свойств фрейма данных и динамического текста.
Ниже приведена инструкция по созданию карты-указателя из вышеприведенного примера.
При создании данной карты-указателя применялся новый класс пространственных объектов, скопированный из слоя индексной сетки. После его редактирования получены два слоя: маскирующий слой (серый) и слой текущей страницы. Маскирующий слой позволяет затенить объекты, выделение которых на карте-указателе нежелательно. Это объекты, расположенные на страницах отличных от текущей. Слой текущей страницы подчеркивает объекты на карте-указателе, которые находятся на текущей странице карты. Для того, чтобы убрать из маски или выделить нужные объекты для каждой страницы карты, применяются определяющие запросы страниц. Для этого необходимо сохранить пространственные объекты и атрибуты индексной сетки. Для надписывания объектов сетки также используется исходный слой индексной сетки.
Серая маска должна равномерно закрывать весь фрейм данных, поэтому следует добавить дополнительный объект, который сделает маску прямоугольной – такой же, как и фрейм данных. Этот новый объект не будет связан с какой-либо страницей атласа. Он нужен только для того, чтобы серая маска равномерно покрывала всю карту.
В данном разделе поэтапно описывается весь процесс создания такой маски. Речь пойдет о конкретном примере карты-указателя. В целом, такую карту можно разработать различными способами. В следующих разделах приведены другие варианты такой карты: Использование индикаторов экстента для улучшения обзорных карт и карт-указателей и Настройка пользовательского экстента карты.
В нижеприведенной инструкции предполагается, что уже выполнены этапы, описанные в следующих разделах:
- Создайте новый фрейм данных с именем Locator Map (Карта-указатель).
- Разместите этот фрейм данных на компоновке страницы.
- Скопируйте слой индексной сетки и слои базовой карты из основного фрейма данных (ранее мы называли его Детальная карта) и вставьте их во фрейм карты-указателя.
Если при следовании инструкции из раздела Создание класса объектов индексной сетки вы использовали предлагаемые там имена, то слой индексной сетки называется Arenac_grid, а слой базовой карты – USA_Topo_Maps.
- Измените имя слоя индексной сетки на Page Labels (Подписи страниц).
- Перейдите на закладку Надписи (Labels).
- В ниспадающем списке Поле надписи (Label Field) выберите PageName. Задайте необходимые свойства надписи.
- Включите опцию Надписать объекты этого слоя (Label features in this layer) и щелкните OK.
Фрейм данных Locator Map (Карта-указатель) теперь содержит два слоя: один для надписывания страниц, другой для базовой карты.
Теперь необходимо создать новый класс пространственных объектов, который будет отвечать за выделение объектов текущей страницы и маскировку остальных.
- Создайте новый класс пространственных объектов, щелкнув правой кнопкой мыши по слою индексной сетки и выбрав Данные (Data) > Экспорт данных (Export Data). Сохраните выходной класс пространственных объектов в ту же папку, где находится класс объектов индексной сетки. Назовите класс пространственных объектов Маска_указателя (Locator_Mask), затем щелкните Да (Yes) чтобы добавить слой на карту-указатель.
- Щелкните символ слоя Маска_указателя в Таблице содержания (Table of Contents).
- В диалоговом окне Выбор символа (Symbol Selector) выберите Цвет заливки (Fill Color) – черный, Ширина контура (Outline Width) – 1, Цвет контура (Outline Color) – белый, затем щелкните OK.
- Перейдите на закладку Отображение (Display), задайте степень прозрачности – 60%, затем нажмите OK.
Теперь слой Маска_указателя должен выглядеть следующим образом:
Как видно из рисунка, серая маска покрывает фрейм данных неравномерно.
- Для устранения этой проблемы отредактируйте класс пространственных объектов Маска_указателя. Добавьте новый пространственный объект, на рисунке снизу он отмечен красным цветом.
Подробнее о редактировании слоя вы можете узнать в разделе Создание смежных полигонов.
Слой Маска_указателя в итоге должен выглядеть следующим образом:
Теперь создадим слой, отвечающий за выделение объектов текущей страницы.
- Щелкните правой кнопкой мыши по слою Маска указателя и нажмите пункт меню Копировать (Copy).
- Щелкните правой кнопкой по фрейму данных Карта указателя и выберите Вставить слои (Paste Layer(s)).
- Измените имя нового слоя на Маска_указателя_текущая_страница (Locator_Mask Current Page).
- Щелкните символ слоя Маска_указателя_текущая_страница в Таблице содержания (Table of Contents).
- В диалоговом окне Выбор символа (Symbol Selector) выберите Пустой (Hollow), задайте Ширина контура (Outline Width) – 1, затем щелкните OK.
Теперь слой Маска_указателя_текущая_страница должен выглядеть следующим образом:
Теперь фрейм данных содержит все необходимые слои, осталось только задать определяющие запросы страниц для слоев Маска указателя и Маска указателя текущая страница, чтобы они корректно отображали данные.
- Дважды щелкните слой Маска указателя, перейдите на закладку Определяющий запрос (Definition Query), затем нажмите кнопку Определяющий запрос страницы (Page Definition Query).
Если эта кнопка отсутствует, удостоверьтесь, что включена функция Многостраничная компоновка. Определяющие запросы страниц доступны только в том случае, если включена функция Многостраничная компоновка.
- Поставьте галочку в окошке Включить (Enable).
- Щелкните стрелку списка Поле имени страницы (Page Name Field) и выберите PageName.
- Выберите опцию Несопоставленные (Don't Match), а затем щелкните ОК, чтобы закрыть диалоговое окно Свойства слоя (Layer Properties).
Теперь слой Маска_указателя должен выглядеть следующим образом:
Прорисовываются только те пространственные объекты этого слоя, которые не соответствуют текущей странице. Таким образом, область карты за рамками текущей страницы представляется в виде серой маски.
- Дважды щелкните слой Маска_указателя_текущая_страница, перейдите на закладку Определяющий запрос (Definition Query), затем щелкните Определяющий запрос страницы (Page Definition Query).
Если эта кнопка отсутствует, удостоверьтесь, что включена функция Многостраничная компоновка. Определяющие запросы страниц доступны только в том случае, если включена функция Многостраничная компоновка.
- Поставьте галочку в окошке Включить (Enable).
- Щелкните стрелку списка Поле имени страницы (Page Name Field) и выберите PageName.
- Выберите опцию Сопоставленные (Match), а затем щелкните ОК, чтобы закрыть диалоговое окно Свойства слоя (Layer Properties).
Теперь слой Маска_указателя_текущая_страница должен выглядеть следующим образом:
Прорисовываются только те пространственные объекты слоя, которые соответствуют текущей странице.
Если все слои видимы, то ваша карта-указатель должна быть очень похожа на ту, которая показана на примере в начале этого документа. При пролистывании страниц атласа, карта-указатель должна изменяться, каждый раз выделяя объекты текущей страницы. Следующий этап работы с атласом – добавление динамического текста в атлас или альбом карт.