Учебное пособие: Создание кэшированного сервиса изображений

Уровень сложности: Средний Требования к данным: Используйте собственные данные

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

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

Создание эффективного кэша сервиса изображений нуждается в некоторой разработке перед его построением. Вы можете создать сервис изображений из набора растровых данных, набора данных мозаики или файла слоя, ссылающегося на набор растровых данных или мозаику. В данном руководстве пошагово объясняется процесс планирования и разработки сервиса изображений, который будет кэшироваться с помощью схемы листов ArcGIS Online/Bing Maps/Google Maps Затем создается сервис изображения и выполняется кэширование. Наконец, выполняется тестирование кэша в клиентском приложении.

ПримечаниеПримечание:

Если источником вашего сервиса изображения является набор данных мозаики, то важно использовать систему координат WGS 1984 Web Mercator (Auxiliary Sphere), т.е. ту же систему координат, которая используется ArcGIS Online, Google Maps и Bing Maps.

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

Данное руководство разделено на три основные части:

  1. Создание сервиса изображений
  2. Публикация сервиса изображения (и создание кэша)
  3. Тестирование кэша

Действия перед выполнением этого руководства

Если вы только что установили ArcGIS for Server, то вы должны выполнить несколько подготовительных действий до подключения к ArcGIS for Server в ArcMap и публикации сервисов.

Создание сервиса изображений

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

ПримечаниеПримечание:

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

В этом руководстве предполагается, что в организации используются схемы листов ArcGIS Online/Bing Maps/Google Maps. Чтобы приступить к работе, выполните приведенные ниже действия.

Проектирование сервиса изображений

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

Если вы знаете, что будете создавать набор данных мозаики, который будет опубликован как сервис изображений и кэширован с использованием схемы листов ArcGIS Online/Bing Maps/Google Maps, создайте набор данных мозаики с использованием системы координат WGS 1984 Web Mercator (Auxiliary Sphere) или WGS 1984 Web Mercator.

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

Для получения дополнительных сведений о проектировании исходного набора данных сервиса изображений см. раздел Подготовка сервиса изображений.

Публикация сервиса изображений

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

