XLSForm 向けの Esri カスタム列は、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 という値を calculate の質問の bind::type 列に入力すると、フィールドはデフォルトのフィールド タイプである文字列ではなく、整数として扱われます。 bind::type 列で使用できる値は次のとおりです。
- int
- decimal
- string
- date
- dateTime
- time
bind::esri:fieldType 列には null 値も使用できます。これを使用すると、作成されるフィーチャ レイヤーから質問が省略されます。 質問は調査内に存在したまま正常に動作しますが、回答はフィーチャ レイヤーに送信されず、回答を確認すると存在しない状態になります。 これは、計算、制約、または表示目的で存在する必要があるが結果には必要ないその他の質問に最適です。
次の質問タイプは、NULL フィールド タイプをサポートしていません。
- select_one or other
- select_multiple or other
- hidden
注意:
ジオポイント、ジオトレース、ジオシェープの質問は、調査に少なくとも他に 1 つのジオポイント、ジオトレース、ジオシェープの質問が含まれており、そこに NULL フィールド タイプがない場合、あるいはジオポイント、ジオトレース、ジオシェープが繰り返されている場合にのみ、NULL フィールド タイプをサポートします。
フィールドの長さ
bind::esri:fieldLength カスタム列を使用して、ArcGIS で調査の質問用に作成される文字列 (テキスト) フィールドの長さを制御します。
注意:
整数および小数の質問はこの方法では制御できません。 データベースでは数値フィールドの長さを指定しません。有効な値の範囲は、数値フィールド タイプで決定されます。 たとえば、整数フィールドは -2,147,483,648 から 2,147,483,647 までの整数値を格納します。
フィールド エイリアス
デフォルトでは、調査フィールドのエイリアスは、フィールドのラベルと同じ値を継承します。この値は主に、ArcGIS で調査を開くときに参照されます。 これを変更するには、bind::esri:fieldAlias 列に値を入力します。入力した値がフィールドの新しいエイリアスになります。
非表示の質問と計算の質問はフォームに表示されないため、ラベル フィールドの内容は保持されません。 つまり、これらのタイプの質問では、Survey123 Web サイトまたは ArcGIS で調査レコードを表示するとき、列ヘッダーに質問名が表示されます。 非表示の質問と計算の質問の列ヘッダーで強制的にラベルを表示するには、スプレッドシートの bind::esri:fieldAlias 列を使用してラベルを指定します。
入力マスク
入力マスクは、文字とシンボルを使用することで、テキストの質問の設定形式を提供します。 入力マスクを質問に適用すると、すべての回答が、入力マスクによって定義された特定のパターンに従う必要があります。 Survey123 フィールド アプリおよび Web アプリでは、すべての入力マスクが満たされるまで調査の回答は送信できません。
ヒント:
入力マスクは、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 | 16 進数が必須です。 使用できる文字は A ~ F、a ~ f、0 ~ 9 です。 |
h | 16 進数が許可されていますが必須ではありません。 |
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 桁の ZIP コード。 |
AAA | IATA 空港コード。 |
ワークフロー
[bind::esri:workflow] カスタム列を使用することで、ギャラリーから起動した [距離計] タイルからフィールドに入力できることを示します。 この列はテキストの質問でのみサポートされており、[bind::esri:workflow] 列には以下の値を使用できます。
- rangefinderMode=height
- rangefinderMode=offset
- rangefinderMode=height,offset
- rangefinderHeight
それぞれの rangefinderMode の値でフィールド作業者に対して類似のユーザー エクスペリエンスが実現されます。 目的の距離計ワークフローを選択すると、調査を選択して機器で 1 ~ 3 回計測する画面がユーザーに表示されます。フィールド作業者には他の質問に回答するための調査が自動的に表示されます。
rangefinderHeight の値は一意であるため、高さの値を受け付けるように構成されている調査の各質問をフィールド作業者が進む矢印と戻る矢印で確認できます。 すべての高さが計測されたら、フィールド作業者は [完了] をタップして調査に進み、他の質問に回答します。