XLSForm の基本

XLSForm はフォームの作成を簡素化するオープン スタンダードです。 作成作業は、スプレッドシートを使用して、判読可能な形式で行われます。 XLSForm の詳細については、https://xlsform.org/ をご参照ください。 Survey123 は、XLSForm 標準のほとんど (すべてではありません) の機能をサポートしています。

XLSForm 準拠のスプレッドシートを作成するには、多くのオプションがあります。 Microsoft Excel が最もよく使用されますが、Kingsoft Spreadsheets、Google Sheets、OpenOffice Calc といったその他のオプションもあります。 さらに、ArcGIS Survey123 で使用できるように XLSForm スプレッドシートをエクスポートするオンラインの XForms ビルダーもあります。

フォームの作成に役立つように、ArcGIS Survey123 には Survey123 Connect デスクトップ ツールが含まれています。このツールは XLSForm 作成ツールと連動して XLS ファイルを作成します。 Survey123 Connect では、XLSForm ファイルの作成または編集時にプレビューを表示し、フォームを ArcGIS Online および ArcGIS Enterprise に公開して、データ収集のためのフォームの仕様に基づいてフィーチャ レイヤーを作成することができます。 ArcGIS Survey123 ConnectWindows で使用できます。

ArcGIS にフォームを公開した後は、Survey123 Web サイトを使用して、ArcGIS 組織サイトのメンバーとフォームを共有できます。 また、Survey123 フィールド アプリを介して収集したデータのマップやテーブルを解析し、調査結果をエクスポートすることもできます。

このトピックの目的上、ここでは ArcGIS Survey123 ConnectMicrosoft Excel を使用してフォームを作成すると想定します。

通常、各 Excel ワークブックには、survey と choices という 2 つのワークシートがあります。 3 つ目のワークシート (settings) についても以下で説明します。 ワークシートには、フォームが機能するために存在しなければならない一連の必須の列があります。 さらに、各ワークシートには、フォーム内の各エントリの動作を詳細に制御できるようにする一連のオプションの列もあります。 必須の列については、どのエントリもその列に値が存在する必要がありますが、オプションの列は空白のままでもかまいません。 必須とオプションのどちらであっても、Excel ワークブックに追加された列は任意の順序で表示できます。 オプションの列を省略し、任意数の行を空白にしておくことができます。 すべての .xls ファイル形式は無視されるので、分割線、陰影、その他のフォント形式を使用してフォームを読みやすくできます。

survey ワークシート

このワークシートには、フォーム全体の構造が示されます。 ここには質問の完全なリストと、フォームでの表示方法に関する情報が格納されています。 通常は、1 行ごとに 1 つの質問を表しますが、下記に示すその他機能をフォームに追加して、ユーザー エクスペリエンスを向上させることができます。

survey ワークシートには、type、name と、label または hint の 3 つの必須の列があります。

  • type 列では、追加する XLSForm 質問のタイプを指定します。 この列で可能な質問タイプには、十分に定義されたリストがあります。
  • name 列は、質問に対する回答が保存されるフィーチャ レイヤーのフィールドの名前を決定します。 この列では、スペースや特殊文字を使用することはできません。 各レイヤーですべての質問の名前が一意でなければなりません。
  • label および hint 列には質問のテキストが格納されます。 このテキストがフォームに表示されます。 質問には、少なくとも 1 つのラベルまたはヒントを指定する必要があります。警告メッセージが表示されないようにするには、ラベルを指定することをお勧めします。 これらの列では、スペースや特殊文字を使用できます。 または、翻訳の列を使用できます。 ラベルとヒントは、限られた HTML コードと、調査内で別の質問の回答に置き換えられる変数もサポートしています。 詳細については、「メモ」をご参照ください。

survey ワークシートの列の概要については、「survey ワークシートの列」をご参照ください。

choices ワークシート

