Skip to main content

Сервисы объектов и клиентские приложения

Существуют различные клиенты ArcGIS, которые можно использовать для редактирования или просмотра объектов в сервисе объектов, например, веб-клиенты и ArcGIS Pro.

Стандартные веб-клиенты ArcGIS

Map Viewer, Web Editor и шаблоны в ArcGIS Online и ArcGIS Enterprise предоставляют базовую готовую функциональность для редактирования сервисов объектов. Без программирования вы можете быстро создать веб-приложение редактирования, которое позволит пользователям добавлять, обновлять и удалять географические объекты из базы данных.

Например, при использовании стандартных приложений вы можете выполнять следующее:

Вы можете добавить функциональные сервисы в Map Viewer, используя URL ArcGIS Server Services Directory. После создания и сохранения карты, содержащей сервис объектов, вы можете опубликовать ее в вашей организации, встроить в веб-сайт или вставить ссылку (URL) на приложение в email, блоге или на веб-сайте. Созданные вами карты также можно развернуть с использованием шаблонов приложений, доступных в вашей организации. Это шаблоны полностью настраиваемые.

Также можно добавить сервисы объектов в виде элементов в организацию ArcGIS Enterprise или ArcGIS Online и предоставить к ним доступ для других участников организации.

Клиенты ArcGIS Maps SDK for JavaScript

ArcGIS Maps SDK for JavaScript предоставляет самые продвинутые возможности веб-редактирования и опции настройки. Если вы уверенно программируете с использованием этого API, вы можете адаптировать процесс редактирования к конкретной задаче, цели или организационной стратегии. Например, с помощью ArcGIS Maps SDK for JavaScript вы можете сделать следующее:

  • Редактировать только выбранные слои.

  • Отслеживать правки.

  • Управлять доступом к объектам при помощи управления доступом на основе владения.

  • Запретить пользователям редактирование геометрии объектов.

  • Создавать, удалять и изменять связанные версии базы геоданных "на лету".

  • Редактировать картографические представления.

Получение точки доступа REST сервиса объекта

Вы можете получить точку доступа REST или URL-адрес сервиса объектов, перейдя к соответствующему сервису в ArcGIS Server Services Directory. Например, по умолчанию URL-адрес сервиса объектов в Services Directory – это https://gisserver.example.com:6443/arcgis/rest/services/folder_name/service_name/FeatureServer.

Чтобы получить доступ к определенному слою в сервисе объектов, добавьте к URL-адресу целое число, отсчитываемое от нуля. Например, добавление /0 к URL-адресу обеспечивает доступ к первому слою сервиса; добавление /1 к URL-адресу обеспечивает доступ ко второму слою сервиса.

Использование сервисов объектов в ArcGIS Pro

Вы можете добавлять сервисы объектов в ArcGIS Pro для просмотра и редактирования данных в них.

Рабочий процесс редактирования в ArcGIS Pro принципиально отличается от процесса редактирования сервиса объектов через веб-приложение. Чтобы узнать больше, смотрите раздел Редактирование векторных веб-слоев в справке ArcGIS Pro.

Использование синхронизации с сервисами объектов

К сервисам объектов относятся операции, которые поддерживают рабочие процессы автономного редактирования. В отсутствии подключения клиент (например, среда выполнения или мобильное устройство) может вносить изменения локально, а затем, при повторном подключении клиента к сервису объектов, синхронизировать изменения с сайтом ArcGIS Server. Эта возможность, называемая синхронизацией, доступна через ArcGIS REST API.

Более подробная информация об использовании синхронизации с сервисами объектов приведена в соответствующем разделе справки ArcGIS REST API.

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

Когда клиенты отправляют запросы к 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

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

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

Для сервисов объектов, данные которых меняются нечасто, рекомендуется увеличить значение по умолчанию до 30 дней (2 592 000 секунд) или более, чтобы сократить сетевой трафик.

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

  1. В веб-браузере откройте ArcGIS Server Administrator Directory и войдите под именем пользователя с правами администратора.

    Адрес URL имеет формат https://gisserver.example.com:6443/arcgis/admin.

  2. Щелкните сервисы и выберите картографический сервис, который вы хотите изменить, в списке Сервисы.

    Если сервис не отображается в списке, он может располагаться в папке под Корневой папкой.

  3. Прокрутите вниз страницу сервиса объектов и щелкните редактировать.

    Откроется диалоговое окно Свойства сервиса.

  4. Вставьте свойство cacheControlMaxAge в файл JSON.

    Место вставки свойства зависит от того, ссылается ли сервис объектов на зарегистрированные данные или является размещенным сервисом объектов.

    • Для сервиса объектов, который ссылается на зарегистрированный источник данных, найдите раздел "extensions" JSON. Найдите подраздел, содержащий текст "typeName": "FeatureServer", и вставьте свойство cacheControlMaxAge в параметр properties этого подраздела.

    • Для размещенного сервиса объектов найдите раздел "jsonProperties" Service Properties JSON. Добавьте свойство cacheControlMaxAge в этот раздел.

  5. Установите свойство cacheControlMaxAge для желаемого значения (в секундах).

    В следующем примере показано задание свойства cacheControlMaxAge на 30 дней (2592000 секунд) для сервиса объектов, который ссылается на зарегистрированное хранилище данных:

      {
       "typeName": "FeatureServer",
       "capabilities": "Query,Create,Update,Delete,Uploads,Editing",
       "enabled": "true",
       "maxUploadFileSize": 0,
       "allowedUploadFileTypes": "",
       "properties": {
        "cacheControlMaxAge": "2592000",}
    }
    

    В следующем примере показано задание свойства cacheControlMaxAge на 30 дней (2592000 секунд) для размещенного сервиса объектов.

    "jsonProperties": {**
      "currentVersion": 11.5,
      "serviceDescription": "",
      "maxRecordCount": 2000,
      "cacheControlMaxAge": "2592000",
    }
    
  6. Щелкните Сохранить изменения.

На странице сервиса объектов в Administrator Directory убедитесь в том, что свойство cacheControlMaxAge и указанное для него значение отображаются в разделе Свойства.

Предоставление HTML в текстовых полях

При редактировании сервиса объектов в клиентском приложении вы можете использовать HTML-объекты и атрибуты в текстовых полях. Например, при редактировании объекта в веб-клиенте вы можете ввести HTML в поле комментариев.

Примечание:

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

Если для рабочего процесса требуются неподдерживаемые HTML-записи и атрибуты, необходимо отключить свойство Фильтровать веб-содержимое в сервисе объектов. Доступ к этому свойству можно получить через диалоговое окно Расширенные опции сервиса объектов в ArcGIS Server Manager. Дополнительную информацию см. в разделе Редактирование свойств сервиса в Server Manager.

Объект HTML

HTML-атрибут (если применимо)

href, target, style


style, align

size, color, style, face

http, https protocol

src, href

src, width, height, alt, border, style

  • mailto: protocol

    src, href

      style

      width, height, cellpadding, cellspacing, border, style

      height, width, valign, align, colspan, rowspan, nowrap, style

      height, valign, align, style