Руководство пользователя. Создание кэшированного картографического сервиса

Уровень сложности: Средний Требования к данным: Используйте собственные данные Задача: Создайте кэшированный картографический сервис, который может использоваться клиентскими приложениями.

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

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

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

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

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

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

Разработка карты

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

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

Определение системы координат

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

Шаги:
  1. Запустите ArcMap и откройте новый пустой документ карты.
  2. В таблице содержания ArcMap щелкните правой кнопкой мыши имя фрейма данных (по умолчанию Слои (Layers)) и используйте пункт Свойства (Properties).
  3. Щелкните закладку Система координат.
  4. Щелкните Системы координат проекции (Projected Coordinate Systems) > Мир (World) > WGS 1984 Web Mercator (Auxiliary Sphere).
  5. Нажмите ОК.
ПримечаниеПримечание:

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

Настройка ArcMap на использование тех же масштабов, что и в ArcGIS Online, Bing Maps и Google Maps

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

Шаги:
  1. На стандартной панели инструментов щелкните раскрывающийся список масштабов и выберите Настроить этот список.
  2. В окне Настройки масштаба (Scale Settings) щелкните Загрузить (Load) и выберите ArcGIS Online / Bing Maps / Google Maps.
  3. Отметьте опцию Отображать только эти масштабы при масштабировании. Это позволит только просматривать слои и классы пространственных объектов в интервалах масштабов ArcGIS Online/ Bing Maps / Google Maps. Включение этого параметра оказывается полезным при разработке карты, которая будет кэшироваться в этих масштабах.
  4. Чтобы применить ваши изменения, нажмите OK. Теперь вы можете увидеть набор масштабов этих популярных картографических сервисов и легко можете переключаться между ними, используя ниспадающий список.

Проектирование карты

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

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

Шаги:
  1. Работая в ArcMap, добавьте нужные наборы данных и уменьшите изображение до самого мелкого масштаба. При необходимости устраните изъяны проекции. Во всех наборах данных следует использовать проекцию WGS 1984 Web Mercator (Auxiliary Sphere), чтобы кэширование выполнялось надлежащим образом.
  2. Задайте символы и подписи для всех слоев в этом масштабе.
    ПодсказкаПодсказка:

    Может понадобиться указать определяющий запрос, чтобы в этом масштабе отображалось меньше пространственных объектов. Например, если имеется слой городов, можно задать определяющий запрос, который приведет к отображению городов только с населением, превышающим 20 000 человек.

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

    Если необходимо изменить символы, подписи или определяющий запрос на слое другого масштаба, добавьте копию этого слоя в карту. Для этого щелкните слой правой кнопкой мыши в Таблице содержания ArcMap и выберите Копировать (Copy). Затем щелкните правой кнопкой мыши имя фрейма данных и выберите Вставить слои (Paste Layer(s)).

  4. Создайте составные слои для отслеживания копий слоев. Проще всего создать один составной слой для каждого масштаба. Таким образом, необходимо задавать зависимость от масштаба только для группы слоев, а не для каждого отдельного слоя. Можно также включить масштаб в имя.
  5. Задайте диапазон масштабов для каждого составного слоя, чтобы только один слой был виден в каждом кэшированном масштабе. Настройте диапазон масштабов с уровнем допуска для каждого кэшированного масштаба. Например, если один из составных слоев будет кэшироваться в масштабе 1:577 791, может понадобиться сделать этот слой видимым только при уменьшении масштаба до 1:866 686 и увеличении масштаба до 1:433 343.
  6. Увеличивайте масштаб до каждого последующего уровня и соответствующим образом определяйте символы, пока не проработаете все масштабы в списке.
  7. Сохраните карту. Все готово к публикации карты.

Публикация картографического сервиса

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

