Skip To Content

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

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

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

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

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

  • Редактировать только выбранные слои.
  • Отслеживать правки. (Доступно только для многопользовательских баз геоданных, а не для баз данных.)
  • Управлять доступом к объектам при помощи управления доступом на основе владения. (Доступно только для многопользовательских баз геоданных, а не для баз данных.)
  • Запретить пользователям редактирование геометрии объектов.

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

Также можно добавить сервисы объектов в виде элементов на портал 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.domain.com:6443/arcgis/rest/services/folder/service/FeatureServer. К URL-адресу можно добавить целочисленное значение (начиная с нуля) для ссылки на конкретный слой сервиса. Например, если URL-адрес заканчивается на /0, это означает первый слой сервиса.

ArcGIS Pro

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

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

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

Более подробная информация об использовании синхронизации с сервисами объектов приведена в соответствующем разделе Справки ArcGIS Server 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.domain.com:6443/arcgis/admin.
  2. Щелкните services и выберите картографический сервис, который вы хотите изменить, в списке Сервисы. Если сервис не отображается в списке, он может располагаться в папке под Корневой папкой.
  3. Прокрутите вниз страницу сервиса объектов и щелкните редактировать.
  4. Откроется диалоговое окно Свойства сервиса. Перейдите к месту в файле JSON, куда было вставлено свойство cacheControlMaxAge. Оно зависит от того, где был опубликован ваш сервис объектов:
    • Если ваш сервис объектов опубликован на интегрированном или автономном ArcGIS Server, найдите раздел "extensions" файла JSON. Перейдите в подраздел "typeName": "FeatureServer". Свойство cacheControlMaxAge находится в параметре properties этого подраздела.
    • Если ваш сервис объектов опубликован на портале ArcGIS Enterprise, найдите раздел "jsonProperties" JSON Свойства сервиса. Добавьте в этот раздел свойство cacheControlMaxAge.
  5. Добавьте свойство cacheControlMaxAge в нужный раздел и задайте для него значение (в секундах). Например, чтобы задать максимально время равное 30 дням, вставьте "properties": { "cacheControlMaxAge": "2592000", }.

    Если ваш сервис объектов опубликован на интегрированном или автономном ArcGIS Server:

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

    Если ваш сервис объектов опубликован на портале ArcGIS Enterprise:

    "jsonProperties": {**
      "currentVersion": 10.9.1,
      "serviceDescription": "",
      "maxRecordCount": 2000,
      "cacheControlMaxAge": "2592000",
    }
  6. Щелкните Сохранить изменения.
  7. На странице сервиса объектов проверьте, что свойство cacheControlMaxAge и указанное для него значение отображаются в разделе Свойства.

Ввод HTML в текстовые поля

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

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

Объект HTMLHTML-атрибут (если применимо)

<a>

href, target, style

<b>

<br>

<div>

style, align

<em>

<font>

size, color, style, face

http, https protocol

src, href

<i>

<img>

src, width, height, alt, border, style

<li>

mailto: protocol

src, href

<ol>

<span>

стиль

<strong>

<table>

width, height, cellpadding, cellspacing, border, style

<tbody>

<td>

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

<tr>

height, valign, align, style

<u>

<ul>