このワークシートは、複数の選択肢の質問の回答の選択肢を指定するために使用します。 各行が回答の選択肢を表しています。 リスト名が同じである回答の選択肢は、関連する選択肢のセットの一部だと見なされ、1 つの質問に対してまとめて表示されます。 これにより、一連の選択肢を複数の質問に再利用することもできます (yes/no の質問など)。

choices ワークシートには、list name、name、label という 3 つの必須の列があります。

  • list name 列では、関連する回答の選択肢のセットをグループ化できます。 リスト名が同じである選択肢は、質問に対する一連の回答として表示されます。
  • name 列では、ArcGIS で維持される値を指定します。 name 列の値に特殊文字を含めることはできません。 選択リストに重複する選択肢名を含めることはお勧めしません。 重複する選択肢名の詳細については、「複数の選択肢の質問」をご参照ください。
  • label 列には、フォームの表示とまったく同じ状態で回答の選択肢が示されます。 または、ラベル翻訳の列を使用できます。

Excel でフォームを作成する場合、使用する構文が正確である必要があります。 たとえば、choices ではなく Choices または choice と記述した場合、フォームは機能しません。

settings ワークシート

settings ワークシートはオプションで、フォームをさらにカスタマイズできます。 フォームの編集時に表示されるタイトル、完成した各フォームを一意に識別するためのインスタンス名、調査の一意のバージョン識別子などをカスタマイズできます。 詳細については、「設定」をご参照ください。

補助ワークシート

Survey123 テンプレートには、フォームで使用できるプロパティ、演算子、および関数を含むワークシートが含まれています。 これらのワークシートは、調査および設定ワークシートのドロップダウン リストやその他のデータの整合チェックのルールを設定するためにも使用されます。 データの整合チェックを正常に動作させるには、補助ワークシートの内容を変更しないことをお勧めします。

質問タイプ

XLSForm は多数の質問タイプをサポートしています。 たとえば、店舗の名前と位置を収集するには、次のように記述します。

フォームのテキストとジオポイントの質問

次の表は、XLSForm の type 列に入力できる質問、質問で受け入れられる入力、フォームの公開時にその質問に関連する ArcGIS フィーチャ レイヤーで作成されるフィールド タイプを示しています。 調査の作成者は、これらの質問タイプの多くのフィールド タイプを変更できます。 フィールド タイプの詳細については、「Esri カスタム列」をご参照ください。

質問タイプ回答の入力デフォルトのフィールド タイプ
integer

整数の入力。

esriFieldTypeInteger

decimal

小数の入力。

esriFieldTypeDouble

range

指定範囲の数の入力。

esriFieldTypeInteger

text

フリー テキストの回答。

esriFieldTypeString

select_one list_name

1 つだけ回答を選択できる複数の選択肢の質問。 list_name を選択リストの名前に置き換えます。 フィールド タイプは変更できますが、式で使用する場合、選択名は常にフィールド アプリ内で文字列として処理されます。

esriFieldTypeString

select_multiple list_name

複数の回答を選択できる複数の選択肢の質問。 list_name を選択リストの名前に置き換えます。 フィールド タイプは変更できます。式で使用する場合、選択名は常にフィールド アプリ内で文字列として処理されます。

esriFieldTypeString

rank list_name

ランキングの質問。選択肢のリストのランク順を決定します。 list_name を選択リストの名前に置き換えます。 フィールド タイプは変更できます。式で使用する場合、選択名は常にフィールド アプリ内で文字列として処理されます。

esriFieldTypeString

note

画面にテキストが表示され、入力は行えません。 非表示の計算も表示できます。

esriFieldTypeString

geopoint

単一の GPS 座標を収集します。 フィールド タイプは変更できません。

esriFieldTypeGeometry

geotrace

マップ上のラインを収集します。 フィールド タイプは変更できません。

esriFieldTypeGeometry

geoshape

マップ上のポリゴンを収集します。 フィールド タイプは変更できません。

