属性の編集のためのフォームの作成 (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. 次のオプションを単独で、または組み合わせて使用し、フォームにエレメントを追加します。

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

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

    注意:

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

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

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

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

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

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

注意:

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

フィールドの追加

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

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

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

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

    ヒント:

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

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

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

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

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

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

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

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

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

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

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

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

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

ヒント:

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

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

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

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

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

表示名の定義

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

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

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

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

  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 値を許可します] - 編集者がフィールド エレメントに入力する必要があるが、フィーチャ レイヤーのフィールドで NULL 値が許可されている場合は、このオプションを選択します。

条件付き表示設定の構成

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

  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 を使用して式を編集するには、このメニューで [編集 (上級者向け)] をクリックします。