属性の編集のためのフォームの構成 (Map Viewer)

マップに編集可能なフィーチャ (ホスト フィーチャ レイヤー、ホスト フィーチャ レイヤー ビュー、ホスト テーブル レイヤー、または ArcGIS Server フィーチャ レイヤー) が含まれている場合、編集者が Web マップのフィーチャ レイヤーのフィールド値を更新するときに使用できるフォームを定義できます。 フォームは、マップで編集可能なすべてのフィーチャ レイヤーに対して定義することも、マップのユーザーが編集する必要があるレイヤーのみに対して定義することもできます。

フォームを作成する際、フォームの中に含まれるフォーム エレメントと、エレメントの表示方法を指定します。 フォームがあると、編集者を正しいフィールドや、編集可能フィールドで許可されている属性値に誘導することができます。

フォームは、マップの一部として保存されます。 マップを共有すると、他のユーザーも、マップのフィーチャ レイヤーやテーブル レイヤーを編集するために定義されたフォームを使用できるようになります。

注意:

現時点では、ArcGIS Online および ArcGIS EnterpriseMap ViewerArcGIS Field Maps の Web アプリでフォームを構成できます。

フォームを使用し、ArcGIS OnlineArcGIS Enterprise、および ArcGIS Field Maps モバイル アプリの Map Viewer のフィーチャ レイヤーを編集できます。

フォームを作成する前に

マップのフィーチャ レイヤーのフォームを作成する前に、レイヤーのコンテンツとフィールド設定を理解しておく必要があります。 フィールドに含まれているものによって、フィールドのエレメント グループを作成できるかどうかが変わります。 フィールドに適用される設定 (NULL 値を許可するかどうか、デフォルト値の有無、レイヤー所有者がフィールドのリストを定義したかどうかなど) は、フォームのフィールド エレメントの書式設定を左右します。

フォームの作成

マップの編集可能なフィーチャ レイヤーのそれぞれに対して、入力フォームを作成できます。 フォームに表示されるフィールド (エレメント) と、その配置を定義できます。

編集者が、編集可能なフィーチャ レイヤーのフィーチャを選択するとフォームが表示されるので、編集者はそのレイヤーの属性値を入力できます。

編集可能なフィーチャ レイヤーのフォームを作成するには、次の手順に従います。

  1. サイン インしていることと、コンテンツを作成する権限を持っていることを確認します。
  2. [コンテンツ] (暗い背景の) ツールバーにある [レイヤー] をクリックして [レイヤー] ウィンドウを開きます。
  3. マップに編集可能なフィーチャ レイヤーを追加します。
  4. 編集可能なフィーチャ レイヤーを選択した状態で、[設定] (明るい背景の) ツールバーの [フォーム] フォーム をクリックします。

    [フォームの構成] ウィンドウが表示されます。

  5. 次のオプションを単独で、または組み合わせて使用し、フォームにエレメントを追加します。

    フォーム エレメントとは、フォームに表示されるフィールドのグループと入力フィールドのことです。 フィールド エレメントは、フィーチャ レイヤーの既存のフィールドに基づいています。

    • 既存のポップアップを変換する - フィーチャ レイヤーのポップアップを構成した場合、既存のポップアップ構成を使って、フォームの構成を始めることができます。
    • フィールドの追加 - レイヤーのどのフィールドをフォームに追加するか選択します。 フォーム キャンバスにフィールドを追加すると、そのフィールドはフォーム エレメントになります。
    • エレメントのグループの作成 - 展開および折りたたみが可能なグループ エレメントを作成し、論理的に関連する情報をフォームでまとめておくことができます。
    • 条件値フィールド グループの追加 - フィーチャ レイヤーのデータに条件値が定義されている場合、[フィールド グループ] リストが [フォーム ビルダー] に表示されます。 これにより、論理的に関連するフィールドのグループを 1 つのステップでフォーム キャンバスに追加できます。
  6. フィールドとグループをフォーム キャンバスのエレメントとして追加したら、各エレメントを書式設定します。
  7. あるいは、Arcade 式を作成し、エレメントをフォームに表示したり、非表示にしたりする条件を定義することもできます。
  8. フォーム上のエレメントの条件式の追加、書式設定、構成を終了したら、[OK] をクリックしてフォームを作成します。
  9. マップを保存します。

    注意:

    マップを保存せずに終了すると、フォームは失われます。