esriFieldTypeGeometry

date

日付の入力。

esriFieldTypeDate

time

時間の入力。

esriFieldTypeString

dateTime

日時の入力を受け入れます。

esriFieldTypeDate

image

写真を撮影します。

Attachment

begin group

質問のグループを開始します。

該当なし

end group

質問のグループを終了します。

該当なし

begin repeat

一連の繰り返しの質問を開始します。

該当なし

end repeat

一連の繰り返しの質問を終了します。

該当なし

calculate

フォームの値に対して計算を実行します。 このタイプの質問は非表示になっているため、フォーム上に表示されません。

esriFieldTypeString

username¹

ArcGIS Online または ArcGIS Enterprise にサイン インすると、このフィールドにはアカウントのユーザー名が自動的に設定されます。 このタイプの質問は非表示になっているため、フォーム上に表示されません。

esriFieldTypeString

email¹

ArcGIS Online または ArcGIS Enterprise にサイン インすると、このフィールドにはアカウントの電子メール アドレスが自動的に設定されます。 このタイプの質問は非表示になっているため、フォーム上に表示されません。

esriFieldTypeString

hidden

フォームに表示されないフィールド。 bind::esri:fieldType 列と bind::esri:fieldLength 列を使用して、データ スキーマを指定します。

esriFieldTypeString

barcode

バーコードをスキャンします。

esriFieldTypeString

start

調査の開始日時。

esriFieldTypeDate

end

調査の終了日時。

esriFieldTypeDate

deviceid

調査が取得された特定のデバイスを表す Survey123 によって生成された一意の ID。 これはモジュール デバイスの IMEI (International Mobile Equipment Identity) と異なります。Survey123 が実行されるデバイスには IMEI がない場合があります。

esriFieldTypeString

audio

オーディオ サンプルを記録します。

Attachment

file

デバイスにファイルをアップロードします。

Attachment

¹より柔軟なオプションは、pulldata("@property") 関数を使用して値を取得することです。 「デバイスとユーザー プロパティ」をご参照ください。

質問タイプのサンプル フォームには、ArcGIS Survey123 によってサポートされるすべての質問タイプが含まれます。 これらの質問タイプが Survey123 Web デザイナーおよび Web アプリでどのように表されるかを確認するには、「クイック リファレンス」をご参照ください。

メタデータ

XLSForm には、メタデータの収集のために次のデータ タイプ オプションが用意されています。

メタデータ タイプ説明
start

調査の開始日時。

end

調査の終了日時。

username

ArcGIS Online または ArcGIS Enterprise にサイン インしている現在のユーザーのユーザー名を記録します。 このデータ タイプは、入力は必要ありません。

email

ArcGIS Online または ArcGIS Enterprise にサイン インしている現在のユーザーの電子メール アドレスを記録します。 このデータ タイプは、入力は必要ありません。

deviceid

調査が取得された特定のデバイスを表す Survey123 によって生成された一意の ID。 これはモジュール デバイスの IMEI と異なります。Survey123 が実行されるデバイスには IMEI がない場合があります。

注意:

subscriberid、simserial、phonenumber という XLSForm メタデータ エレメントはサポートされていません。

このメタデータをすべて収集するには、調査の最初に次のものを追加します。

フォームのメタデータの質問

上記のメタデータ エントリは、ArcGIS Survey123 によって自動的に取得されます。 これらはフォームに質問としては表示されませんが、調査の送信後に値が表示されます。

start または end タイプの質問を追加すると、ArcGIS Survey123 によって調査のフィーチャ レイヤーが自動的に時間対応になります。 この方法で、データの送信日付に基づいて調査のコンテンツをフィルタリングできます。 start および end エントリの追加は、フォームを開いた時点から完了済みのフラグが立った時点までの正確な経過時間を知りたい場合にも有用です。

ヒント

