Skip To Content

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

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

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

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

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

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

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

В следующих упражнениях для редактирования объектов сервисы объектов используются в сотрудничестве с ArcGIS.com map viewer:

Вы также можете добавить сервисы объектов в виде элементов, на портал или в ArcGIS Online, и предоставить к ним доступ для других пользователей вашей организации.

См. Справку к Portal for ArcGIS для получения дополнительных сведений по использованию Portal for ArcGIS.

Клиенты ArcGIS API for JavaScript

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

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

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

Для получения точки доступа REST или URL-адреса сервиса объектов найдите соответствующий сервис в директории сервисов ArcGIS Server Services Directory. Например, по умолчанию URL-адрес сервиса объектов в Services Directory – это http://gisserver.domain.com:6080/arcgis/rest/services/folder/service/FeatureServer. К URL-адресу можно добавить целочисленное значение (начиная с нуля) для ссылки на конкретный слой сервиса. Например, если URL-адрес заканчивается на /0, это означает первый слой сервиса.

ArcGIS Desktop

ArcGIS Desktop позволяет вам редактировать данные сервисов объектов. Рабочий процесс редактирования в ArcGIS Desktop принципиально отличается от процесса редактирования сервиса объектов через веб-приложение. Дополнительную информацию см. в Редактирование данных из сервисов пространственных объектов.

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

К сервисам объектов относятся операции, которые поддерживают рабочие процессы автономного редактирования. В отсутствии подключения клиент (например, мобильное устройство) может вносить изменения локально, а затем, при повторном подключении клиента к сервису объектов, синхронизировать изменения с сервером. Эта возможность, называемая синхронизацией, доступна через 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-адреса должен быть http://gisserver.domain.com:6080/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.6,  "serviceDescription": "",  "maxRecordCount": 2000,  "cacheControlMaxAge": "2592000",
    }
  6. Щелкните Сохранить изменения.
  7. На странице сервиса объектов проверьте, что свойство cacheControlMaxAge и указанное для него значение отображаются в разделе Свойства.

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

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

Если рабочий процесс вашего сервиса объектов требует использования не поддерживаемых HTML записей и атрибутов, то вам потребуется отключить свойство Фильтровать веб-содержимое. Доступ к данному свойству осуществляется через диалоговое окно Расширенные опции в ArcGIS Desktop или ArcGIS 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>

style

<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>