Используйте Survey123 вместе с существующими векторными слоями

По умолчанию при публикации опроса в ArcGIS Survey123 Connect с помощью схемы из опроса создается векторный слой. Либо вы можете выбрать добавление опроса к существующему векторному слою.

Подготовка векторного слоя

Чтобы использовать векторный слой с Survey123, он должен быть элементом в ArcGIS Enterprise или ArcGIS Online. Сюда входят размещенные векторные слои и векторные слои, опубликованные на интегрированных и не интегрированных серверах.

Примечание:

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

Владелец и пользователи опроса должны иметь доступ к векторному слою, и он должен быть редактируемым. Также имейте в виду:

  • Если пользователи проходят новые опросы, обязательно должна быть функциональность Create.
  • Если пользователи изменяют существующие опросы, для векторного слоя должна быть включена возможность Update.
  • Если пользователи добавляют изображения, аудио или файлы, то hasAttachments должен быть задан как true.

Повторы не могут ссылаться на связанные слои или таблицы, кроме случаев, когда для этого отношения дочерний слой или таблица используют поле GUID. Хотя это требование не является обязательным в версиях ArcGIS Server, которые поддерживаются Survey123, рекомендуется использовать поле GUID для отношения в дочернем слое.

Если вы собираетесь редактировать свои опросы, векторный слой должен поддерживать пустые значения или в опросе должны быть требуемые поля. Survey123 при редактировании использует пустые значения в случае удаления ответа без его последующего изменения. Соответственно, Survey123 не сохранит опрос из векторного слоя, который не поддерживает пустые значения.

Следующие две дополнительные возможности, должны быть заданы как true для векторного слоя:

  • supportsAttachmentsByUploadId – эта возможность автоматически включена, если для векторного слоя разрешены вложения. Она позволяет приложению загружать все вложения, связанные с опросом, до того, как опрос будет отправлен. Если вложения загрузить не удается, то будет откачена назад отправка всего опроса в целом, чтобы предотвратить потерю данных.
  • supportsApplyEditsWithGlobalIds – векторный слой должен поддерживать применение изменений с глобальными идентификаторами. Это позволяет приложению создавать и управлять глобальными ID в созданных объектах (в отличие от сервера, который создает новые глобальные ID для создаваемых объектов).

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

  • Слои в векторном слое должны иметь столбец GlobalId с уникальным индексом. Самый лучший способ сделать это – разрешить синхронизацию при публикации векторного слоя.
  • При использовании многопользовательской базы геоданных слои могут использовать сервис-ориентированную версию, но не традиционную версию. При использовании сервис-ориентированной базы геоданных Survey123 будет ориентироваться на версию по умолчанию. Более подробно см. в разделе Типы версий.
  • Глобальные ID должны быть в векторном слое или таблице до того, как в нем будут включены вложения.
  • Если векторный слой содержит слои с m-значениями, должно быть разрешено редактирование без m-значений.

Подробнее о поддержке векторным слоем редактирования см. раздел supportsApplyEditsWithGlobalIds в Слой (сервис объектов) документации ArcGIS REST API.

Примечание:

Survey123 поддерживает для GUID только отношения один-ко-многим при работе с существующими векторными слоями и связанными таблицами. Отношения один-к-одному не поддерживаются.

Создание опроса из векторного слоя

В Survey123 Connect вы можете создать новый опрос на основе имеющегося векторного слоя. Войдите в организацию ArcGIS и щелкните Новый опрос. Выберите категорию Сервисы объектов. Найдите и выберите векторный слой, а затем щелкните Создать опрос. Из вашего векторного слоя создается форма XLSForm. После этого вы можете сразу опубликовать этот опрос или продолжить его дальнейшую настройку. Например, вы можете добавить более содержательные надписи для вопросов или сгруппировать их по разделам.

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

Примечание:

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

Создание опроса, который соответствует векторному слою

Можно создать вручную новый опрос, который подходит существующему векторному слою, но вам также потребуется обновить свойства form_id и submission_url на вкладке Настройки листа электронной таблицы для задания связи между опросом и существующим векторным слоем вашего портала или ArcGIS Online.

Свойство form_id явно определяет имя слоя, который используется для опроса, в векторном слое. Подробности см. в статье базы знаний о том, как создать опрос, совпадающий с сервисом объектов.

Свойство submission_url - это URL-адрес элемента векторного слоя.

URL-адрес представления в форме Survey123
Подсказка:

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

Чтобы создать этот URL-адрес, вы должны соединить ID элемента с Главным ресурсом портала Пример на изображении выше показывает ссылку на элемент ArcGIS Online; ссылка на тот же элемент на портале выглядит следующим образом:

https://<host>:<port>/arcgis/sharing/rest/content/items/21a6c530b31a4523bdff7gg94c9c5d9a

Если вам нужен опрос, который требует некоторых, но не всех полей существующего векторного слоя, рекомендуется создать опрос из векторного слоя (как описано в разделе выше) а затем удалить все вопросы, которые не нужны перед публикацией опроса. Таким образом, свойства form_id и submission_url создаются автоматически.