Шаги:
  1. Запустите ArcMap.
  2. В окне Каталог щелкните правой кнопкой нужный набор данных или слой и выберите пункт Разместить для общего доступа как сервис изображений (Share As Image Service).
  3. Выберите Опубликовать как сервис (Publish as service) и нажмите Далее (Next).
  4. Выберите нужный сервер из списка Выберите подключение (Choose a connection).
  5. Дополнительно введите новое имя сервиса.

    Имя может содержать только цифры, буквы, подчеркивания и не может быть длиннее 120 символов.

  6. Щелкните Далее (Next).
  7. По умолчанию сервисы публикуются в корневой директории [root] ArcGIS for Server. Кроме того, сервисы можно разместить в папках в корневом каталоге. Выберите папку, в которой требуется опубликовать сервис, или создайте новую папку для сервиса.
  8. Нажмите кнопку Продолжить (Continue).

    Появится Редактор сервисов. Редактор сервисов (Service Editor) служит для выбора возможных действий пользователей с сервисом изображений, а также в мельчайших подробностях управляет отображением сервиса изображений.

    Дополнительная информация по конкретным параметрам и возможностям приведена в разделе Сервисы изображений и их функции.

  9. На левой панели Редактора сервисов (Service Editor) щелкните Функции (Capabilities).

    По умолчанию, опция Изображения включена.

  10. На левой панели в разделе Функциональность щелкните Изображения и просмотрите информацию.

    URL – URL клиентов, использующиеся для доступа к сервису изображений. SOAP URL должен быть форматирован следующим образом: http://<имя сервера>:6080/arcgis/services/<имя папки (если есть)>/<имя сервиса>/ImageServer. REST URL должен быть форматирован следующим образом: http://<имя сервера>:6080/arcgis/rest/services/<имя папки (если есть)>/<имя сервиса>/ImageServer.

    Разрешенные действия – есть несколько операций, которые доступны при использовании сервиса изображений. Каждая операция регулирует взаимодействие клиентов с сервисом. Дополнительная информация приведена в разделе Сервисы изображений и их функции.

  11. На левой панели диалогового окна Редактора сервисов (Service Editor) нажмите Кэширование (Caching).
  12. Для прорисовки данного сервиса выберите Использовать листы кэш (Using tiles from a cache).
  13. Щёлкните стрелку раскрывающегося списка Схема листов (Tiling Scheme) и выберите ArcGIS Online / Bing Maps / Google Maps.

    Это означает, что ваш кэшированный сервис изображений будет использовать схему листов ArcGIS Online/Bing Maps/Google Maps и уровни масштабирования.

    ПримечаниеПримечание:

    Если вы выберите Рекомендуемый (Suggest) из раскрывающегося списка Схема листов (Tiling Scheme), то у вас спросят количество уровней для использования при создании схемы листов по умолчанию. Её можно изменить, нажав Дополнительные настройки (Advanced Settings) на левой панели.

    Подробнее о схемах листов

  14. Оцените Оцениваемый размер кэша (Estimated Cache Size). Затем уменьшите (переместите влево) бегунок Максимальный уровень масштаба (Maximum scale level) в строке Уровень детализации (Levels of Detail) до тех пор, пока Оцениваемый размер кэша (Estimated Cache Size) не будет меньше 50 Мб. Это позволяет получить необходимый размер кэша для тестирования.

    По мере перемещения бегунка вы заметите, что значения Уровень (Level), Масштаб (Scale) и Размер ячейки (Cell Size) изменяются для предоставления информации высшего уровня кэша. При использовании набора данных мозаики вы можете выбрать создание кэша только при отсутствии создания обзоров.

  15. В рамках данного руководства примите все другие настройки по умолчанию. Учтите, что один из принимаемых параметров по умолчанию – автоматически создать кэш при публикации сервиса. Для кэшей большего размера, можно построить кэш вручную в различное иное время (например, ночью или на выходных).
  16. На левой панели нажмите Дополнительные настройки (Advanced Settings), выберите в раскрывающемся списке Формат листа (Tile Format) пункт JPEG.

    Формат JPEG приведет к созданию небольших листов и к уменьшению дискового пространства, необходимого для кэширования. Клиенты также смогут быстро загружать листы.

    Также можно выбрать Смешанный (MIXED). Такой смешанный кэш использует JPEG, когда он полностью покрыт изображением и PNG32 для листов, содержащих области, которые необходимо отобразить как прозрачные.

    Подробнее о форматах листа

  17. Нажмите кнопку Дополнительно (Advanced).
  18. В раскрывающемся списке Формат хранения (Storage Format) выберите Уплотнить (Compact).

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

  19. Нажмите OK, чтобы закрыть диалоговое окно.
  20. Щёлкните стрелку раскрывающегося списка Директория кэша (Cache Directory), чтобы выбрать директорию, в которой следует создать кэш. Если список пуст, необходимо добавить директорию кэша сервера, а затем продолжить работу. Подробные инструкции см. в разделе Создание директории сервера (Creating a server directory).
  21. В рамках данного руководства примите оставшиеся значения параметров сервера по умолчанию и продолжайте.
  22. В Редакторе сервисов (Service Editor) щелкните Анализировать (Analyze) Анализировать.

    При этом набор данных будет исследован на возможность публикации на сервере. Результаты будут отображены в окне Подготовка (Prepare). Необходимо устранить Ошибки (Errors) Ошибка (Error) перед публикацией сервиса изображений. Подробнее об устранении этих ошибок см. в разделе Анализ геоинформационного ресурса.

    ПодсказкаПодсказка:

    Чтобы развернуть область просмотра, нажмите кнопку Свернуть (Collapse) Свернуть (Collapse) в верхней части редактора сервисов.

  23. При необходимости в Редакторе сервисов (Service Editor) щелкните Предварительный просмотр (Preview) Предварительный просмотр (Preview).

    Это позволит увидеть, как данные будут выглядеть при просмотре в сети. Дополнительные сведения см. в разделе Предварительный просмотр карты.

  24. После исправления всех ошибок нажмите Опубликовать Опубликовать (Publish).

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

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

Тестирование кэша

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

Можно выполнять проверку в простом веб-приложении. Хорошим способом проверки кэша сервиса изображения является использование вьюера ArcGIS API for JavaScript, доступного через ArcGIS Server Services Directory.

Шаги:
  1. В окне веб-браузера перейдите в Директорию сервисов. Например, http://myserver:6080/arcgis/rest/services.
  2. В списке сервисов выберите нужный сервис изображения. Все сервисы изображений имеют метку (ImageServer). Если сервис расположен в папке, выберите его, перейдя в нужную папку.
  3. Отображается страница, на которой приведено имя сервиса, его описание и список слоев. Щелкните Просмотреть в: ArcGIS JavaScript.
  4. Появится окно с простым веб-приложением JavaScript. Уровни на ползунке масштабирования относятся к масштабам, хранящимся в кэше.
  5. Перемещайтесь по сервису изображений и переходите на различные уровни масштаба. Обратите внимание, как быстро отображаются листы изображений при перемещении и масштабировании.

Устранение неисправностей

Если приложение не использует кэш, убедитесь в выполнении приведенных ниже условий.

При использовании Mozilla Firefox для просмотра веб-приложения имеется простой способ определить, используются ли кэшированные листы.

Шаги:
  1. Щелкните правой кнопкой мыши в веб-приложении и выберите пункт Просмотр информации о странице (View Page Info).
  2. В окне Информация о странице (Page Info) щелкните кнопку Медиа (Media).
  3. Просмотрите изображения, которые отображаются в списке. Если отображаются URL-адреса, ссылающиеся на директорию кэша на сервере, значит кэш используется.

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

9/12/2013