Третьяченко Д.А., Esri CIS
Advantages of using Basemap layers
Приложение ArcMap позволяет добавлять на карту неограниченное количество слоев. Это могут быть как постоянно редактируемые слои, так и слои, составляющие так называемую «подложку» карты, в которую изменения вносятся крайне редко. Часто этой подложкой является топографическая основа в нескольких рабочих масштабах карты. При этом надо учитывать, что на обновление изображения карты с большим количеством слоев, например при перемещении экстента или изменении масштаба карты, ArcMap может затратить несколько секунд, или даже минут, что замедляет процесс активной работы с картой. В ArcGIS, начиная с версии 10, появилась возможность сократить время обновления изображения карты в виде данных, путем создания Слоя базовой карты.
Слой базовой карты – это особый тип составного слоя, который использует механизм, оптимизированный для быстрого отображения данных. Этот механизм создает локальный кэш для всех включенных в него слоев. Это позволяет перерисовывать данные максимально быстро, а также, в случае работы с корпоративной базой геоданных, сокращает объемы сетевого трафика за счет уменьшения количества обращений к серверу для возвращения данных, попадающих в экстент карты.
Создать Слой базовой карты можно в любом документе карты ArcMap, выбрав из контекстного меню Фрейма данных опцию Новый слой базовой карты (New Basemap Layer) и затем поместив в него все слои, составляющие картографическую основу проекта (рис. 1).
Рис. 1. Создание Слоя базовой карты.
В Слой базовой карты можно включать любые типы слоев: векторные слои (слои на основе классов пространственных объектов, шейп-файлов); картографические сервисы, в том числе и размещенные в Интернете; растровые слои (на основе наборов растровых данных, каталогов растров и наборов данных мозаик). Единственным ограничением то, что ни один из слоев, включенных в слой базовой карты, не может участвовать в редактировании. Предположим, что проект создан и настроен для работы с водопроводной сетью города. Помимо объектов сети на карту добавлено множество слоев, служащих картографической основой создаваемой карты: строения, земельные участки, дороги, водные объекты и т.д. Из-за сложности и насыщенности городской инфраструктуры различными объектами отображение данных в ArcMap происходит с задержкой, что затрудняет и замедляет работу с проектом. В таком случае целесообразно создать Слой базовой карты и переместить в него все слои, не относящиеся к водопроводной сети. Таким образом, объекты сети останутся доступными для редактирования, а для всех прочих объектов будет создан кэш, моментально возвращаемый на экран при перерисовке данных. Скорость работы с такой картой будет значительно выше, чем без предварительного кэширования.
Слой базовой карты должен включать относительно статичные, редко обновляемые данные. Объединение в таком слое растровых данных или сервисов может значительно повысить скорость отображения всей карты. Именно поэтому, когда вы, например, добавляете на карту основанные на сервисах ArcGIS Online слои (это могут быть снимки, топографические карты, карты дорог и т.д.), они автоматически добавляются в новый Слой базовой карты (рис. 2).
Рис. 2. Добавление данных из сервисов ресурса ArcGIS Online.
Однако следует иметь в виду, что кэширование слоев, включенных в слой базовой карты, накладывает ряд ограничений на дальнейшую работу с данными. Помимо уже описанного выше запрета на редактирование, также исключается возможность изменения символов для отображения слоев, включенных в слой базовой карты. Поэтому включение слоя в состав Слоя базовой карты оправдано только в том случае, если редактирование объектов слоя и изменение настроек оформления данных производятся крайне редко или не производятся совсем.
При запуске сеанса редактирования в ArcMap из списка редактируемых слоев автоматически исключаются слои, включенные в Слой базовой карты. При этом все остальные слои, ссылающиеся на данные, хранящиеся в той же рабочей области (папке, наборе классов базы геоданных или базе геоданных), могут оставаться доступными для редактирования. Нельзя редактировать и слои, разделяющие настройки поведения базы геоданных со слоями, участвующими в Слое базовой карты (например, когда источники данных связаны через класс отношений, топологию, геометрическую сеть или набор данных участков), или имеющие с ними один источник данных. Для того чтобы редактировать такие слои, необходимо исключить все связанные слои из Слоя базовой карты.
Несмотря на невозможность редактирования слоев, составляющих Слой базовой карты, эти слои можно использовать в качестве вспомогательных при оцифровке и редактировании объектов в доступных для редактирования слоях, т.е. слои из слоя базовой карты могут участвовать в трассировке, замыкании и т.п. Например, если включить в Слой базовой карты слой с контурами зданий, можно использовать замыкание на ребра или вершины объектов-зданий для создания новых объектов в редактируемых слоях.
Главное назначение Слоя базовой карты – увеличение производительности ArcMap за счет сокращения времени перерисовки карты. Поэтому введен ряд ограничений для слоев, которые могут быть размещены в Слое базовой карты. Например, использование таких сложных символов, как диаграммы, замедляет отображение карты в ArcMap и поэтому недопустимо в Слое базовой карты. Перепроецирование данных на лету, хоть и не считается критической ошибкой, является крайне нежелательным для слоев, включенных в состав Слоя базовой карты. Инструмент автоматического анализа Слоя базовой карты позволяет выявить и исправить допущенные ошибки при составлении слоя, а также получить советы по увеличению скорости отображения карты (рис. 3). Например, можно определить слои, отображаемые во всех масштабах карты, и настроить оптимальный диапазон масштабов, в которых их следует отображать. Либо наборы растровых данных, для которых не рассчитана статистика или не созданы пирамидные слои, так как это может замедлить работу с картой ArcMap.
Рис. 3. Использование команды Анализировать слой базовой карты.
При перемещении по карте со Слоем базовой карты перерисовка объектов идет непрерывно и плавно, без белых полей по краям экрана и без задержек при отображении большого массива данных. Для дополнительной настройки отображаемых слоев можно воспользоваться панелью инструментов Эффекты, чтобы настроить прозрачность для Слоя базовой карты или увеличить степень его интенсивности. Это особенно эффективно при совмещении векторных слоев и аэрофотоснимков или слоев полигональных объектов с интенсивной заливкой, которые помещены в Слой базовой карты. Настройка интенсивности для слоя базовой карты помогает выделить редактируемые объекты и отвлечь внимание от картографической основы.
Таким образом, Слой базовой карты помогает значительно увеличить быстродействие карты за счет оптимальной настройки отображения составляющих ее слоев и использования кэширования, что существенно повышает производительность рабочего процесса в целом.