フォーム上の質問にヒントを追加して、質問の回答方法を手引きしたいけれど、ヒントを質問の一部にはしたくない場合があります。 XLSForm では質問にヒントを追加できます。 hint 列を追加してヒントのメッセージを追加します。 次の例をご参照ください。

フォームの質問のヒント

guidance_hint 列を使用して、質問にガイダンス ヒントを追加することもできます。 ガイダンス ヒントは質問の回答方法を詳しく手引きするものですが、ヒントの横に表示されるガイダンス ヒントのボタンをユーザーがクリックするまで非表示になっています。 ガイダンス ヒントは、質問に対するヒントがすでに用意されている場合のみ使用できます。

ヒントとガイダンス ヒントの両方が用意された質問

プレースホルダー テキスト

[body::esri:style] 列で placeholderText パラメーターを設定すると、入力した内容 (テキスト、整数、小数の質問、オートコンプリートの表示設定が指定された select_one の質問など) を受け入れる質問に対し、プレースホルダー テキストを提供することもできます。 placeholderText=@[hint] または placeholderText=@[guidance_hint] を使用すると、ヒントまたはガイダンス ヒントは非表示になり、ヒント テキストは質問の入力エリアの中に配置されます。 質問が空の場合、プレースホルダー テキストは入力エリアに表示されます。

注意:

ヒントは、begin repeat と begin group の質問ではサポートされません。

プレースホルダー テキストは、Survey123 Web アプリではサポートされていません。

テンプレートの更新

[高度なテンプレート] には Survey123 でサポートされているすべての XLSForm フィーチャが含まれており、Survey123 Connect[新しい調査] ダイアログ ボックスで使用できます。 このテンプレートは定期的に更新され、新機能が追加されて調査作成エクスペリエンスが強化されます。 以前のバージョンのテンプレートも引き続き問題なく使用できますが、最新の変更を活用するために、最新の XLSForm テンプレートに既存の調査を更新することをおすすめします。

[XLSForm テンプレートの更新] ツールでは、調査の既存の XLSForm が最新バージョンの高度なテンプレートに更新されます。 [survey][choices][settings] の各ワークシートの内容を新しいテンプレートの対応する行と列にコピーすることで更新が行われます。 新しいテンプレートだけでなく、外部選択を使用している場合は [external_choices] ワークシートにも追加した列がコピーされます。

ツールを実行するには、Python 環境を Survey123 Connect で構成する必要があります。 詳細については、「Python の構成」をご参照ください。

更新する調査を Survey123 Connect で開きます。 [ツール][XLSForm テンプレートの更新] の順にクリックします。 ツールが実行中であることを示すメッセージがダイアログ ボックスに表示されます。 処理が完了すると、調査フォルダーの .xlsx ファイルが最新のテンプレートに更新され、フォームのプレビューが Survey123 Connect で再ロードされます。 ツールの実行中にエラーが発生した場合は、既存の XLSForm が保持されます。

注意:

調査の XLSForm は .xlsx ファイルである必要があります。 [XLSForm テンプレートの更新] ツールは .xls ファイルに対して実行できません。

元の XLSForm の列、データ整合チェック、セルの形式、フォント スタイルが更新された XLSForm にも引き継がれていることを確認することをおすすめします。 ツールによって、既存の XLSForm のバックアップとログ ファイルが C:\Users\<username>\ArcGIS\My Survey Designs\<surveyName>\debug\template_updater に作成されます。 バックアップから調査を復元するには、.xlsx ファイルを template_updater フォルダーから調査のルート フォルダーにコピーします。 既存の XLSForm を削除し、元の XLSForm と同じになるようにバックアップの名前を変更します。

注意:

各行の先頭列のセルの塗りつぶし色が更新されたテンプレートの行全体に適用されます。

多言語調査の場合、label::language (xx)hint::language (xx) などのデフォルト言語列が更新されたテンプレートから除外されます。