Skip To Content

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

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

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

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

Создание эффективного кэша карт нуждается в тщательной разработке перед его построением. В этом руководстве пошагово объясняется процесс планирования и разработки карты, которая будет кэшироваться с помощью схемы листов 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 щелкните правой кнопкой мыши имя фрейма данных (по умолчанию Слои) и выберите пункт Свойства.
  3. Щелкните вкладку Система координат.
  4. Щелкните Системы координат проекции > Мир (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. В окне Настройки масштаба щелкните Загрузить и выберите 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 и выберите Копировать. Затем щелкните правой кнопкой мыши имя фрейма данных и выберите Вставить слои.

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

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

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

  1. Откройте документ карты в ArcMap и выберите команды Файл > Опубликовать как > Сервис в главном меню.
  2. В окне Опубликовать как сервис выберите Опубликовать сервис. Щелкните Далее.
  3. В диалоговом окне Опубликовать сервис щелкните Подключиться к ArcGIS ServerДобавить ArcGIS Server для создания нового подключения к серверу.
  4. В окне Добавить ArcGIS Server выберите Опубликовать ГИС-сервисы. Щелкните Далее.
  5. Введите URL сайта ArcGIS Server, к которому нужно подключиться, в поле URL сервера. Например, http://gisserver.domain.com:6080/arcgis.
  6. В раскрывающемся списке Тип сервера выберите ArcGIS Server.
  7. Во время публикации создается файл определения сервиса, который затем временно сохраняется на локальном диске. Когда процесс публикации завершается, определение сервиса загружается на сервер, а локальный файл удаляется. В рамках данного руководства примите папку размещения по умолчанию.
  8. Введите Имя пользователя и Пароль с минимальными правами доступа издателя в ArcGIS Server. Если вы не настроили пользователей и роли для безопасности, можно использовать учетную запись главного администратора сайта, заданную при создании сайта. Оставьте включенной опцию сохранения имени пользователя и пароля. Затем нажмите кнопку Готово.
  9. При необходимости в окне Опубликовать сервис введите новое имя сервиса. Щелкните Далее.
  10. По умолчанию сервисы публикуются в корневой папке (root) в ArcGIS Server. Сервисы могут размещаться во вложенных папках корневой папки. Выберите папку, в которой требуется опубликовать сервис, или создайте новую папку для сервиса. Нажмите кнопку Продолжить.
  11. Появится Редактор сервисов. Редактор сервисов используется для указания, что пользователи могут делать с кэшированным картографическим сервисом, определения схемы кэширования, детального управления предоставлением картографического сервиса сервером. Перейдите на вкладку Кэширование.
  12. На вкладке Кэширование, выберите параметр отображения картографического сервиса Использовать листы кэша.
  13. В раскрывающемся списке Схема листов выберите ArcGIS Online / Bing Maps / Google Maps.
  14. Оцените Оцениваемый размер кэша. Затем уменьшите (переместите влево) бегунок Максимальный уровень масштаба в строке Уровень детализации до тех пор, пока Оцениваемый размер кэша не будет меньше 50 Мб. Это позволяет получить необходимый размер кэша для этого руководства.
  15. В рамках данного руководства примите все другие настройки по умолчанию. Учтите, что один из принимаемых параметров по умолчанию – автоматически создать кэш при публикации сервиса. Для кэшей большего размера можно создавать кэш вручную в другое время (например, ночью или на выходных).
    Подсказка:

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

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

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

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

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

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

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

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

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

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

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

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

Решение проблем

Если у вас создается впечатление, что приложение не использует кэш, убедитесь, что учетная запись ArcGIS Server имеет права на чтение и запись в вашу директорию кэша сервера.

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

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

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