フォームを作成後に変更する場合は、上記の手順を繰り返します。 フォームを編集した後は、必ずマップを保存してください。

既存のポップアップの変換

フィーチャ レイヤーにポップアップが構成されている場合は、[ポップアップの変換] をクリックし、フィールドをポップアップからフォーム キャンバスに追加します。

ポップアップ構成に含まれないフィールドは [フォーム ビルダー][フィールド] リストに表示されます。 これらのフィールドをフォーム キャンバスにドラッグして、フォームのエレメントとして追加することもできます。詳しくは、次のセクションをご参照ください。

フィールドをフォームのエレメントとして追加したら、グループを作成して関連フィールドを集約するか、フィールド エレメントの書式設定を行えます。

注意:

高精度 GPS メタデータを含むフィールドは、既存のポップアップからインポートされた場合にのみ、フォームに表示することができます。 これらのフィールドは GPS デバイスからのみ入力する必要があるため、対応するフォーム エレメントの編集は無効化します。

フィールドの追加

レイヤーのフィールドのうち、フォーム エレメントとして編集者に表示するものを選択します。 ほとんどの場合、編集者が値を更新するために使用するフィールドを追加します。

たとえば、フィーチャ レイヤーに [サイト名]、[サイト タイプ]、[ビルドの状態]、[景観]、[編集日]、[編集者名]、[作成日]、[作成者名]、[ID]、[形状] などのフィールドが含まれている場合は、[サイト名]、[サイト タイプ]、[ビルドの状態]、[景観] フィールドのみをフォームに配置します。[編集日]、[編集者名]、[作成日]、[作成者名]、[ID] の各フィールドは自動的に入力され、[形状] フィールドは、編集者がレイヤーにフィーチャを追加したときに入力されます。

また、参照用のフィールドを追加し、フォーム エレメントで編集を無効にすることもできます。 前の例では、フォームで編集できないエレメントとして [編集日] フィールドを含めると、編集者はフィーチャの最終更新日を確認できます。

  1. 次のいずれかの方法で、フォームのエレメントとしてフィールドを追加します。
    • フォームにすべてのフィールドを追加する - [フィールド] リストの [すべて追加] をクリックすると、フォームのレイヤーのすべてのフィールドを含めることができます。 レイヤーに編集可能なフィールドが多数ある場合、個々のフィールドを追加するよりも、すべてのフィールドを追加してからシステム フィールドや編集できないフィールドを削除する方が手間を省くことができます。
    • フィールド セットをフォームに追加する - 特定のフィールド セットをフォームに含めるには、Ctrl キーを押しながら対象のフィールドをクリックし、フォーム キャンバスにドラッグします。
    • フィールドを 1 つずつ追加する - フォームにフィールドを 1 つ追加するには、そのフィールドをダブルクリックするか、フォーム キャンバスにドラッグします。

    ヒント:

    レイヤーまたはテーブルに多数のフィールドが含まれている場合は、[フィールド] リストの [フィールドの検索] 検索バーを使用して、特定のフィールドを見つけることができます。

  2. 必要に応じて、フィールドをフォームのエレメントとして追加したら、グループを作成するか (次のセクションをご参照ください)、フォーム エレメントの書式設定に進みます。

エレメントのグループの作成

関連するフィールドをグループ化し、フォーム上で 1 か所にまとめておくには、グループ エレメントを作成します。 エレメントのグループ化は、紙のフォームで質問を同じセクションにまとめる操作と似ています。 デジタル フォームのグループには、グループを折りたたんで見出しのみを表示し、ユーザーがグループを展開した場合にのみフォームを表示できるという利点があります。

