Кэширование в ArcGlobe

Процесс кэширования состоит в индексации и организации данных в листы и уровни детализации. Этот метод является неотъемлемой частью работы ArcGlobe и позволяет отображать очень большие наборы данных. ArcScene не использует кэширование, поэтому его лучше использовать с небольшими локальными наборами данных.

Кэширование, в большинстве случаев, происходит автоматически, но, иногда может потребоваться ручная настройка кэширования. Например, можно настроить кэширование памяти для текущего документа ArcGlobe. Для изменения настроек кэширования и работы с кэш-хранилищем на диске необходимо иметь четкое представление о принципах кэширования в ArcGlobe.

В ArcGlobe используются два типа кэширования: кэширование в памяти и кэширование на диске.

Кэширование памяти

Кэширование памяти означает выделение некоторого объема оперативной памяти (RAM) для ArcGlobe. Для достижения оптимальной производительности, можно задать объем памяти, который будет выделяться для каждого типа используемых данных. Например, при отображении документов, содержащих большое количество слоев DEM, можно выделить больше памяти для слоев высот.

Подробнее об управлении кэшированием в ArcGlobe

Кэширование диска

Дисковое кэширование служит для создания набора временных файлов, или кэша, для каждого слоя документа ArcGlobe. Имя дискового кэша слоя создается при комбинации имени слоя и глобально уникального идентификатора (GUID). Важно заметить, что кэш создается для слоев, а не для источников данных. Для классов линейных пространственных объектов, отображаемых красным и зеленым цветом, необходимо использовать разные кэши дисков. Подробную информацию об управление кэшированием на диске, в том числе о настройке места для кэширования уровня и необходимом времени удаления кэшированных данных можно найти в разделе Управление кэшированием в ArcGlobe.

При навигации по данным, изображение областей, которые вы уже видели, кэшируются на диск. Это дает возможность ускорить отображение этих областей при следующем просмотре. По умолчанию для кэширования используется режим кэширование по требованию.

Также имеется возможность полного кэширования слоя. При этом будет создан кэш полного экстента данных для всех возможных уровней детализации. Это означает, что при просмотре любой области с любым масштабом используется уже созданный кэш, и слой отображается настолько быстро, насколько возможно.

Однако в большинстве случаев удобнее создавать частичный кэш слоя, куда записывается полный объем данных, но только для определенного уровня детализации. При кэшировании только определенных масштабов существенно уменьшается размер кэша и время его создания, и при этом сохраняется высокая производительность.

Еще один способ повышения производительности – консолидация кэша. При консолидации создается кэш группового слоя, что позволяет уменьшить количество файлов кэша, которые хранятся и используются для документа ArcGlobe.

Более подробно о создании кэша составного слоя в ArcGlobe

После того, как дисковые кэши созданы и объединены, может потребоваться перенести их в другое место. Например, может понадобиться сделать документ ArcGlobe доступным для ArcGIS Globe Server, или в текущем месте расположения кэша наблюдается недостаток дискового пространства. Поскольку дисковый кэш является набором структурированных папок, они хорошо подходят для перемещения между положениями.

Более подробно о перемещении дискового кэша

Работа автоматического кэша

Кэш слоя может располагаться в любой доступной папке, хотя обычно рекомендуется хранить его в той же папке, в которой храниться слой. По умолчанию, все файлы кэша записываются в одну локальную папку. Настройки кэширования по умолчанию в ArcGlobe сохраняются в папке Application Data\ESRI\Local Caches для текущего пользователя, которая называется GlobeCache.

Время хранения кэша слоя определяется следующим набором правил:

Создание кэша

Дисковый кэш создается автоматически при добавлении в ArcGlobe нового слоя.

Если слой был скопирован из другого сеанса ArcGlobe или добавлен в виде файла слоя ArcGlobe, кэш такого слоя был создан ранее, поэтому новый создаваться не будет. Это позволяет создавать полный или частичный кэш для ключевых слоев и использовать этот кэш многократно в различных документах ArcGlobe.