Шаги:
  1. Откройте документ карты в ArcMap и выберите команды Файл (File) > Опубликовать как (Share As) > Сервис (Service) в главном меню.
  2. В окне Опубликовать как сервис (Share as Service) выберите Опубликовать сервис (Publish a service). Щелкните Далее (Next).
  3. В диалоговом окне Опубликовать сервис (Publish a Service) щелкните Подключиться к ArcGIS Server (Connect to ArcGIS Server) Добавить ArcGIS Server для создания нового подключения к серверу.
  4. В окне Добавить ArcGIS Server (Add ArcGIS Server) выберите Опубликовать ГИС-сервисы (Publish GIS Services). Щелкните Далее (Next).
  5. Введите URL сайта ArcGIS Server, к которому нужно подключиться, в поле URL сервера (Server URL). Например, http://gisserver.domain.com:6080/arcgis.
  6. В раскрывающемся списке Тип сервера (Server Type) выберите ArcGIS Server.
  7. Во время публикации создается файл определения сервиса, который затем временно сохраняется на локальном диске. Когда процесс публикации завершается, определение сервиса загружается на сервер, а локальный файл удаляется. В рамках данного руководства примите папку размещения по умолчанию.
  8. Введите Имя пользователя (User Name) и Пароль (Password) с минимальными правами доступа издателя в ArcGIS for Server. Если вы не настроили пользователей и роли для безопасности, можно использовать учетную запись главного администратора сайта, заданную при создании сайта. Оставьте флажок установленным, чтобы сохранить имя пользователя и пароль. Затем нажмите кнопку Готово (Finish).
  9. При необходимости в окне Опубликовать сервис (Publish a Service) введите новое имя сервиса. Щелкните Далее (Next).
  10. По умолчанию сервисы публикуются в корневой папке (root) ArcGIS Server. Сервисы могут размещаться во вложенных папках корневой папки. Выберите папку, в которой требуется опубликовать сервис, или создайте новую папку для сервиса. Нажмите кнопку Продолжить (Continue).
  11. Появится Редактор сервисов. Редактор сервисов используется для указания, что пользователи могут делать с кэшированным картографическим сервисом, определения схемы кэширования, детального управления предоставлением картографического сервиса сервером. Перейдите на закладку Кэширование (Caching).
  12. На закладке Кэширование (Caching), выберите параметр отображения картографического сервиса Использовать листы кэша (Using tiles from a cache).
  13. В раскрывающемся списке Схема листов (Tiling Scheme) выберите ArcGIS Online / Bing Maps / Google Maps.
  14. Изучите Оцениваемый размер кэша (Estimated Cache Size). Затем уменьшите (переместите влево) бегунок Максимальный уровень масштаба (Maximum scale level) в строке Уровень детализации (Levels of Detail) до тех пор, пока Оцениваемый размер кэша (Estimated Cache Size) не будет меньше 50 Мб. Это позволяет получить необходимый размер кэша для этого руководства.
  15. В рамках данного руководства примите все другие настройки по умолчанию. Учтите, что один из принимаемых параметров по умолчанию – автоматически создать кэш при публикации сервиса. Для кэшей большего размера можно создавать кэш вручную в другое время (например, ночью или на выходных).
    ПодсказкаПодсказка:

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

  16. Щелкните Анализировать Анализировать (Analyze). Документ карты будет проанализирован на возможность публикации его на сервере.
    ПодсказкаПодсказка:

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

  17. Исправьте все ошибки Ошибка (Error) в окне Подготовка (Prepare). Это необходимо сделать до публикации карты как сервиса. При необходимости можно устранить предупреждения и информационные сообщения, чтобы улучшить производительность и внешний вид сервиса. Более подробно об устранении этих неполадок см. Анализ ГИС-ресурса.
    ПримечаниеПримечание:

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

  18. При необходимости в Редакторе сервисов щелкните Предварительный просмотр (Preview). Предварительный просмотр (Preview). Это позволит увидеть, как карта будет выглядеть при просмотре в браузере. Дополнительные сведения см. в разделе Предварительный просмотр карты.
  19. После устранения ошибок в документе карты щелкните Опубликовать (Publish) Опубликовать.

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

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

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

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

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

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

Устранение проблем

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

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

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

Дополнительная литература

5/16/2014