たとえば、ハイキング コースのフィーチャ レイヤーのコンテンツを更新するフォームで、ハイキング コースのプロパティ (ハイキング コースの名前、タイプ、難易度など) に関連するすべてのフィールドをグループ化するなどです。 ハイキング コースのメンテナンス情報 (メンテナンス担当者名、メンテナンスの最終実施日、実施したメンテナンスに関する説明など) を記録するフィールドのグループを別途作成することもできます。 グループを折りたたんだ状態のフォームを展開しなければ、編集者には 2 つのグループ名しか表示されません。

関連するエレメントを、フォームの折りたたみ可能なセクションにグループ化するには、次の手順を実行します。

  1. [フォーム エレメント] リストからフォーム キャンバスに [グループ] エレメントをドラッグします。

    フォーム エレメントがフォーム キャンバスに追加されます。

  2. 関連するフィールドをグループにドラッグします。

    [フォーム ビルダー] ウィンドウの [フィールド] リストまたはフォーム キャンバスから、フィールドをドラッグできます。

  3. グループ エレメントを選択してプロパティを編集します。

    表示される [プロパティ] ウィンドウでは以下の情報を編集できます。

    • [表示名] - グループに含まれているフィールドを説明する名前を入力します。 これは、紙のフォームのセクション見出しに似ています。 この値は必須です。
    • [説明] - グループの説明を入力します。
    • [初期状態] - デフォルトでは、フォームを開くとグループは展開されます。つまり、すべてのフィールドが自動的に表示されます。 初期状態でグループを折りたたんでおくには、[展開] チェックボックスをオフにします。 グループをクリックして展開すると、そこに含まれるフィールドが表示されます。
    • [条件付きの表示設定] - Arcade 属性条件式を追加して、フォームにグループを表示するタイミングに関するルールを適用します。 詳細については、「条件付き表示設定の構成」をご参照ください。

ヒント:

グループ ツールバーの [グループ解除] を選択することで、グループからすべてのフォーム エレメントを削除できます。 グループから複数のエレメントを削除するには、Ctrl キーを押しながら削除する各エレメントを選択し、グループの外にドラッグします。

条件フィールド グループをフォームに追加

データ所有者がデータに対して ArcGIS Pro で条件フィールド グループを作成した場合、条件フィールド グループがフォーム キャンバスの横にある [フィールド グループ] リストに表示されます。

フィールドは関連しており、あるフィールドの値が他のフィールドに設定できる値を決定または制限するため、条件フィールドを [フィールド グループ] リストから追加すると、グループ エレメント内のフォームに追加されます。 条件フィールドは、後から編集者が Map Viewer で記入できるよう、グループ化したままにしてください。 フィールド グループからフィールドを削除すると、警告が表示されます。

1 つ以上のフィールドを共有する条件フィールド グループはまとめてリストされます。 1 つのフィールド グループとしてフォームに追加されます。

フォームに追加する必要があるフィールド グループは、リストの [必須] セクションに表示されます。 フィールド グループは、ArcGIS Pro制限付きとして構成された場合、必須になります。この場合、このフィールド グループのフィールドを編集する際に編集者が入力する属性値は、条件値の定義に従う必要があります。

注意:

フォーム キャンバスに必須の条件フィールド グループを追加しない場合、編集者がそのフォームを使用してフィーチャ レイヤーを編集することはできません。

ArcGIS Pro で条件フィールド グループを作成する方法の詳細については、「条件値の作成と管理」をご参照ください。

