Рекомендации по созданию карт

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

Общие подсказки

Следующие подсказки важны для всех документов карты, которые будут опубликованы на сайте ArcGIS Server:

Можно ли кэшировать карту для улучшения производительности?

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

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

Советы по работе с некэшированными картами

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

Увеличение скорости отображения картографических сервисов

Когда клиенты отправляют запросы к ArcGIS Server для отображения картографического сервиса, ответ сервера обычно кэшируется браузером и повторно используется в течение некоторого периода времени. Это помогает ArcGIS Server добиться максимально возможной скорости отображения картографического сервиса. Однако в зависимости от использования картографического сервиса и связанны с ним данных в приложении, может потребоваться изменить время использования кэшированного ответа. Это можно сделать с помощью добавления свойства cacheControlMaxAge к JavaScript Object Notation (JSON) сервиса.

Как используется свойство cacheControlMaxAge

Ответы картографического сервиса ArcGIS Server содержат тег объекта (ETag) и заголовок Cache-Control. Значение ETag является уникальным идентификатором ответа. Заголовок Cache-Control имеет значение максимальной длительности, который сообщает браузеру максимальный период времени в течение которого можно повторно использовать кэш. Это значение управляется свойством cacheControlMaxAge.

При повторе запроса, когда максимальное время действия кэша еще не прошло, браузер использует кэшированный ответ, не отправляя запрос к серверу. Если максимальное время действия кэша уже превышено, браузер должен отправить на сервер запрос и присвоить ответу в кэше заголовок IF-NONE-MATCH с соответствующим значением ETag. ArcGIS Server оценивает запрос и использует значение ETag для определения изменения запроса. Если ответ сервера отличается от копии в браузере, сервер отправит браузеру полностью новый ответ. Если ответ сервера идентичен копии в браузере, сервер сообщает браузеру, что можно продолжать использовать ответ в кэше.

Задание значения свойства cacheControlMaxAge

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

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

Для картографических сервисов с частой сменой наборов данных или символов, рекомендуется использовать значение 5 минут (300 секунд). В приложениях с анимацией или временными данными следует рассмотреть возможность увеличения этого значения, чтобы анимация выполнялась более плавно.

Чтобы добавить свойство cacheControlMaxAge к сервису и задать для него значение по умолчанию, сделайте следующее:

  1. В веб-браузере откройте директорию ArcGIS Server Administrator и войдите под именем пользователя с правами администратора. Адрес URL в формате http://gisserver.domain.com:6080/arcgis/admin.
  2. Щелкните services и выберите картографический сервис, который вы хотите изменить, в списке Сервисы (Services). Если сервис не отображается в списке, он может располагаться в папке в Корневой папке (Root folder).
  3. Прокрутите вниз страницу Service – <service name> (<service type>) и щелкните редактировать (edit).
  4. В диалоговом окне Свойства сервиса (Service Properties) найдите раздел "properties" сервиса JSON.
  5. Добавьте свойство cacheControlMaxAge в раздел и задайте для него значение (в секундах), например:
    "properties": {
      "cacheControlMaxAge": "300",
    
  6. Щелкните Сохранить изменения (Save Edits).
  7. На странице Service – <service name> (<service type>) проверьте, что свойство cacheControlMaxAge и указанное для него значение отображаются в разделе Свойства (Properties).

Вы будете просматривать эту карту на мобильном устройстве?

Функция Мобильный доступ к данным (Mobile Data Access) позволяет извлечь содержимое картографического сервиса для его просмотра на планшетном компьютере или устройстве Windows Mobile. Если вы знаете, что карта будет просматриваться на мобильном устройстве, упростите ее. Рассмотрите возможность генерализации данных, например сглаживания полигонов и сокращения разрешения растров для фоновых или базовых слоев. Это позволяет ускорить отображение карты.

Вы будете выполнять сетевой анализ на сервере с помощью этой карты?

Если вы собираетесь использовать эту карту для сетевого анализа на сервере, вам потребуется включить слоя сетевого анализа, ссылающийся на набор сетевых данных. При публикации картографического сервиса вы можете включить функцию Сетевой анализ (Network Analysis). При этом будет создан веб-сервис для выполнения задач сетевого анализа в вашей карте.

5/16/2014