Недействительность кэша

Дисковые кэши автоматически становятся недействительными при изменении слоя. Например, изменение цвета символа или включение надписей сделают кэш слоя недействительным. Изменение отображения слоя не делают его кэш недействительным. Кэш слоя можно полностью удалить вручную. Для этого нужно щелкнуть слой правой кнопкой мыши и выбрать команду Обновить (Refresh). Чтобы удалить часть кэша слоя, нужно указать географический экстент в диалоговом окне Расширенное управление кэшем (Advanced Cache Management). Чтобы открыть это окно, нужно нажать кнопку Дополнительно (Advanced) на вкладке Кэш (Cache) диалогового окна Свойства слоя (Layer Properties) .

При удалении кэша слоя, который не был сохранен в документе ArcGlobe или в файле слоя, существующий кэш будет удален, а затем будет по требованию создан снова с использованием новых символов.

Если вы сделаете недействительным кэш слоя, который уже был сохранен в документе ArcGlobe или в качестве файла слоя, будет создан новый кэш с обновленными символами, при этом существующий кэш останется на месте. Это происходит по двум причинам. Первая - слой может использоваться в других документах, где сохраняются оригинальные символы и кэш. Вторая - если вы внесли изменения в символах слоя и вышли из ArcGlobe без сохранения, при следующем открытии документа будет использован оригинальный кэш. Единственный побочный эффект состоит в появлении ненужных кэш-файлов по прошествии определенного времени.

Удаление кэша

Ненужные кэш-файлы автоматически удаляются при закрытии ArcGlobe. Например, если вы добавили в ArcGlobe новый слой и закрыли приложение без сохранения слоя в документе или в файле слоя, кэш "по запросу" для этого слоя будет удален. Это происходит потому, что документ или файл, ссылающиеся на этот слой, отсутствуют, в связи с чем кэш больше не будет использоваться.

Исключением из этого правила является созданный вручную полный или частичный кэш. Такие кэш-файлы не удаляются при закрытии ArcGlobe, даже если слой не сохранен в файле слоя или в документе ArcGlobe. Однако, эти файлы часто "теряются", и единственный способ создать для них ссылки - добавить файл слоя верхнего уровня из папки кэша. Эти "потерянные" кэш-файлы не связаны с источником данных и являются "снимками" отображаемых данных. Для упрощения работы с кэшем рекомендуется сохранять связи со всеми файлами кэша через файлы слоев или документы ArcGlobe.

Если свойства слоя сконфигурированы так, чтобы дисковый кэш не использовался, существующие кэш-файлы слоя будут автоматически удалены. При этом никакие кэш-файлы больше не записываются на диск. Чтобы не использовать дисковый кэш для слоя следует открыть вкладку Кэш (Cache) диалогового окна Свойства слоя (Layer Properties) и включить опцию Не использовать кэш на диске. Все существующие кэш-файлы будут немедленно удалены. Если слой имеет полный кэш, перед его удалением появится предупреждение.

Дополнительно, можно сконфигурировать слой так, чтобы после выхода из ArcGlobe его кэш удалялся автоматически. Это удобно при использовании динамических данных, например сводок погоды с сервиса ArcIMS, которые регулярно меняются.

При закрытии приложения или документа, ArcGlobe выведет предупреждение, что кэш слоя будет удален или потерян. В диалоговом окне Сохранить изменения (Save Changes) появится сообщение "Если изменения не сохранить, кэш для некоторых слоев будет утрачен". Это сообщение не появляется, если кэш слоя настроен на удаление при закрытии приложения.

На рисунке ниже показаны две опции управления удалением кэш-файлов. При включении первой опции дисковый кэш слоя удаляется немедленно, при включении второй опции - кэш удаляется только при выходе из ArcGlobe или при удалении слоя.

Параметры удаления кэша для слоев ArcGlobe.

Связанные темы

5/10/2014