フォームに条件値フィールド グループを追加するには、次の手順を実行します。

  1. 次のいずれかの方法で、フォームにフィールド グループを追加します。
    • フィールドを 1 つずつ追加する - フォームにフィールド グループを 1 つ追加するには、そのフィールドをダブルクリックするか、フォーム キャンバスにドラッグします。
    • フィールド グループのセットをフォームに追加する - 特定のフィールド グループのセットをフォームに追加するには、Ctrl キーを押しながら対象のフィールド グループをクリックし、フォーム キャンバスにドラッグします。
    • フォームにすべてのフィールド グループを追加する - [フィールド グループ] リストの [すべて追加] をクリックすると、フォームのレイヤーのすべてのフィールドを含めることができます。

    ヒント:

    レイヤーまたはテーブルに多数のフィールド グループが含まれている場合は、[フィールド グループ] リストの [フィールド グループの検索] 検索バーを使用して、特定のフィールドを見つけることができます。

  2. フィールド グループをフォームにエレメントとして追加したら、グループ エレメントの書式設定フィールド エレメントの書式設定を行います。

フォーム エレメントへの書式設定の適用

フォーム キャンバスのフォーム エレメントを選択すると、[プロパティ] ウィンドウが表示されます。

前のセクションで、グループ エレメントのプロパティの設定について説明しました。

フィールド エレメントの [プロパティ] ウィンドウの [書式] セクションには、フォームのエレメントに対して定義できるプロパティと、レイヤーから継承されるプロパティ (フォームで変更できない) が表示されます。 次のセクションに、フォームのフィールド エレメントに対して定義できるプロパティを示します。

表示名の定義

すべてのフォーム エレメントには、[表示名] 設定の値が必要です。 表示名とは、フォームのエレメントに付属するラベルのことです。

フィールドのデフォルトの表示名は、フィールド名と同じです。 デフォルトをそのまま使用することもできますが、各フィールドに対して説明的でユーザーにわかりやすい名前を入力することもできます。

テキスト エレメントの書式設定

フォーム エレメントが文字列フィールドを参照する場合、次の手順を実行し、エレメントを書式設定します。

  1. テキスト フォーム エレメントを選択し、[プロパティ] ウィンドウを開きます。
  2. [入力タイプ] ドロップダウン メニューをクリックし、次のいずれかのオプションを選択します。
    • [バーコード] - これは、バーコード リーダーを備えたアプリでのみ使用できます。 この入力タイプを選択した場合、バーコードを入力として読み取ることができないアプリ (Map Viewer など) では、エレメントは 1 行テキストになります。
    • [テキスト - 単一行] -フォームの入力フィールドは、単一行のテキストになります。
    • [テキスト - 複数行] - フォームの入力フィールドは、複数行に対応した高さになります。 最大長が大きいテキスト フィールドにはこの入力タイプを使用し、編集者がフィールド内のすべてのテキストを確認できるようにします。
  3. フィールドに正しい値を入力するよう編集者に指示するテキストを表示するには、そのテキストを [プレースホルダー] フィールドに入力します。

    たとえば、融資申請者の名を格納するフィールドのプレースホルダー テキストとして「申請者の名を入力」と入力することができます。

    プレースホルダー テキストは入力フィールド エレメント内に表示され、編集者が指定するテキストに置換されます。

    デフォルト値が定義されたフィールドには、プレースホルダー テキストは設定できません。

  4. [説明] フィールドに、フィールドの値が表すものを説明するテキストを入力します。

    説明は、フォームのエレメントの下に表示されます。

  5. エレメントの [最小長] (最小文字数) と [最大長] (最大文字数) を設定します。

    場合によっては、フィーチャ レイヤーは、フィールドに対して適切な長さではない、デフォルトのテキスト フィールド サイズで公開されることがあります。 たとえば、フィールドの値が「はい」、「いいえ」、「不明」に限られているにもかかわらず、フィーチャ レイヤーのフィールド長が 256 文字である場合などです。 この場合、編集者に「y」、「n」、「u」のみを入力させるには、フィールドの値を編集する際に、最小値と最大値を 1 として設定します。

    最大文字長を、フィールド長よりも多く設定することはできません。

  6. [必須] の横にあるチェックボックスをオンにすると、編集者がフィールドに値を入力する必要があることが定義されます。

    詳細については、「エレメントを必須として定義する」をご参照ください。

  7. 編集者がフォームを使用してこのフィールドの値を更新できないようにするには、[編集の許可] をオフにします。

    たとえば、フィールドを参照用として含めるが、編集者がフィールドの値を変更しないようにする場合などです。

