Пользовательские столбцы Esri

Пользовательские столбцы Esri для XLSForm предлагают пользователям Survey123 дополнительную функциональность.

Тип поля

Пользовательский столбец bind::esri:fieldType должен использоваться, когда вам необходимо точно контролировать тип и длину полей, которые создаются в ArcGIS для вопросов опроса. Дополнительную информацию о поддерживаемых типах полей см. в разделе Типы данных полей ArcGIS.

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

Тип вопросаТип поля по умолчаниюКомментарии

select_one

esriFieldTypeString

Чтобы гарантировать сохранение выбора в виде целого числа, измените его на esriFieldTypeInteger.

date

esriFieldTypeDate

esriFieldTypeDate всегда содержит элемент времени. Для хранения только даты измените на esriFieldTypeDateOnly.

dateTime

esriFieldTypeDate

esriFieldTypeDate не содержит индикацию часового пояса. Для включения часового пояса в поле, измените на esriFieldTypeTimestampOffset. Если задано значение esriFieldTypeTimestampOffset, в форме для вопроса dateTime отобразится указатель часового пояса. По умолчанию будет применен текущий часовой пояс устройства.

time

esriFieldTypeString

Чтобы сохранить время в виде значения времени, измените его на esriFieldTypeTimeOnly

Для управления типом поля введите одно из следующих значений в столбец bind::esri:fieldType:

  • esriFieldTypeString
  • esriFieldTypeDate
  • esriFieldTypeDateOnly
  • esriFieldTypeTimeOnly
  • esriFieldTypeTimestampOffset
  • esriFieldTypeInteger
  • esriFieldTypeBigInteger
  • esriFieldTypeSingle
  • esriFieldTypeDouble
  • esriFieldTypeSmallInteger
  • esriFieldTypePointZ
  • esriFieldTypeGUID

Обратите внимание, что bind::esri:fieldType может управлять только типом поля, созданного в векторном слое. Для управления типом поля для вопроса в процессе опроса используйте bind::type столбец . Например, если ввести значение int в столбец bind::type для вопроса calculate, то данное поле будет считаться как integer, а не как тип поля по умолчанию – string. Значения, принимаемые столбцом bind::type:

  • int
  • decimal
  • string
  • date
  • dateTime
  • time

В столбце bind::esri:fieldType также может быть значение null, в результате чего вопрос будет исключен из созданного векторного слоя. Хотя вопрос по-прежнему будет находиться в опросе и работать обычным способом, ответ не будет передаваться в векторный слой и не будет отображаться при просмотре ответов. Это удобно для вычислений, ограничений и других вопросов, которые необходимы для презентаций, но не требуются при отображении результатов.

Следующих типы вопросов не поддерживают тип поля null:

  • select_one or other
  • select_multiple or other
  • hidden
Примечание:

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

Длина поля

Пользовательский столбец bind::esri:fieldLength должен использоваться, когда вам необходимо точно контролировать длину строковых (текстовых) полей, которые создаются в ArcGIS для вопросов опроса.

Примечание:

Целочисленные вопросы и вопросы с десятичными знаками таким образом контролировать невозможно. В базах данных не указывается длина числового поля, диапазон корректных значений управляется типом числового поля. Например, целочисленные поля хранят любые целые значения в диапазоне от -2,147,483,648 до 2,147,483,647.

Псевдонимы полей

По умолчанию, псевдоним поля опроса наследует то же значение, что и надпись поля, со ссылкой на первичное поле при открытии опроса в ArcGIS. Это можно изменить, введя значение в столбец bind::esri:fieldAlias, которое затем станет новым псевдонимом поля.

Поскольку скрытые вопросы и вычисления в форме не отображаются, содержимое поля надписи не сохраняется. Это значит, что при просмотре записей опроса на веб-сайте Survey123 или ArcGIS для этих типов вопросов вы увидите имя вопроса, показанное в заголовке столбца. Чтобы в заголовке столбца скрытого вопроса или вопроса-вычисления показывалась подпись, используйте bind::esri:fieldAlias столбец в своей таблице для отображения надписи.

Маска ввода

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

Подсказка:

Входные маски могут быть применены только к вопросу типа text. Для вопросов типа integer и decimal воспользуйтесь столбцом constraint для ограничения ответов. Подробнее см. Ограничения.

Чтобы применить входную маску к вопросу, задайте ее в столбце body::esri:inputMask. В следующей таблице перечислены знаки и символы, которые можно использовать в маске ввода:

СимволЗначение

A

Требуется буквенный символ ASCII Могут использоваться символы от A до Z и от a до z.

a

Разрешены, но не требуются, буквенные символы ASCII.

N

Требуется буквенно-числовой символ ASCII. Могут использоваться символы от A до Z, от a до z и от 0 до 9.

n

Разрешены, но не требуются, буквенно-числовые символы ASCII.

X

Требуется любой непустой символ.

x

Допускаются любые непустые символы.

9

Требуется числовой символ ASCII. Могут быть цифры от 0 до 9.

0

Разрешены, но не требуются, цифры ASCII. Могут быть цифры от 0 до 9.

D

Требуется числовой символ ASCII. Можно использовать цифры от 1 до 9.

d

Разрешены, но не требуются, цифры ASCII. Можно использовать цифры от 1 до 9.

#

Разрешены, но не обязательны, цифры ASCII или знак плюс/минус.

H

Требуется шестнадцатеричный символ. Могут использоваться символы от A до F, от a до f и от 0 до 9.

h

Разрешены, но не требуются, шестнадцатиричные символы.

B

Требуется бинарный символ. Могут быть цифры от 0 до 1.

b

Разрешены, но не требуются, бинарные символы.

>

Все следующие буквенные символы являются заглавными.

<

Все следующие буквенные символы являются строчными.

!

Отключить смену регистра.

\

Старайтесь не использовать указанные выше специальные символы в качестве разделителей.

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

Пример маскиОписание

>A<xxxxxxxxxxxx

Текст, начинающийся с заглавной буквы, за которой следуют строчные.

AAA-AAA-AAA;_

Уникальный идентификатор, использующий тире в качестве разделителей с точкой запятой в конце входной маски и подчеркиванием для символов, ввод которых обязателен.

B9.99;-

Обозначение значения pH. Число должно начинаться с 0 или 1 и содержать не более 2 десятичных знаков. Точкой с запятой заканчивает входную маску с последующей черточкой, которая используется для обозначения символов, ввод которых обязателен.

999-99-9999

Номер социального страхования США.

(999) 999-9999

Номер телефона США.

900 kg

Вес в килограммах между 0 и 999.

99999

5-значный почтовый индекс США.

AAA

Код аэропорта IATA.

Рабочий процесс

Используйте пользовательский столбец bind::esri:workflow, чтобы указать, что поле может быть заполнено из листа .Дальномер в галерее. Этот столбец поддерживается только текстовыми вопросами, а следующие значения принимаются столбцом bind::esri:workflow.

  • rangefinderMode=height
  • rangefinderMode=offset
  • rangefinderMode=height,offset
  • rangefinderHeight

Каждое из значений rangefinderMode включает соответствующий пользовательский интерфейс для полевого рабочего. Когда выбран желаемый рабочий процесс дальномера, пользователь выбирает опрос и делает от 1 до 3 замеров инструментом, далее опрос автоматически запускается для полевого рабочего для заполнения остальных вопросов.

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

Примечание:
Более подробно см. в Подготовка к сбору данных с помощью дальномера.