マップにフィーチャ (ホスト フィーチャ レイヤー、ホスト フィーチャ レイヤー ビュー、ホスト テーブル レイヤー、サブタイプ グループ レイヤー、ArcGIS Server フィーチャ レイヤー) が含まれている場合、編集者が Web マップのフィーチャ レイヤーのフィールド値を更新するときに使用できるフォームを定義できます。 フォームは、マップですべてのフィーチャ レイヤーに対して定義することも、マップのユーザーが編集する必要があるレイヤーのみに対して定義することもできます。
ヒント:
マップ内にあるフィーチャ レイヤーの所有者、または組織管理者の場合、レイヤーで編集を有効化する前にフィーチャ レイヤーのフォームを構成できます。
フォームを構成する際、フォームの中に含まれるフォーム エレメントと、エレメントの表示方法を指定します。 フォームがあると、編集者を正しいフィールドや、編集可能フィールドで許可されている属性値に誘導することができます。
フォームは、マップの一部として保存されます。 マップを共有すると、他のユーザーも、マップのフィーチャ レイヤーや関連レコードを編集するために定義されたフォームを使用できるようになります。
注意:
現時点では、ArcGIS Online および ArcGIS Enterprise の Map Viewer と Field Maps Designer でフォームを構成できます。
フォームを構成する前に
マップのフィーチャ レイヤーのフォームを構成する前に、レイヤーのコンテンツとフィールド設定を理解しておく必要があります。 フィールドに含まれているものによって、フィールドのエレメント グループを作成できるかどうかが変わります。 フィールドに適用される設定 (NULL 値を許可するかどうか、デフォルト値の有無、レイヤー所有者がフィールドのリストを定義したかどうかなど) は、フォームのフィールド エレメントの書式設定を左右します。
フォームの構成
マップのフィーチャ レイヤーのそれぞれに対して、入力フォームを構成できます。 フォームに表示されるフィールド (エレメント) と、その配置を定義できます。
編集者が、編集可能なフィーチャ レイヤーのフィーチャを選択するとフォームが表示されるので、編集者はそのレイヤーの属性値を入力できます。
フィーチャ レイヤーのフォームを構成するには、次の手順に従います。
- サイン インしていることと、コンテンツを作成する権限を持っていることを確認します。
- [コンテンツ] (暗い背景の) ツールバーにある [レイヤー] をクリックして [レイヤー] ウィンドウを開きます。
- マップにフィーチャ レイヤーを追加します。
- フィーチャ レイヤーを選択した状態で、[設定] (明るい背景の) ツールバーの [フォーム] をクリックします。
[フォームの構成] ウィンドウが表示されます。
- 次のオプションを単独で、または組み合わせて使用し、フォームにエレメントを追加します。
フォーム エレメントとは、フォームに表示されるフィールドのグループと入力フィールドのことです。 フィールド エレメントは、フィーチャ レイヤーの既存のフィールドに基づいています。
- 既存のポップアップを変換 - フィーチャ レイヤーのポップアップを構成した場合、既存のポップアップ構成を使って、フォームの構成を始めることができます。
- エレメントのグループの作成 - 展開および折りたたみが可能なグループ エレメントを作成し、論理的に関連する情報をフォームでまとめておくことができます。
- 説明テキストの追加 - 説明テキストをフォームに追加して、フォーム エレメントの目的を説明するコンテキスト情報を提供できます。
- フィールドの追加 - レイヤーのどのフィールドをフォームに追加するか選択します。 フォーム キャンバスにフィールドを追加すると、そのフィールドはフォーム エレメントになります。
- 関連レコード エレメントの追加 - フィーチャ レイヤーに関連テーブルまたはフィーチャ レイヤーが含まれている場合は、関連レコード エレメントをフォームに追加できます。
- 条件値フィールド グループの追加 - フィーチャ レイヤーのデータに条件値が定義されている場合、[フィールド グループ] リストが [フォーム ビルダー] に表示されます。 これにより、論理的に関連するフィールドのグループを 1 つのステップでフォーム キャンバスに追加できます。
- フィールドとグループをフォーム キャンバスのエレメントとして追加したら、各エレメントを書式設定します。
- 必要に応じて、エレメントに影響を与える条件を定義する Arcade 式を作成します。
- フォーム上のエレメントの条件式の追加、書式設定、構成を終了したら、[OK] をクリックしてフォームを保存します。
- マップを保存します。
注意:
マップを保存せずに終了すると、フォームは失われます。
フォームを変更する場合は、上記の手順を繰り返します。 フォームを編集した後は、必ずマップを保存してください。
既存のポップアップの変換
フィーチャ レイヤーにポップアップが構成されている場合は、[ポップアップの変換] をクリックし、フィールドをポップアップからフォーム キャンバスに追加します。
ポップアップ構成に含まれないフィールドは [フォーム ビルダー] の [フィールド] リストに表示されます。 これらのフィールドをフォーム キャンバスにドラッグして、フォームのエレメントとして追加することもできます。詳しくは、次のセクションをご参照ください。
フィールドをフォームのエレメントとして追加したら、グループを作成して関連フィールドを集約するか、フィールド エレメントの書式設定を行えます。
注意:
高精度 GPS メタデータを含むフィールドは、既存のポップアップからインポートされた場合にのみ、フォームに表示することができます。 これらのフィールドは GPS デバイスからのみ入力する必要があるため、対応するフォーム エレメントの編集は無効化します。
説明テキストの追加
説明テキストをフォームに追加して、フォーム エレメントに関するコンテキスト情報または詳細を提供できます。 説明テキストは読み取り専用のため、フォーム編集者はこれを変更できません。
説明テキスト エレメントをフォームに追加するには、次の手順を実行します。
- [フォーム エレメント] リストからフォーム キャンバスに [情報] エレメントをドラッグします。
[プロパティ] ウィンドウが表示され、説明テキスト エレメントを編集できるようになります。
- [書式設定] セクションのテキスト エディターで、以下のいずれかを行います。
- テキスト エディターにプレーン テキストを入力します。
- テキストの書式設定ツールを使用して、テキストの書式を設定します。
- [フィールドまたは式の選択] をクリックするか、{ を入力して、フィールドまたは式を選択します。 各フィールドに一意のテキストを指定する場合は、このオプションを使用します。
- [可視性] セクションで、Arcade 属性条件式を追加して、フォームにテキストを表示するタイミングに関するルールを適用します。 詳細については、「条件付き表示設定の構成」をご参照ください。
- [プロパティ] ウィンドウを閉じて変更を保存し、[フォーム ビルダー] パネルに戻ります。
- 必要に応じて、フォームに説明テキスト エレメントを追加した後で、フィールド エレメントの追加に進みます。
フィールドの追加
レイヤーのフィールドのうち、フォーム エレメントとして編集者に表示するものを選択します。 ほとんどの場合、編集者が値を更新するために使用するフィールドを追加します。
たとえば、フィーチャ レイヤーにサイト名、サイト タイプ、建設状況、景観、編集日、編集者名、作成日、作成者名、ID、Shape などのフィールドが含まれている場合は、サイト名、サイト タイプ、建設状況、景観フィールドのみをフォームに配置します。編集日、編集者名、作成日、作成者名、ID の各フィールドは自動的に入力され、Shape フィールドは、編集者がレイヤーにフィーチャを追加したときに入力されます。
また、参照用のフィールドを追加し、フォーム エレメントで編集を無効にすることもできます。 前の例では、フォームで編集できないエレメントとして編集日フィールドを含めると、編集者はフィーチャの最終更新日を確認できます。
- 次のいずれかの方法で、フォームのエレメントとしてフィールドを追加します。
- フォームにすべてのフィールドを追加する - [フィールド] リストの [すべて追加] をクリックすると、フォームのレイヤーのすべてのフィールドを含めることができます。 レイヤーに編集可能なフィールドが多数ある場合、個々のフィールドを追加するよりも、すべてのフィールドを追加してからシステム フィールドや編集できないフィールドを削除する方が手間を省くことができます。
- フィールド セットをフォームに追加する - 特定のフィールド セットをフォームに含めるには、Ctrl キーを押しながら対象のフィールドをクリックし、フォーム キャンバスにドラッグします。
- フィールドを 1 つずつ追加する - フォームにフィールドを 1 つ追加するには、そのフィールドをダブルクリックするか、フォーム キャンバスにドラッグします。
ヒント:
レイヤーまたはテーブルに多数のフィールドが含まれている場合は、[フィールド] リストの [フィールドの検索] 検索バーを使用して、特定のフィールドを見つけることができます。
- 必要に応じて、フィールドをフォームのエレメントとして追加したら、グループを作成するか、フィールド エレメントの書式設定に進みます。
関連レコード エレメントの追加
ホスト フィーチャ レイヤーを公開する前に ArcGIS Pro のジオデータベースにリレーションシップ クラスを作成した場合、リレーションシップ クラスを含むテンプレートを使用してホスト フィーチャ レイヤーを作成した場合、ArcGIS Survey123 Connect で繰り返しセクションを含むフォームにホスト フィーチャ レイヤーを作成した場合は、関連レコード エレメントをそのフォームに追加できます。 これにより、フォームの入力中に、テーブルなどのホスト フィーチャ レイヤーに関連付けられている関連レコードの表示と追加を行うことができます。
ヒント:
ArcGIS Pro にリレーションシップ クラスを作成する手順については、次のヘルプ ページをご参照ください。
たとえば、都市樹木の健康状態を監視するために使用するフォームでは、関連テーブルに各樹木の調査結果を含めることができます。 関連レコード エレメントをフォームに追加することで、樹木フィーチャの属性の編集中に新しい調査結果を関連テーブルに追加できます。
注意:
- 関連レコード エレメントをフォームに追加する前に、データのリレーションシップ クラスが存在している必要があります。
- 関連レコードを編集するには、レイヤーとその関連テーブルまたはフィーチャ レイヤーはマップに存在する必要があり、各関連テーブルまたはレイヤーは編集が有効になっている必要があります。
- 現在、ソース データ内のフィーチャクラス (起点) とテーブル (終点) またはフィーチャクラス (終点) の 1 対 1 および 1 対多のリレーションシップ基数がサポートされています。
- 現在、フォームへの関連レコード エレメントの追加は、ホスト フィーチャ レイヤーとホスト フィーチャ レイヤー ビューでサポートされています。 終点フィーチャ レイヤーまたはテーブルを持つリレーションシップにホスト テーブルが参加している場合は、ホスト テーブルもサポートされます。
関連レコード エレメントをフォームに追加するには、次の手順を実行します。
- [関連レコード] リストで、関連レコード エレメントをダブルクリックするかフォーム キャンバスにドラッグします。
関連レコード エレメントがフォーム キャンバスに追加されます。
- 関連レコード エレメントのプロパティの書式設定を行います。
エレメントのグループの作成
関連するフィールドをグループ化し、フォーム上で 1 か所にまとめておくには、グループ エレメントを作成します。 エレメントのグループ化は、紙のフォームで質問を同じセクションにまとめる操作と似ています。 デジタル フォームのグループには、グループを折りたたんで見出しのみを表示し、ユーザーがグループを展開した場合にのみフォームを表示できるという利点があります。
たとえば、ハイキング コースのフィーチャ レイヤーのコンテンツを更新するフォームで、ハイキング コースのプロパティ (ハイキング コースの名前、タイプ、難易度など) に関連するすべてのフィールドをグループ化するなどです。 ハイキング コースのメンテナンス情報 (メンテナンス担当者名、メンテナンスの最終実施日、実施したメンテナンスに関する説明など) を記録するフィールドのグループを別途作成することもできます。 グループを折りたたんだ状態のフォームを展開しなければ、編集者には 2 つのグループ名しか表示されません。
関連するエレメントを、フォームの折りたたみ可能なセクションにグループ化するには、次の手順を実行します。
- [フォーム エレメント] リストからフォーム キャンバスに [グループ] エレメントをドラッグします。
フォーム エレメントがフォーム キャンバスに追加されます。
- 関連するフィールドをグループにドラッグします。
[フォーム ビルダー] ウィンドウの [フィールド] リストまたはフォーム キャンバスから、フィールドをドラッグできます。
- グループ エレメントを選択してプロパティを編集します。
表示される [プロパティ] ウィンドウでは以下の情報を編集できます。
- [表示名] - グループに含まれているフィールドを説明する名前を入力します。 これは、紙のフォームのセクション見出しに似ています。 この値は必須です。
- [説明] - グループの説明を入力します。
- [初期状態] - デフォルトでは、フォームを開くとグループは展開されます。つまり、すべてのフィールドが自動的に表示されます。 初期状態でグループを折りたたんでおくには、[展開] チェックボックスをオフにします。 グループをクリックして展開すると、そこに含まれるフィールドが表示されます。
- [条件付きの表示設定] - Arcade 属性条件式を追加して、フォームにグループを表示するタイミングに関するルールを適用します。 詳細については、「条件付き表示設定の構成」をご参照ください。
ヒント:
グループ ツールバーの [グループ解除] を選択することで、グループからすべてのフォーム エレメントを削除できます。 グループから複数のエレメントを削除するには、Ctrl キーを押しながら削除する各エレメントを選択し、グループの外にドラッグします。
条件フィールド グループをフォームに追加
データ所有者がデータに対して ArcGIS Pro で条件フィールド グループを作成した場合、条件フィールド グループがフォーム キャンバスの横にある [フィールド グループ] リストに表示されます。
フィールドは関連しており、あるフィールドの値が他のフィールドに設定できる値を決定または制限するため、条件フィールドを [フィールド グループ] リストから追加すると、グループ エレメント内のフォームに追加されます。 条件フィールドは、後から編集者が Map Viewer で記入できるよう、グループ化したままにしてください。 フィールド グループからフィールドを削除すると、警告が表示されます。
1 つ以上のフィールドを共有する条件フィールド グループはまとめてリストされます。 1 つのフィールド グループとしてフォームに追加されます。
フォームに追加する必要があるフィールド グループは、リストの [必須] セクションに表示されます。 フィールド グループは、ArcGIS Pro で制限付きとして構成された場合、必須になります。この場合、このフィールド グループのフィールドを編集する際に編集者が入力する属性値は、条件値の定義に従う必要があります。
注意:
フォーム キャンバスに必須の条件フィールド グループを追加しない場合、編集者がそのフォームを使用してフィーチャ レイヤーを編集することはできません。
ArcGIS Pro で条件フィールド グループを作成する方法については、「条件値の作成と管理」をご参照ください。
フォームに条件値フィールド グループを追加するには、次の手順を実行します。
- 次のいずれかの方法で、フォームにフィールド グループを追加します。
- フィールドを 1 つずつ追加する - フォームにフィールド グループを 1 つ追加するには、そのフィールドをダブルクリックするか、フォーム キャンバスにドラッグします。
- フィールド グループのセットをフォームに追加する - 特定のフィールド グループのセットをフォームに追加するには、Ctrl キーを押しながら対象のフィールド グループをクリックし、フォーム キャンバスにドラッグします。
- フォームにすべてのフィールド グループを追加する - [フィールド グループ] リストの [すべて追加] をクリックすると、フォームのレイヤーのすべてのフィールドを含めることができます。
ヒント:
レイヤーまたはテーブルに多数のフィールド グループが含まれている場合は、[フィールド グループ] リストの [フィールド グループの検索] 検索バーを使用して、特定のフィールドを見つけることができます。
- フィールド グループをフォームにエレメントとして追加したら、グループ エレメントの書式設定とフィールド エレメントの書式設定を行います。
フォーム エレメントへの書式設定の適用
フォーム キャンバスのフォーム エレメントを選択すると、[プロパティ] ウィンドウが表示されます。
前のセクションで、グループ エレメントのプロパティの設定について説明しました。
フィールド エレメントの [プロパティ] ウィンドウの [書式] セクションには、フォームのエレメントに対して定義できるプロパティと、レイヤーから継承されるプロパティ (フォームで変更できない) が表示されます。 次のセクションに、フォームのフィールド エレメントに対して定義できるプロパティを示します。
表示名の定義
すべてのフォーム エレメントには、[表示名] 設定の値が必要です。 表示名とは、フォームのエレメントに付属するラベルのことです。
フィールドのデフォルトの表示名は、フィールド名と同じです。 デフォルトをそのまま使用することもできますが、各フィールドに対して説明的でユーザーにわかりやすい名前を入力することもできます。
テキスト エレメントの書式設定
フォーム エレメントが文字列フィールドを参照する場合、次の手順を実行し、エレメントを書式設定します。
- テキスト フォーム エレメントを選択し、[プロパティ] ウィンドウを開きます。
- [入力タイプ] ドロップダウン メニューをクリックし、次のいずれかのオプションを選択します。
- [バーコード] - これは、バーコード リーダーを備えたアプリでのみ使用できます。 この入力タイプを選択した場合、バーコードを入力として読み取ることができないアプリ (Map Viewer など) では、エレメントは 1 行テキストになります。
- [テキスト - 単一行] -フォームの入力フィールドは、単一行のテキストになります。
- [テキスト - 複数行] - フォームの入力フィールドは、複数行に対応した高さになります。 最大長が大きいテキスト フィールドにはこの入力タイプを使用し、編集者がフィールド内のすべてのテキストを確認できるようにします。
- フィールドに正しい値を入力するよう編集者に指示するテキストを表示するには、そのテキストを [プレースホルダー] フィールドに入力します。
たとえば、融資申請者の名を格納するフィールドのプレースホルダー テキストとして「申請者の名を入力」と入力することができます。
プレースホルダー テキストは入力フィールド エレメント内に表示され、編集者が指定するテキストに置換されます。
デフォルト値が定義されたフィールドには、プレースホルダー テキストは設定できません。
- [説明] フィールドに、フィールドの値が表すものを説明するテキストを入力します。
説明は、フォームのエレメントの下に表示されます。
- エレメントの [最小長] (最小文字数) と [最大長] (最大文字数) を設定します。
場合によっては、フィーチャ レイヤーは、フィールドに対して適切な長さではない、デフォルトのテキスト フィールド サイズで公開されることがあります。 たとえば、フィールドの値が、はい、いいえ、不明、に限られているにもかかわらず、フィーチャ レイヤーのフィールド長が 256 文字である場合などです。 この場合、編集者に「y」、「n」、「u」のみを入力させるには、フィールドの値を編集する際に、最小値と最大値を 1 として設定します。
最大文字長を、フィールド長よりも多く設定することはできません。
- [必須] の横にあるチェックボックスをオンにすると、編集者がフィールドに値を入力する必要があることが定義されます。
詳細については、「エレメントを必須として定義する」をご参照ください。
- 編集者がフォームを使用してこのフィールドの値を更新できないようにするには、[編集可能] チェックボックスをオフにします。
たとえば、フィールドを参照用として含めるが、編集者がフィールドの値を変更しないようにする場合などです。
日時エレメントの書式設定
日時フィールドを参照するエレメントを書式設定するには、次の手順を実行します。
- 日時フォーム エレメントを選択し、[プロパティ] ウィンドウを開きます。
- フィールドが日付フィールド タイプの場合、[入力タイプ] ドロップダウン メニューをクリックし、次のいずれかのオプションを選択します。
- [日付] - 編集者が日付を指定できます。
- [日付と時刻] - 編集者が日付と時刻を指定できます。
- [説明] フィールドに、フィールドの値が表すものを説明するテキストを入力します。
説明は、フォームのエレメントの下に表示されます。
- time only または timestamp offset エレメントの場合、フォームで編集者が入力できる時間精度を選択します。
- [hh] - 編集者が時間を入力できるようにします。
- [hh:mm] - 編集者が時間と分を入力できるようにします。
- [hh:mm:ss] - 編集者が時間、分、および秒を入力できるようにします。
注意:
秒はフィールドに格納できますが、ArcGIS Online には表示されません。
- 日付エレメントでは、必要に応じて [開始日] パラメーターと [終了日] パラメーターの値を設定すると、編集者が使用できる日付範囲を制限できます。
たとえば、年度の第 1 四半期に実施される点検を記録する新規レイヤーの日付フィールドで、開始日を年度の初日、そして終了日を当該年度の 3 月 31 日に設定します。
- 日付と時刻のエレメントでは、必要に応じて [開始時刻] パラメーターと [終了時刻] パラメーターの値を設定できます。
たとえば、営業時間中のみに使用されるフォームで開始時刻と終了時刻を制限することで、営業時間外の時刻が設定されないようにできます。
- timestamp offset エレメントを編集する際に、編集者がタイム ゾーンを指定できるようにするには、[ユーザーによるタイム ゾーンの設定を許可] チェックボックスをオンにします。
- [必須] の横にあるチェックボックスをオンにすると、編集者がフィールドに値を入力する必要があることが定義されます。
詳細については、「エレメントを必須として定義する」をご参照ください。
- 編集者がフォームを使用してこのフィールドの値を更新できないようにするには、[編集可能] チェックボックスをオフにします。
たとえば、フィールドを参照用として含めるが、編集者がフィールドの値を変更しないようにする場合などです。
数値エレメントの書式設定
エレメントで double、integer、big integer データ タイプのフィーチャ レイヤー フィールドが使用されている場合、次の手順を実行してフォーム エレメントを書式設定します。
- テキスト フォーム エレメントを選択し、[プロパティ] ウィンドウを開きます。
- [入力タイプ] ドロップダウン メニューをクリックし、次のいずれかのオプションを選択します。
- [バーコード] - これは、バーコード リーダーを備えたアプリでのみ使用できます。 この入力タイプを選択した場合、バーコードを入力として読み取ることができないアプリ (Map Viewer など) では、エレメントはデフォルト入力タイプになります。
- [数値 - Double] - レイヤーのフィールドが double として定義されており、マップの編集に使用されるアプリの入力としてバーコードが使用できず、かつ編集者が小数を入力する必要がある場合は、[数値 - Double] を選択します。
- [数値 - Integer] - レイヤーのフィールドが integer、big integer、または double として定義されており、マップの編集に使用されるアプリの入力としてバーコードが使用できず、かつ編集者が小数を入力してはならない場合は、[数値 - Integer] を選択します。
- フィールドに正しい値を入力するよう編集者に指示するテキストを表示するには、そのテキストを [プレースホルダー] フィールドに入力します。
たとえば、融資申請者の名を格納するフィールドのプレースホルダー テキストとして「申請者の名を入力」と入力することができます。
プレースホルダー テキストは入力フィールド エレメント内に表示され、編集者が指定するテキストに置換されます。
デフォルト値が定義されたフィールドには、プレースホルダー テキストは設定できません。
- [説明] フィールドに、フィールドの値が表すものを説明するテキストを入力します。
説明は、フォームのエレメントの下に表示されます。
- [必須] の横にあるチェックボックスをオンにすると、編集者がフィールドに値を入力する必要があることが定義されます。
詳細については、「エレメントを必須として定義する」をご参照ください。
- 編集者がフォームを使用してこのフィールドの値を更新できないようにするには、[編集可能] チェックボックスをオフにします。
たとえば、フィールドを参照用として含めるが、編集者がフィールドの値を変更しないようにする場合などです。
3 つ以上の値を持つリストを含むエレメントの書式設定
フィーチャ レイヤーのフィールドに、3 つ以上の値を含むリストが定義されている場合は、フォーム エレメントをコンボ ボックスまたはオプション ボタンとして表示するよう構成できます。
- 値のリストが定義されたフィールドを参照するフォーム エレメントを選択し、[プロパティ] ウィンドウを開きます。
- [書式] セクションで、[入力タイプ] ドロップダウン メニューをクリックして次のいずれかのオプションを選択します。
- [コンボ ボックス] - フォーム ユーザーは、使用可能なオプションのリストから値を選択します。
- [ラジオ ボタン] - すべてのオプションは、オプション ボタンとともにフォームに表示されます。 フォーム ユーザーは、適切なボタンをクリックします。
リストに多数の値 (たとえば、7 つ以上) が含まれる場合、コンボ ボックスでフォーム上のスペースを確保します。
- [説明] フィールドに、フィールドの値が表すものを説明するテキストを入力します。
説明は、フォームのエレメントの下に表示されます。
- [必須] の横にあるチェックボックスをオンにすると、編集者がフィールドに値を入力する必要があることが定義されます。
詳細については、「エレメントを必須として定義する」をご参照ください。
- 編集者がフォームを使用してこのフィールドの値を更新できないようにするには、[編集可能] チェックボックスをオフにします。
フォーム エレメントが編集可能ではない場合、フォームのボタンまたはリスト オプションには属性の既存の値が表示されます。 フィーチャを追加する場合、フィールドに対してデフォルト値が定義されていなければ、コンボ ボックスまたはボタン エレメントには値は表示されません。
2 つの可能な値を持つエレメントの書式設定
フィーチャ レイヤーのフィールドに、可能な値が 2 つのみ含まれるリストが定義されており、レイヤーにデフォルト値が設定されている場合は、そのエレメントをフォームの切り替えスイッチとして表示するか、コンボ ボックスまたはボタンとして表示するよう定義できます。
レイヤーのフィールドにデフォルト値が設定されていない場合は、エレメントはコンボ ボックスまたはボタンとしてフォームに表示するよう構成できます。
- 2 つの値のリストが定義されたフィールドを参照し、かつデフォルト値が定義されたフォーム エレメントを選択し、[プロパティ] ウィンドウを開きます。
- [書式] セクションで [入力タイプ] ドロップダウン メニューをクリックし、このエレメントを表示する方法を選択します。
- [コンボ ボックス] - フォーム ユーザーはドロップダウン リストから値を 1 つ選択します。
- [ラジオ ボタン] - 2 つのオプションが、ボタンとともにフォームに表示されます。 フォーム ユーザーは、適切なボタンをクリックします。
- [切り替え] - フォーム ユーザーは切り替えスイッチを有効化または無効化します。
切り替え値の横にある [値の順序の入れ替え] ボタンをクリックすると、スイッチを有効にした状態に相当する値を変更できます。
フィールドにデフォルト値が設定されておらず、入力タイプに対して [切り替え] を選択した場合は、エレメントはフォーム上にコンボ ボックスとして表示されます。
- [説明] フィールドに、フィールドの値が表すものを説明するテキストを入力します。
説明は、フォームのエレメントの下に表示されます。
- [必須] の横にあるチェックボックスをオンにすると、編集者がフィールドに値を入力する必要があることが定義されます。
詳細については、「エレメントを必須として定義する」をご参照ください。
- 編集者がフォームを使用してこのフィールドの値を更新できないようにするには、[編集可能] チェックボックスをオフにします。
フォーム エレメントが編集可能ではない場合、フォームのボタン、リスト オプション、または切り替えスイッチの設定には、属性の既存の値が表示されます。 フィーチャを追加する場合、コンボ ボックスまたはボタン エレメントには値は表示されません。 切り替えエレメントについては、フォームにデフォルト設定が表示されます。
関連レコード エレメントの書式設定
説明、並べ替え順、プレビューできる数字の書式を設定することで、フォームにおける関連レコード エレメントの表示方法をカスタマイズできます。 関連レコード エレメントを書式設定するには、次の手順を実行します。
- 関連レコード エレメントを選択し、[プロパティ] ウィンドウを開きます。
- [説明] フィールドに、フィールドの値が表すものを説明するテキストを入力します。
説明は、フォームのエレメントの下に表示されます。
- [並べ替え] ドロップダウン メニューをクリックし、関連レコードの並べ替えに使用するフィールドを選択します。
- [並べ替え順] ドロップダウン メニューをクリックし、関連レコードの並べ替え方法を選択します。
文字列、小数、整数のフィールドを基準に並べ替える場合、値を昇順か降順で並べ替えることができます。 日付フィールドを基準に並べ替える場合、値を新しい順か古い順で並べ替えることができます。
- [プレビュー数] ドロップダウン メニューをクリックし、フォームでプレビューできる関連レコードの数を選択します。
3 よりも大きい値を選択した場合、フォームで画面のスクロールが必要になる場合があるため、推奨されていません。
注意:
関連テーブルの個別のフォームを作成し、表示する関連テーブルのフィールドとそのフィールドの書式設定方法を選択できます。
エレメントを必須として定義
フィールドへのデータ入力を必須化するには、入力を必要とするようフォーム エレメントを構成します。 たとえば、すべての申請に提出日が必要である場合は、提出日エレメントを必須として構成します。
編集者がフォームを使用するときに、入力が必須のフィールドの横にアスタリスクが表示されます。値を指定しなければ編集内容を保存できません。
- フィールド フォーム エレメントをクリックし、[プロパティ] ウィンドウを開きます。
- [ロジック] セクションで、[必須] チェックボックスをオンにします。
フォーム エレメントに [* 必須] チップが表示され、編集者がこのフィールドに値を指定する必要があることを示しています。
フォームを条件付きで動的にするロジックの追加
ArcGIS Arcade 式を使用して定義した以下の論理条件に基づいて、フォームを動的にすることができます。
- 条件付きで表示 - 条件付きでフォーム エレメントを表示または非表示にします。
- 条件付きで必須 - 条件付きでフォーム エレメントへの入力を必須にします。
- 条件付きで編集可能 - 条件付きでフォーム エレメントの編集を有効化します。
- 計算済みの値 - 属性、ジオメトリ、アカウント情報に基づいてデータを自動計算します。
一度定義すると、他のフォーム エレメントで式を再利用できます。
条件付き表示設定の構成
前のフィールドで追加した値に基づき、条件付きでフォーム エレメントを表示または非表示にできます。 たとえば、建物評価フォームには水による被害があるかどうかを示すフィールドがあります。 また、水による被害に関連するフィールドを含むグループ フォーム エレメントもあります。 条件付きの表示設定の式を水による被害グループに適用することで、前のフィールドで水による被害があることが示された場合のみこのグループを表示できます。 条件付きの表示設定の式を作成するには、次の手順に従います。
- フィールド フォーム エレメントをクリックし、[プロパティ] ウィンドウを開きます。
- [ロジック] セクションで、[表示] チェックボックスの横にある [式] ボタン をクリックします。
[式] ポップアップが開き、フォームに対して以前に作成された式が表示されます。
- [新しい式] をクリックします。
[式の設定] ウィンドウが表示されます。 式の設定では、選択したフォーム エレメントに保存する前に、Arcade で式の作成とプレビューを行うことができます。
- [タイトル] テキスト ボックスで、式のタイトルを追加します。
- 式を定義します。
たとえば、前のフィールドで水による被害があることが示された場合のみ、水による被害グループ エレメントを表示する必要がある場合は、次の条件を使用して式を作成します。
- フィールド名 - [Water damage]
- 演算子 - [is]
- 値 - Yes
次に、同じ式を Arcade の構文で表した例を示します。
DomainName($feature, "water_damage") == "Yes"
Map Viewer は Arcade フォーム制約プロファイルを適用して、フィーチャが式で定義されている基準を満たしているかを評価します。 water_damage フィールドで Yes 以外の値が示された場合、水による被害グループはフォームに表示されません。
- [完了] をクリックして、式の設定を閉じます。
フォーム エレメントに [</> 表示設定] チップが表示され、条件付きの表示設定式が適用されたことを示しています。
- [保存] をクリックします。
条件付きの表示設定の式がグループまたはフィールドに適用されます。
式を保存して、その式をフォーム エレメントに適用できるようになりました。 どのエレメントが式を使用しているかを確認するには、[式] ポップアップで、その式の横にある数字をクリックします。 詳細については、「式の再利用」をご参照ください。
注意:
[式] ポップアップのオーバーフロー メニューを使用して、いつでも式を複製、編集、削除できます。
[条件付きの表示設定] メニューから、いつでも式を複製、編集、削除できます。 Arcade を使用して式を編集するには、このメニューで [Arcade の編集] をクリックします。
条件付き必須エレメントの構成
フォームに入力した以前の値に基づいて、フォーム エレメントを条件付きで必須にすることができます。 たとえば、嵐の残骸の長さが 3 メートルを超える場合のみ、残骸の説明フィールドを必須にします。
- フィールド フォーム エレメントをクリックし、[プロパティ] ウィンドウを開きます。
- [ロジック] セクションで、[必須] チェックボックスの横にある ボタン 式 をクリックします。
[式] ポップアップが開き、フォームに対して以前に作成された式が表示されます。
- [新しい式] をクリックします。
[式の設定] ウィンドウが表示されます。 式の設定では、選択したフィールドかグループに保存する前に、Arcade で式の作成とプレビューを行うことができます。
- [タイトル] テキスト ボックスで、式のタイトルを追加します。
- 式を定義します。
それぞれの式は、1 つ以上の条件で定義されます。 条件には、フィールド名、演算子、場合によっては値が含まれます。 使用可能な演算子のリストは、フィールドのタイプによって決定されます (文字列、数値、日付)。
たとえば、残骸が 3 メートルを超える場合にのみ残骸の説明フィールドを必須にする必要がある場合、次の条件を使用して式を作成することができます。
- フィールド名 - [debris_length]
- 演算子 - [より大きい]
- 値 - 3
次に、同じ式を Arcade の構文で表した例を示します。
($feature, "debris_length") > 3
注意:
より複雑な式を作成するには、[Arcade エディターの起動] をクリックします。
同じエレメントに複数の条件を適用する場合は、フォーム エレメントを必須にするにはすべての条件が満たされるべきか、または 1 つの条件のみが満たされるべきかを選択できます。
ArcGIS Online は Arcade フォーム制約プロファイルを適用して、フィーチャが式で定義されている基準を満たしているかを評価します。 3 よりも小さい値が残骸の長さフィールドに入力された場合、残骸の説明フィールドはフォームで必須にはなりません。
- [完了] をクリックして、式を保存します。
フォーム エレメントに [</> 必須] チップが表示され、必須の式が適用されたことを示しています。
式を保存して、その式をフォーム エレメントに適用できるようになりました。 どのエレメントが式を使用しているかを確認するには、[式] ポップアップで、その式の横にある数字をクリックします。 詳細については、「式の再利用」をご参照ください。
注意:
[式] ポップアップのオーバーフロー メニューを使用して、いつでも式を複製、編集、削除できます。 Arcade を使用して式を編集するには、このメニューで [Arcade の編集] をクリックします。
条件付き編集の構成
フォームに入力した以前の値に基づいて、フォーム エレメントの編集を条件付きに有効化することができます。 たとえば、編集者は date_pipe_replaced フィールドの値が yes に設定されている場合のみ、値を編集できるようにします。
- フィールド フォーム エレメントをクリックし、[プロパティ] ウィンドウを開きます。
- [ロジック] セクションで、[編集可能] チェックボックスの横にある ボタン 式 をクリックします。
[式] ポップアップが開き、フォームに対して以前に作成された式が表示されます。
- [新しい式] をクリックします。
[式の設定] ウィンドウが表示されます。 式の設定では、選択したフィールドかグループに保存する前に、Arcade で式の作成とプレビューを行うことができます。
- [タイトル] テキスト ボックスで、式のタイトルを追加します。
- 式を定義します。
それぞれの式は、1 つ以上の条件で定義されます。 条件には、フィールド名、演算子、場合によっては値が含まれます。 使用可能な演算子のリストは、フィールドのタイプによって決定されます (文字列、数値、日付)。
たとえば、pipe_replaced フィールド値が yes のときにのみパイプ交換の日付を編集可能にする場合、次の条件を使用して式を作成できます。
- フィールド名 - [pipe_replaced]
- 演算子 - [is]
- 値 - yes
次に、同じ式を Arcade の構文で表した例を示します。
($feature, "pipe_replaced") == "yes"
ArcGIS Online は Arcade フォーム制約プロファイルを適用して、フィーチャが式で定義されている基準を満たしているかを評価します。 調査 ID フィールドに 4367 以外の値が入力された場合、フォーム内のパイプ ID フィールドは編集不可になります。注意:
より複雑な式を作成するには、[Arcade エディターの起動] をクリックします。
複数の条件を使用する場合は、フォーム エレメントを編集可能にするにはすべての条件が満たされるべきか、または 1 つの条件のみが満たされるべきかを選択できます。
- [完了] をクリックします。
フォーム エレメントに [</> 編集可能] チップが表示され、必須の式が適用されたことを示しています。
式を保存して、その式をフォーム エレメントに適用できるようになりました。 どのエレメントが式を使用しているかを確認するには、[式] ポップアップで、その式の横にある数字をクリックします。 詳細については、「式の再利用」をご参照ください。
注意:
[式] ポップアップのオーバーフロー メニューを使用して、いつでも式を複製、編集、削除できます。 Arcade を使用して式を編集するには、このメニューで [Arcade の編集] をクリックします。
式を追加してフィールド値を計算
計算する式をフォームに追加して、自動的にデータを計算し、入力することができます。 このようにフィールド値の計算を自動化することによって、編集者の時間を省き、データ整合性を強制します。
Arcade を使用して、フィーチャ属性およびジオメトリに基づいて、計算する式を構築します。 たとえば、計算する式を、橋の検査スケジュールの日付を格納するフィールドに追加することができます。 編集者が、橋の状態フィールドの値を damaged に設定した場合、たとえば、検査日付を橋の検査フィールドに入力することによって、検査日付フィールドに定義された式が、1 週間後に行われる次の検査を自動的にスケジュールすることができます。
計算する式は動的です。つまり、情報が変化するときにフォームを自動的に更新します。 その結果、編集者は、フォームを送信する前に、更新された計算を表示することができます。 計算する式フィールド内の値が式によって入力されるため、編集者は、フォーム内のそのフィールドの値を入力することができません。
計算する式を作成するには、次の手順に従います。
- フィールド フォーム エレメントをクリックし、[プロパティ] ウィンドウを開きます。
注意:
フォーム エレメントに対して編集が有効になっている場合、式は実行されません。
- [ロジック] セクションで、[計算済みの値] セクションにある [式] ボタン をクリックします。
- [新しい式] をクリックします。
[Arcade エディター] ウィンドウが表示されます。 エディターでは、選択したフォーム エレメントに保存する前に、式の作成とテストを行うことができます。
- [タイトル] テキスト ボックスで、式のタイトルを追加します。
- 計算される式を作成します。
たとえば、次の式は、面積を平方メートル単位で計算する前に、ポリゴン フィーチャ ジオメトリが NULL かどうかをチェックします。 その他の例については次のセクションで説明します。
Arcade を使用した面積の計算の詳細については、「面積 (ジオメトリ関数)」をご参照ください。if (IsEmpty(Geometry($feature))){ return; } else{ Area($feature, 'square-meters') }
Arcade で提供されるすべての関数のリストについては、「Arcade 関数インデックス」をご参照ください。
- [実行] をクリックして式をテストし、式の結果がエラーにならないことを確認します。
- [完了] をクリックし、Arcade エディターを閉じます。
フォーム エレメントに [</> 計算済み] チップが表示され、計算済みの式が適用されたことを示しています。
- [保存] をクリックして式とフォームを保存します。
式を保存したら、次は、いずれかのフォーム エレメントを選択し、作成した式をクリックして、その式をフォーム エレメントに適用できます。 どのエレメントが Arcade 式を使用しているかを確認するには、[プロパティ] ウィンドウの [計算式] で、その式の横にある番号をクリックします。
注意:
[計算式] メニューから、いつでも式を複製、編集、削除できます。
計算される式の例
次に、計算される式の例を示します。
- 日付情報の入力 - 次の式は、日付フィールドに現在の日付を入力します。
Arcade を使用してアクセスできる日付情報の詳細については、「日付関数」をご参照ください。return Today();
- 交差レイヤーから情報を抽出する - 次の式は、フォーム内の郵便番号フィールドに適用され、交差する区画レイヤーから zipcode 値を抽出します。
Arcade を使用した交差レイヤーからの情報の抽出の詳細については、「Intersects (ジオメトリ関数)」をご参照ください。if (IsEmpty(Geometry($feature))){ return; } else{ var parcels_FS = Intersects($feature, FeatureSetByName($map,"Redlands parcels")); if (Count(parcels_FS) == 1){ return Text(First(parcels_FS).ZIP_CODE); } }
Arcade で提供されるすべての関数のリストについては、「Arcade 関数インデックス」をご参照ください。
式の再利用
式を作成した後、その式をフォーム エレメント間で再利用することができます。 たとえば、あるフォーム エレメントを条件付きで表示するために使用した式に基づいて、別のフォーム エレメントを必須にしたり、同じ計算を使用して複数のフィールドに値を設定したりできます。
既存の式をフォーム エレメントに使用するには、次の手順に従います。
- フォームの構成中に、フォーム エレメントをクリックして [プロパティ] ウィンドウを開きます。
- [ロジック] セクションで、追加する式のタイプの横にある [式] ボタン をクリックします。
[式] ポップアップまたは [式の計算] ポップアップが開き、フォームに対して以前に作成された式が表示されます。
ヒント:
式の横にある数字は、その式が現在適用されているフォーム エレメントの数を示しています。 この数字をクリックすると別のポップアップが開き、現在その式を使用しているフォーム エレメントとそのプロパティが表示されます。
式のタイプを表示しているチップの [X] をクリックすると、任意のフォーム エレメント プロパティから式を削除することができます。
- 適用する式を選択します。
フォーム エレメントにチップが表示され、式が適用されたことを示しています。