日付エレメントの書式設定

日付ピッカーまたは日付/時刻ピッカーを使用するよう、日付エレメントを構成できます。 また、開始日と終了日を指定することで、日付値の許容範囲を設定することもできます。

日付フィールドを参照するエレメントを書式設定するには、次の手順を実行します。

  1. 日付フォーム エレメントを選択し、[プロパティ] ウィンドウを開きます。
  2. [入力タイプ] ドロップダウン メニューをクリックし、次のいずれかのオプションを選択します。
    • [日付] - 編集者が日付を指定できます。
    • [日付と時刻] - 編集者が日付と時刻を指定できます。
  3. [説明] フィールドに、フィールドの値が表すものを説明するテキストを入力します。

    説明は、フォームのエレメントの下に表示されます。

  4. 日付エレメントでは、必要に応じて [開始日] パラメーターと [終了日] パラメーターの値を設定すると、編集者が使用できる日付範囲を制限できます。

    たとえば、年度の第 1 四半期に実施される点検を記録する新規レイヤーの日付フィールドで、開始日を年度の初日、そして終了日を当該年度の 3 月 31 日に設定します。

  5. 日付と時刻のエレメントでは、必要に応じて [開始時刻] パラメーターと [終了時刻] パラメーターの値を設定できます。

    たとえば、営業時間中のみに使用されるフォームで開始時刻と終了時刻を制限することで、営業時間外の時刻が設定されないようにできます。

  6. [必須] の横にあるチェックボックスをオンにすると、編集者がフィールドに値を入力する必要があることが定義されます。

    詳細については、「エレメントを必須として定義する」をご参照ください。

  7. 編集者がフォームを使用してこのフィールドの値を更新できないようにするには、[編集の許可] をオフにします。

    たとえば、フィールドを参照用として含めるが、編集者がフィールドの値を変更しないようにする場合などです。

数値エレメントの書式設定

エレメントで double または integer データ タイプのフィーチャ レイヤー フィールドが使用されている場合、次の手順を実行してフォーム エレメントを書式設定します。

  1. テキスト フォーム エレメントを選択し、[プロパティ] ウィンドウを開きます。
  2. [入力タイプ] ドロップダウン メニューをクリックし、次のいずれかのオプションを選択します。
    • [バーコード] - これは、バーコード リーダーを備えたアプリでのみ使用できます。 この入力タイプを選択した場合、バーコードを入力として読み取ることができないアプリ (Map Viewer など) では、エレメントはデフォルト入力タイプになります。
    • [数値 - Double] - レイヤーのフィールドが double として定義されており、マップの編集に使用されるアプリの入力としてバーコードが使用できず、かつ編集者が小数を入力する必要がある場合は、[数値 - Double] を選択します。
    • [数値 - Integer] - レイヤーのフィールドが integer または double として定義されており、マップの編集に使用されるアプリの入力としてバーコードが使用できず、かつ編集者が小数を入力してはならない場合は、[数値 - Integer] を選択します。
  3. フィールドに正しい値を入力するよう編集者に指示するテキストを表示するには、そのテキストを [プレースホルダー] フィールドに入力します。

    たとえば、融資申請者の名を格納するフィールドのプレースホルダー テキストとして「申請者の名を入力」と入力することができます。

    プレースホルダー テキストは入力フィールド エレメント内に表示され、編集者が指定するテキストに置換されます。

    デフォルト値が定義されたフィールドには、プレースホルダー テキストは設定できません。

  4. [説明] フィールドに、フィールドの値が表すものを説明するテキストを入力します。

    説明は、フォームのエレメントの下に表示されます。

  5. [必須] の横にあるチェックボックスをオンにすると、編集者がフィールドに値を入力する必要があることが定義されます。

    詳細については、「エレメントを必須として定義する」をご参照ください。

  6. 編集者がフォームを使用してこのフィールドの値を更新できないようにするには、[編集の許可] をオフにします。

    たとえば、フィールドを参照用として含めるが、編集者がフィールドの値を変更しないようにする場合などです。

