Оптимизация содержимого карт для улучшения производительности
Для улучшения производительности в ArcMap можно оптимизировать настройки ваших данных и способы их использования. На быстроедйствие влияет множество факторов, включая формат источника данных, местоположение данных и свойства, установленные вами для слоёв, фреймов данных и компоновок. Ниже приведено несколько рекомендаций для поддержания производительности при настройке установок данных и работе с содержимым карты.
Установки данных
Выбор формата, в котором хранить данные, заключается в нахождении баланса между многими аспектами, к ним относят потребности вашей организации или пользователей, назначение данных, размер данных, требования к анализу или ведению данных и т.д.. Однако, если говорить о скорости, шейп-файлы являются, в общем, самыми быстрыми, за ними следуют персональные базы геоданных, а затем - файловые базы геоданных. Для оптимизации производительности карты, данные карты должны находится локально на компьютере, который используется для ее отображения, а не на удаленной машине. Для карт, которые обычно отображают относительно малые области больших наборов данных, обслуживание данных через ArcSDE будет давать значительные преимущества в производительности по сравнению с хранением этих же данных в файлах.
Избегайте использования персональных баз геоданных в ситуациях, когда необходим многопользовательский доступ или обслуживание карт, так как этот формат не предназначен для таких целей.
Вот некоторые дополнительные факторы, которые учитываются при настройке ваших данных:
- Хранение в одной и той же проекции – По возможности храните все данные в одной проекции и используйте её же для фрейма данных при работе в ArcMap. Об этом важно помнить при редактировании и создании данных, которые будут обслуживаться. Если все слои находятся в одной проекции, можно избежать проблем производительности, вызываемых проецированием на лету.
- Работа с соединением и связыванием данных – Данные из присоединенных полей, доступных через соединения и связи, можно использовать для назначения символов и надписывания объектов, выполнения запросов и множества других операций. Однако доступ к данным через соединения и связи ухудшает производительность. Более подробно об оптимизации соединений таблиц см. Основы соединения таблиц. В дополнение вы можете экспортировать эти данные в новые классы объектов, которые содержат связанную или соединенную информацию.
- Использование атрибутивных или пространственных индексов – Если источник данных позволяет, индексируйте любые поля, используемые для выполнения запросов или построения изображения. Индексы специфичны для каждого формата данных. Более подробно см. в разделах Модифицирование индексов в шейп-файлах путем добавления пространственного индекса и Настройка пространственного индекса. Краткий обзор (базы геоданных). Среда геообработки также предоставляет инструмент для создания атрибутивных индексов: инструмент Добавить атрибутивный индекс (Add_Attribute_Index).
- Упрощение данных – Используйте упрощенные или генерализованные версии слоев при отображении в меньших масштабах. Например, подробная карта береговых линий мира может медленнее отрисовываться в полном масштабе. Если слой упрощен, чтобы содержать меньшее количество вершин и линейных сегментов, он будет отрисовываться в мелком масштабе гораздо быстрее, не намного отличаясь по внешнему виду. К тому же упрощенные данные могут увеличить производительность при выполнении запросов и операций идентификации.
Оптимизация слоев, растров и компоновок
Один из первых и самых простых шагов – посмотреть на свою карту и удалить неиспользуемые слои и фреймы данных. Затем, посмотрев на карту в виде данных и в виде компоновки, убедиться, что в документе карты нет фреймов данных и слоев, никак не связанных с целью карты. Дополнительно, в виде компоновки просмотреть элементы карты и удалить любые ненужные из них.
После этого можно рассмотреть дополнительные факторы для улучшения производительности, приведенные ниже. Более подробно о символах и производительности см. Оптимизация символов карт для улучшения производительности.
- Используйте слои базовой карты для оптимизации производительности отрисовки. Более подробно см. Работа со слоями базовой карты.
- Автоматически скрывайте определенные слои и объекты – Наилучшие способы оптимизации отрисовки слоев: показывать их только в соответствующих масштабах и применять атрибутивный запрос, чтобы избежать отображения ненужных пространственных объектов.
Если нет необходимости показывать определенный слой в определенном масштабе карты, включите зависимость отображения от масштаба. Например, при уменьшении изображения границы страны можно применить масштабно-зависимое отображение для подробного слоя городского транспорта, для того чтобы при этом он отключался автоматически. Можно показывать подробные слои только при крупных масштабах. Если же такой слой необходимо отобразить в меньшем масштабе, используйте более простые символы для ускорения прорисовки. Более подробно о том, как задать масштабно-зависимое отображение, см. Отображение слоев в определенных масштабах.
Определяющий запрос может играть роль фильтра для ограничения объема данных на карте. Например в случае, когда вы создаете карту штата, а класс пространственных объектов содержит данные на всю страну, можно применить определяющий запрос для отображения только тех объектов, которые попадают в пределы границ штата. Более подробно о том, как использовать определяющие запросы см. Отображение поднабора пространственных объектов в слое.
- Построение локального кэша данных карты – При работе с данными, хранящимися в базе геоданных или берущимися с сервиса пространственных объектов ArcIMS, построение кэша объекта ArcMap часто увеличивает скорость общих картографических задач. Кэш объекта позволяет временно хранить пространственные объекты в текущем изображении карты в ArcMap в локальной памяти вашего компьютера. Так как возврат объектов из локальной памяти является быстрейшей операцией, использование кэша объектов часто приводит к улучшению производительности. Некоторые виды действий часто получают преимущество при использовании кэша объектов, к ним относятся отображение больших или сложных наборов данных, надписывание, редактирование, выборка объектов, использование одних и тех же объектов в нескольких слоях на карте, показ объектов с использованием определяющего запроса. Более подробно о кэше объекта и его использовании см. Работа с кэшем объекта.
- Отображение растров – Для увеличения скорости отображения растров можно использовать несколько методик, например поддерживать качество отображения при низком разрешении, насколько это возможно, использовать соответствующие методы пересчета и отображать растры в их исходной проекции, а не проецировать их на лету. Кроме того, требуется построить пирамидные слои для растра. Пирамиды могут ускорить отображение растровых данных, возвращая только необходимые для отображения данные определенного разрешения.
О других способах улучшения производительности при работе с растрами см. Улучшение качества отображения растровых данных.
- Улучшение производительности в виде компоновки – В виде компоновки обратите внимание на рамки фреймов данных. Использование скругленных углов, фона и теней ухудшит производительность. Устранение этих эффектов и использование этих свойств для прямых углов может увеличить производительность отображения фреймов данных в виде компоновки. Для того чтобы изменить эти свойства, щелкните на фрейме данных правой кнопкой, выберите Свойства (Properties) и нажмите на вкладку Рамка (Frame).
Оптимизация карт, которые будут обслуживаться в ArcGIS for Server
Рекомендации для оптимизированных карт также дают преимущества производительности для создания карт, которые будут обслуживаться в ArcGIS for Server. К тому же, существует несколько рекомендаций специально для подобных карт. Больше подсказок см. в разделе Рекомендации по созданию карт.
При создании карт для сервисов, разрабатывайте их для целевой аудитории. Используйте подходящие слои и символы, и не включайте в содержание что-либо, что в данном приложении не требуется для этой аудитории. Удаляйте любые фреймы данных и слои карты, которые не нужны для целевого приложения. Сделайте видимыми по умолчанию только несколько слоев, потом пользователи сами смогут включить необходимые им слои.
Использование кэшированного картографического сервиса – это всегда самый быстрый способ обслуживания сервисов, так как изображение карты строится только в момент создания кэша, но кэшированные карты не всегда подходят для динамических или изменяющихся данных. Если кэшированные карты не подходят для работы, следуйте указаниям из данного раздела справки, чтобы улучшить производительность при подготовке документов динамических карт и доставке их при помощи картографического сервиса.