3 つ以上の値を持つリストを含むエレメントの書式設定

フィーチャ レイヤーのフィールドに、3 つ以上の値を含むリストが定義されている場合は、フォーム エレメントをコンボ ボックスまたはオプション ボタンとして表示するよう構成できます。

  1. 値のリストが定義されたフィールドを参照するフォーム エレメントを選択し、[プロパティ] ウィンドウを開きます。
  2. [書式] セクションで、[入力タイプ] ドロップダウン メニューをクリックして次のいずれかのオプションを選択します。
    • [コンボ ボックス] - フォーム ユーザーは、使用可能なオプションのリストから値を選択します。
    • [ラジオ ボタン] - すべてのオプションは、オプション ボタンとともにフォームに表示されます。 フォーム ユーザーは、適切なボタンをクリックします。

    リストに多数の値 (たとえば、7 つ以上) が含まれる場合、コンボ ボックスでフォーム上のスペースを確保します。

  3. [説明] フィールドに、フィールドの値が表すものを説明するテキストを入力します。

    説明は、フォームのエレメントの下に表示されます。

  4. [必須] の横にあるチェックボックスをオンにすると、編集者がフィールドに値を入力する必要があることが定義されます。

    詳細については、「エレメントを必須として定義する」をご参照ください。

  5. 編集者がフォームを使用してこのフィールドの値を更新できないようにするには、[編集の許可] をオフにします。

    フォーム エレメントが編集可能ではない場合、フォームのボタンまたはリスト オプションには属性の既存の値が表示されます。 フィーチャを追加する場合、フィールドに対してデフォルト値が定義されていなければ、コンボ ボックスまたはボタン エレメントには値は表示されません。

2 つの可能な値を持つエレメントの書式設定

フィーチャ レイヤーのフィールドに、可能な値が 2 つのみ含まれるリストが定義されており、レイヤーにデフォルト値が設定されている場合は、そのエレメントをフォームの切り替えスイッチとして表示するか、コンボ ボックスまたはボタンとして表示するよう定義できます。

レイヤーのフィールドにデフォルト値が設定されていない場合は、エレメントはコンボ ボックスまたはボタンとしてフォームに表示するよう構成できます。

  1. 2 つの値のリストが定義されたフィールドを参照し、かつデフォルト値が定義されたフォーム エレメントを選択し、[プロパティ] ウィンドウを開きます。
  2. [書式] セクションで [入力タイプ] ドロップダウン メニューをクリックし、このエレメントを表示する方法を選択します。
    • [コンボ ボックス] - フォーム ユーザーはドロップダウン リストから値を 1 つ選択します。
    • [ラジオ ボタン] - 2 つのオプションが、ボタンとともにフォームに表示されます。 フォーム ユーザーは、適切なボタンをクリックします。
    • [切り替え] - フォーム ユーザーは切り替えスイッチを有効化または無効化します。

      切り替え値の横にある [値の順序の入れ替え] ボタンをクリックすると、スイッチを有効にした状態に相当する値を変更できます。

      フィールドにデフォルト値が設定されておらず、入力タイプに対して [切り替え] を選択した場合は、エレメントはフォーム上にコンボ ボックスとして表示されます。

  3. [説明] フィールドに、フィールドの値が表すものを説明するテキストを入力します。

    説明は、フォームのエレメントの下に表示されます。

  4. [必須] の横にあるチェックボックスをオンにすると、編集者がフィールドに値を入力する必要があることが定義されます。

    詳細については、「エレメントを必須として定義する」をご参照ください。

  5. 編集者がフォームを使用してこのフィールドの値を更新できないようにするには、[編集の許可] をオフにします。

    フォーム エレメントが編集可能ではない場合、フォームのボタン、リスト オプション、または切り替えスイッチの設定には、属性の既存の値が表示されます。 フィーチャを追加する場合、コンボ ボックスまたはボタン エレメントには値は表示されません。 切り替えエレメントについては、フォームにデフォルト設定が表示されます。

エレメントを必須として定義する

フィールドへのデータ入力を必須化するには、入力を必要とするようフォーム エレメントを構成します。 たとえば、すべての申請に提出日が必要である場合は、提出日エレメントを必須として構成します。

編集者がフォームを使用するときに、入力が必須のフィールドの横にアスタリスクが表示されます。値を指定しなければ編集内容を保存できません。

  1. フィールド フォーム エレメントをクリックし、[プロパティ] ウィンドウを開きます。
  2. [必須] の横にあるチェックボックスをオンにし、フィーチャ レイヤーで NULL 値を許可するかどうかを定義します。
    • [はい] - フィーチャ レイヤーのフィールドで NULL 値を許可するものの、フォームで編集する際に、編集者がフィールド エレメントのエントリを入力する必要がある場合は、このオプションを選択します。
    • [いいえ] - フィーチャ レイヤーのフィールドが NULL 値を許可しないよう構成されている場合は、このオプションを選択します。

式の定義

ArcGIS Arcade 式を使用して定義した以下の論理条件に基づいて、フォームを動的にすることができます。

  • 条件付きで表示 - 条件付きでフォーム エレメントを表示または非表示にします。
  • 計算済みの値 - 属性、ジオメトリ、アカウント情報に基づいてデータを自動計算します。

条件付き表示設定の構成

前のフィールドで追加した値に基づき、条件付きでフォーム エレメントを表示または非表示にできます。 たとえば、建物評価フォームには水による被害があるかどうかを示すフィールドがあります。 また、水による被害に関連するフィールドを含むグループ フォーム エレメントもあります。 条件付きの表示設定の式を水による被害グループに適用することで、前のフィールドで水による被害があることが示された場合のみこのグループを表示できます。 条件付きの表示設定の式を作成するには、次の手順に従います。

  1. フィールド フォーム エレメントをクリックし、[プロパティ] ウィンドウを開きます。
  2. [条件付きの表示設定] セクションで [+ 式の追加] をクリックします。

    [式の編集] ウィンドウが開きます。

  3. 次のいずれかの方法で式を作成します。
    • ドロップダウン メニューを使用してフィールド、演算、値を選択して式を作成します。
    • [Arcade エディターの起動] をクリックし、Arcade エディターで Arcade 式を記述します。 これは、より複雑な式で便利です。

    それぞれの式は、1 つ以上の条件で定義されます。 条件には、フィールド名、演算子、および場合によっては値が含まれます。 使用可能な演算子のリストは、フィールドのタイプによって決定されます (文字列、数値、日付)。

    たとえば、前のフィールドで水による被害があることが示されて場合のみ、水による被害グループ エレメントを表示する必要がある場合は、次の条件を使用して式を作成します。

    • フィールド名 - [Water damage]
    • 演算子 - [is]
    • 値 - Yes

    次に、同じ式を Arcade の構文で表した例を示します。

    DomainName($feature, "water_damage") == "Yes"
    

    Map ViewerArcade 制約プロファイルを適用して、フィーチャが式で定義されている基準を満たしているかを評価します。 water_damage フィールドで Yes 以外の値が示された場合、水による被害グループはフォームに表示されません。

  4. 2 つ以上の条件を適用するには、[条件の追加] をクリックし、前の手順を繰り返します。

    注意:

    複数の条件を定義する場合は、フォーム エレメントを表示するにはすべての条件が満たされるべきか ([すべての条件に一致]) または 1 つの条件のみが満たされるべきか ([少なくとも 1 つの条件に一致]) を選択します。

  5. [保存] をクリックします。

    条件付きの表示設定の式がグループまたはフィールドに適用されます。

    式を保存したら、次は、いずれかのフォーム エレメントを選択し、作成した式をクリックして、その式をフォーム エレメントに適用できます。 どのエレメントが式を使用しているかを確認するには、[プロパティ] ウィンドウの [条件付きの表示設定] で、その式の横にある番号をクリックします。

[条件付きの表示設定] メニューから、いつでも式を複製、編集、削除できます。 Arcade を使用して式を編集するには、このメニューで [編集 (上級者向け)] をクリックします。

式を追加してフィールド値を計算する

計算される式をフォームに追加して、自動的にデータを計算し、入力することができます。 このようにフィールド値の計算を自動化することによって、編集者の時間を省き、データ整合性を強制します。

Arcade を使用して、フィーチャ属性およびジオメトリに基づいて、計算される式を構築します。 たとえば、計算される式を、橋の検査スケジュールの日付を格納するフィールドに追加することができます。 編集者が、橋の状態フィールドの値を damaged に設定した場合、たとえば、検査日付を橋の検査フィールドに入力することによって、検査日付フィールドに定義された式が、1 週間後に行われる次の検査を自動的にスケジュールすることができます。

計算される式は動的です。つまり、情報が変化するときにフォームを自動的に更新します。 その結果、編集者は、フォームを送信する前に、更新された計算を表示することができます。 計算される式フィールド内の値が式によって入力されるため、編集者は、フォーム内のそのフィールドの値を入力することができません。

計算される式を作成するには、次の手順に従います。

  1. フィールド フォーム エレメントをクリックし、[プロパティ] ウィンドウを開きます。
    注意:

    フォーム エレメントに対して編集が有効になっている場合、式は実行されません。

  2. [計算式] セクションで [条件式の追加] をクリックします。

    Arcade エディターが表示されます。 Arcade エディターでは、選択したフォーム エレメントに保存する前に、式の作成とテストを行うことができます。

  3. タイトルの横にある [編集] をクリックして式のタイトルを入力します。
  4. 計算される式を作成します。

    たとえば、次の式は、面積を平方メートル単位で計算する前に、ポリゴン フィーチャ ジオメトリが NULL かどうかをチェックします。 その他の例については次のセクションで説明します。

    if (IsEmpty(Geometry($feature))){
        return;
    }
    else{
        Area($feature, 'square-meters')
    }
    
    Arcade を使用した面積の計算の詳細については、「面積 (ジオメトリ関数)」をご参照ください。

    Arcade で提供されるすべての関数のリストについては、「Arcade 関数インデックス」をご参照ください。

  5. [テスト] をクリックして、式の結果がエラーにならないことを確認します。
  6. [OK] をクリックして、Arcade エディターを閉じます。

    計算される式がフォーム エレメントに適用されます。

  7. [保存] をクリックして式とフォームを保存します。

    式を保存したら、次は、いずれかのフォーム エレメントを選択し、作成した式をクリックして、その式をフォーム エレメントに適用できます。 どのエレメントが Arcade 式を使用しているかを確認するには、[プロパティ] ウィンドウの [計算式] で、その式の横にある番号をクリックします。

    注意:

    [計算式] メニューから、いつでも式を複製、編集、削除できます。

計算される式の例

次に、計算される式の例を示します。

  • 日付情報の入力 - 次の式は、日付フィールドに現在の日付を入力します。
    return Today();
    
    Arcade を使用してアクセスできる日付情報の詳細については、「日付関数」をご参照ください。
  • 交点レイヤーから情報を抽出する - 次の式は、フォーム内の郵便番号フィールドに適用され、交点パーセル レイヤーから zipcode 値を抽出します。
    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 で提供されるすべての関数のリストについては、「Arcade 関数インデックス」をご参照ください。