条件値の作成と管理

条件値は条件属性値と呼ばれることもあり、1 つのフィールド内の値をもう 1 つのフィールド内の値に応じて決定することができるデータ設計機能です。 属性ドメインを使用して、1 つのフィールド内の有効な入力を値の設定済みリストまたは範囲に制限できます。 条件値では、1 つのフィールド内の値を選択すると、もう 1 つのフィールドに入力可能なドメイン値が制限されるため、このモデルが拡張します。 このように、条件値では、さらに制約を適用して、フィールドに入力できる有効な値の数を少なくすることにより、データの整合性が高くなります。 これは、実世界の一部やアセットを GIS でモデル化する場合に (特に、公益事業会社で) 役立ちます。 また、選択内容によって次の一連の有効な選択肢が決まる決定木や調査の質問を作成する場合にも効果的です。

注意:

テーブルまたはフィーチャクラスに条件値を作成すると、ArcMap と、ArcGIS Pro 2.3 および ArcGIS Enterprise 10.7.x より前のリリースとの互換性が失われます。 クライアントとジオデータベースのバージョンが異なる場合の利用可能な機能については、「クライアントとジオデータベースの互換性」をご参照ください。

条件値の適用例を自動車の購入に関連付けて説明します。

決定木は「自動車メーカー > 車種 > トリム レベル > 色」の順になります。

自動車の購入の決定木

  • まず、自動車メーカーを選択します (この例では、ホンダ)。

    自動車メーカーの選択

  • 選択した自動車メーカーに基づいて、複数の車種が選択可能になります。

    • ホンダの場合は、パイロット、CRV、アコード、およびシビックを選択できます。

      車種の選択

    • トヨタの場合は、異なる車種リストが表示されます。

      別の自動車メーカーを選択すると、異なる車種リストが表示される

  • 次に、選択した車種に基づいて、複数のトリム レベルが選択可能になります。

    • ホンダ パイロットの場合は、LX、EX-L、Sport、および Touring を選択できます。

      トリム レベルの選択

  • 選択したトリム レベルに基づいて、複数の色 (赤、青、黒、白など) を選択できます。

    色を選択します。

決定木でのそれぞれの選択段階では、1 つ前に選択した内容に応じて異なる選択肢のリストが表示されます。 別の自動車メーカーを選択すると、異なる一連の車種が表示されます。 選択した車種によって選択可能なトリム レベルが決まり、トリム レベルごとに異なる一連の色オプションがあります。 たとえば、それぞれの段階で選択したオプションに応じて、結果が「ホンダ > パイロット > EX-L > 白」や「トヨタ > 4 ランナー > TRD スポーツ > インフェルノ」のようになります。

条件値を使用すると、データ内の各フィールド間の依存関係を設定し、1 つのフィールド内の値の選択によってもう 1 つのフィールドの有効な値のリストが決定/制限されるようにすることができます。

実世界の GIS の例として、ユーティリティ ネットワーク アセット パッケージの StructureJunction フィーチャクラスを取り上げます。 設備ジャンクションのポイント フィーチャクラスには、電柱、マンホール、檀など、アセットのサブタイプが含まれています。

フィールドにドメインが割り当てられている電柱サブタイプ

電柱サブタイプでは、ドメインが 3 つのフィールドに適用されています。 これらのドメインにより、各フィールドに入力できる値が有効な値のリストに制限されます。 たとえば、電柱のクラスを 1、2、3、電柱の材質をグラスファイバー、木材、鋼材、電柱の高さを 30 フィート、35 フィート、40 フィート、45 フィートなどにすることができます。

これらのフィールドの有効な値をさらに制限するために、条件値を使用できます。 たとえば、条件値を使用して、電柱のクラスを 1、材質をグラスファイバーのみに定義し、高さを 30、35、40、または 45 フィートのみに制限することができます。

電柱サブタイプの各フィールド値の間に必要な依存関係を考慮してください。 このフィールド グループ (クラス、材質、および高さ) での依存関係は次のとおりです。

フィールド条件値条件値条件値

クラス

1

2

3

材質

ファイバーグラス

木材

鋼材

高さ

30、35、40、45

30、35、40、45

50、55、60、65

これらの条件値を作成した後、新しい電柱フィーチャを入力するか、既存の電柱フィーチャを変更して、そのフィーチャをクラス 1 の電柱として指定すると、材質フィールドに入力できる値がグラスファイバーに制限されます。 同様に、クラスが 1 で材質がグラスファイバーの電柱の高さの有効な値が 30、35、40、または 45 に制限されます。

データ内でこのように条件値を作成すると、一連のフィールドの有効な値をさらに制限し、データの妥当性と整合性を効率よく管理できるようになります。

条件値のデータの準備

条件値は、フィーチャクラスまたはテーブル内のフィールド グループを対象に作成します。 条件値を作成する前に、これらのフィールドに、有効な値のリストまたは範囲を含む適切なドメインを設定しておく必要があります。

上記の電柱の例では、クラス、材質、高さという 3 つのフィールドで構成されたグループに対して条件値を作成します。 フィールドごとに適切なドメインが割り当てられています。 たとえば、材質フィールドにはグラスファイバー、木材、および鋼材という材質のドメインがあります。 ドメイン値を正しく設定し、これらのドメインをそれぞれのフィールドに割り当て、依存関係を作成する対象のフィールド グループを決定したら、各ドメイン値の間に依存関係を作成する必要があります。

テーブルまたはフィーチャクラスに対して条件値を作成するには、次の操作を実行する必要があります。

  • 有効な値のリストまたは範囲を含むドメインを作成します。
  • これらのドメインをフィーチャクラスまたはテーブルの適切なフィールドに割り当てます。
  • そのフィーチャクラスまたはテーブルに関する条件値ビューを開きます。
  • 条件値が格納されるフィールドを含むフィールド グループを作成します。
  • そのフィールド グループ内の各フィールド間の条件値を作成します。

注意:

多対多または属性付きのリレーションシップ クラスを作成すると、新しい中間リレーションシップ クラス テーブルが作成されます。 この中間リレーションシップ クラス テーブルは、オブジェクト クラスではありません。 したがって、このタイプのテーブルでは、ドメイン、サブタイプ、条件値、属性ルール、デフォルト値を使用することができません。

条件値ビューを開く

条件値ビューでは、条件値の作成、削除、管理ができます。

条件値ビューを開くには、次のいずれかを行います。

  • [カタログ] ウィンドウでフィーチャクラスまたはテーブルを右クリックし、[データ設計] にポインターを合わせて [条件値] をクリックします。
  • [コンテンツ] ウィンドウでフィーチャクラスまたはテーブルを右クリックし、[データ設計] にポインターを合わせて [条件値] をクリックします。
  • [コンテンツ] ウィンドウでレイヤーが選択された状態で、[フィーチャ レイヤー] タブ セット内の [データ] タブにある [条件値] ボタンをクリックします。 [コンテンツ] ウィンドウでテーブルが選択された状態で、[スタンドアロン テーブル] タブの [条件値] ボタンをクリックします。 レイヤーとテーブルの両方で、ビューが [条件値] ビューに切り替わります。
  • フィールド ビュー、サブタイプ ビュー、または属性ルール ビューで、[データ設計] グループの [条件値] ボタンをクリックします。 条件値ビューに切り替わります。
注意:

テーブルまたはフィーチャクラスに関する条件値ビューを初めて開いた際は、条件値が設定されておらず、最初にフィールド グループを作成するよう求めるメッセージが表示されます。

条件値ビュー

条件値ビューには、条件値を作成して管理するためのタブと、他のデータ設計タブに切り替えるためのボタンが用意されています。

[条件値] タブ

[条件値] タブ上には、次のグループがあります。

  • クリップボード - 標準のクリップボード オプション ([貼り付け][コピー][切り取り]、および [削除]) を提供します。
  • [データ設計] には、他のデータ設計ビューを開くための以下のボタンがあります。
    • フィールド
    • サブタイプ
    • ドメイン
    • 属性ルール
    • [フィールド グループ] - [フィールド グループ] ダイアログ ボックスを開くボタンがあります。
  • [条件値] には、条件値を作成して管理するための以下のボタンがあります。
    • [新規] - ビュー内でアクティブなフィールド グループのフィールドに条件値を作成するために行を追加します。
    • [インポート] - カンマ区切り値 (.csv) ファイルからフィールド グループと条件値をインポートします。
    • [エクスポート] - .csv ファイルにフィールド グループと条件値をエクスポートします。
    • [値の廃止] - 廃止された条件値の行がハイライト表示されるよう設定できます。 廃止された値は、ユーザー インターフェイス内の別の場所 ([属性] ウィンドウのフィールド値など) にまだ表示されていますが、選択できない状態になっています。
    • [値の ID の切り替え] - データ グリッド内の [値 ID] の値を表示または非表示にします。
    • [コード/説明の切り替え] - データ グリッド内のドメイン コードまたは説明の表示を切り替えます。
    • [保存] -条件値ビューに加えたすべての変更を保存します。 [保存] をクリックするまで、変更はメモリ内に保持されます。

フィールド グループの作成

フィーチャクラスまたはテーブルの各フィールド間の条件値を作成する前に、フィールド グループを作成しておく必要があります。 フィールド グループは、フィーチャクラスまたはテーブル内のフィールドの名前付きコレクションです。 上記の電柱の例では、フィールド グループは、電柱のクラス、材質、および高さで構成されています。 フィールド グループを作成すると、そのグループ内の各フィールド値に依存関係を割り当てることができます。

フィールド グループを作成するには、以下の手順を実行します。

Play Video

  • 視聴時間: 0:52
  • このビデオは ArcGIS Pro 3.2 を使用して作成されています。
  1. [条件値] タブ上の [フィールド グループ] ボタンをクリックします。

    [フィールド グループ] ダイアログ ボックスが表示されます。

  2. [名前] セクションで、[ここをクリックして、新しいフィールド グループを追加します。] テキストをクリックします。

    [Field_Group] という新しいフィールド グループが作成されます。 このフィールド グループの名前は変更できます。

  3. [フィールドの追加] ドロップダウン メニューをクリックします。

    該当するフィーチャクラスまたはテーブル内のすべてのフィールドが一覧表示されます。

  4. フィールド グループに含めるフィールドを選択して [追加] ボタンをクリックします。
    • リストの上部にある [検索] テキスト ボックスを使用して、特定のフィールドを検索します。
    • すべてのフィールドをフィールド グループに追加するには、[すべて選択] をクリックしてから [追加] をクリックします。
  5. 必要に応じて、[制限] チェックボックスをオフにします。
    • オン - 制限付きのフィールド グループが作成され、フィールド グループのフィールドに入力される値は条件値として指定された値に制限されます。 条件値を使用するときに編集を制御できるよう、フィールド グループはデフォルトで制限付きに設定されています。
    • オフ - 制限付きの設定を無効にします。 この設定をオフにすると、作成されるフィールド グループは制限付きではなくなります。そのため、条件値として指定されていない値でもフィールド グループにコミットできるようになります。
  6. [OK] をクリックして、フィールド グループを作成します。

ヒント:
キーボード上の次のショートカット キーを使用して、[フィールド グループ] ダイアログ ボックスを探索できます。
  • Ctrl + N - フィールド グループを作成します。
  • Alt + G - ダイアログ ボックスの上部にある [フィールド グループ] データ グリッドにポインターを移動させます。
  • Alt + A - [フィールドの追加] ドロップダウン メニューにポインターを移動させます。
  • Alt + F - ダイアログ ボックスの下部にある [フィールド] データ グリッドにポインターを移動させます。

条件値の作成

フィールド グループを作成したら、そのフィールド グループに属している各フィールドの条件値を作成できます。

条件値ビューで使用中のフィーチャクラスまたはテーブルに複数のフィールド グループが関連付けられている場合、これらのフィールド グループを切り替えるには、[フィールド グループ] ドロップダウン メニューをクリックして、別のフィールド グループを選択します。

条件値ビューで使用中のフィーチャクラスまたはテーブルにサブタイプがある場合、これらのサブタイプを切り替えるには、[サブタイプ] ドロップダウン メニューを使用します。 これで、各サブタイプのフィールドに別々の条件値を設定できるようになります。 開始する前に、サブタイプ ビューでサブタイプ レベルのフィールドにドメインが適用されていることを確認します。

フィールド グループ内に条件値を作成するには、次の手順を実行します。

  1. [条件値] グループの [新規] ボタンをクリックするか、[クリックして条件値を追加する] と表示されている空の行をクリックします。
  2. フィールド グループ内のフィールドごとに、ドロップダウン メニューからフィールド値を選択します。

    値 <ANY> および <NULL> をドロップダウン メニューから条件値として追加することもできます。 <ANY> は常に (条件値を追加するフィールドにドメインが適用されていない場合でも) 使用可能であり、<NULL> はフィールドで NULL 値が許可されている場合にのみ使用できます。

    • <ANY> - 条件値として <ANY> を追加すると、フィールドに入力されたすべての値が有効と見なされます。
    • <NULL> - 条件値として <NULL> を追加すると、フィールドに入力された NULL 値が有効と見なされます。

  3. 作成するすべての条件値について、手順 1 と 2 を繰り返します。
  4. 注意:
    サブタイプが適用されている場合、条件値はリストされているサブタイプに対してのみ適用されます。 他のサブタイプに条件値を適用するには、[サブタイプ] ドロップダウン矢印をクリックし、別のサブタイプを選択して上記の手順を繰り返します。
  5. すべて終了したら、[保存] をクリックして変更内容を保存します。

上記の電柱の例では、電柱の依存関係というフィールド グループ内の一連の条件値が次のようになります。

電柱の例の条件値

データに対する条件値の準備が終了した後で、[属性] ウィンドウや属性テーブル ビューなどでの編集中に値をフィールドに入力すると、作成した制限がアプリケーションに適用されます。

条件値を含むフィールドを編集する方法の詳細

条件値の廃止

条件値は廃止することができます。 条件値を廃止した後も、その条件値が [属性] ウィンドウなどの場所にあるフィールドの有効な値のリストにまだ表示されますが、使用不可になっているため、フィールド値として選択することができません。 たとえば、組織ではアスベストを建築材料として使用していませんが、現在のアセットでアスベストが使用されている場所が存在します。 つまり、この値は一部のフィーチャの建築材料のフィールドに有効な値として存在している可能性がありますが、これ以降は使用する必要がありません。 値が他のどのフィールドでも使用されないようにするために、その値を廃止することができます。

条件値を廃止するには、廃止する行を選択して、[条件値] グループの [値の廃止] ボタンをクリックします。

条件値の廃止を解除する場合は、廃止した行を選択して [値の廃止] ボタンをクリックします。

データセット間の条件値のコピー

データセットに条件値を作成したら、別のデータセットにそれらの値を追加できます。 以下の方法により、データセット間で条件値をコピーすることができます。

  • コピー/貼り付け
  • 条件値のエクスポートとインポート

コピー/貼り付け

属性値ビューでのコピーと貼り付けは、キーボード ショートカット、ショートカット メニュー、クリップボードを使用してサポートされています。 コピーと貼り付けのワークフローの前提条件として、コピー先のデータセットにフィールド グループがあり、そのフィールド グループには一致するフィールド データ タイプとフィールドに適用されるドメインが含まれている必要があります。

特定のデータセットから別のデータセットに条件値をコピーするには、次の手順を実行します。

  1. 対象の条件値を含むコピー元データセットと、条件値のコピー先データセットで、条件値ビューを開きます

    コピー元のデータセットとコピー先のデータセットの属性値ビューが開きます。

  2. コピー元のデータセットから、コピー先データセットにコピーする条件値を選択します。

    条件値が選択されます。

  3. 選択した条件値を、[クリップボード] からの [コピー]、キーボード ショートカットのコピー、またはショートカット メニューの [コピー] を使用してコピーします。
  4. 一致するフィールド データ タイプとフィールドに適用される一致ドメインを含むフィールド グループを選択し、[クリップボード] からの [貼り付け]、キーボード ショートカットの貼り付け、またはショートカット メニューの [貼り付け] を使用して、条件値を貼り付けます。
  5. [条件値] タブ上の [保存] ボタン 保存 をクリックします。

    コピー先のデータセットに条件値が保存されます。

条件値のエクスポートとインポート

テーブルまたはフィーチャクラスの条件値やフィールド グループを共有する場合や、バックアップを作成する場合、またはスキーマ編集のためにマスター データベースを広範にわたってロックせずに更新する場合は、エクスポートとインポートが便利です。 データセットから条件値をエクスポートする際に、2 つのカンマ区切り値ファイル (.csv) ファイルが作成されます。 フィールド グループの .csv ファイルには、グループ内のフィールドに関するメタデータと情報が含まれており、条件値の .csv ファイルには、メタデータ、および条件値の組み合わせが含まれています。

条件値のエクスポート

[条件値] タブの [条件値] グループにある [エクスポート] ボタン、または [条件値のエクスポート (Export Contingent Values)] ジオプロセシング ツールを使用して、フィールド グループと条件値をエクスポートすることができます。

データセットのフィールド グループと条件値をエクスポートするには、次の手順を実行します。

  1. エクスポートする条件値をデータセットの条件値ビューを開きます

    データセットの条件値ビューが開きます。

  2. [条件値] タブで、[条件値] グループの [エクスポート] ボタンをクリックします。

    [条件値のインポート] ダイアログ ボックスが表示されます。

  3. [フィールド グループ CSV][条件値の CSV] に、.csv ファイルのパスと名前を入力するか、参照ボタンをクリックして .csv ファイルが格納されているフォルダーを参照し、.csv の名前を入力します。

    2 つの .csv ファイルが作成されます。1 つはフィールド グループ用で、もう 1 つは条件値用です。

条件値のインポート

[条件値] タブの [条件値] グループにある [インポート] ボタン、または [条件値のインポート (Import Contingent Values)] ジオプロセシング ツールを使用して、フィールド グループと条件値をインポートすることができます。

データセットのフィールド グループと条件値をインポートするには、次の手順を実行します。

  1. エクスポートする条件値をデータセットの条件値ビューを開きます

    データセットの条件値ビューが開きます。

  2. [条件値] タブで、[条件値] グループの [インポート] ボタンをクリックします。

    [条件値のインポート] ダイアログ ボックスが表示されます。

  3. [フィールド グループ CSV][条件値の CSV] に、対応する .csv ファイルのパスと名前を入力するか、参照ボタンをクリックして各 .csv ファイルが格納されているフォルダーを参照して、[OK] をクリックします。

    条件値ビューに条件値が表示されます。

  4. 必要に応じて条件値を置き換えるには、[値の置換] ボックスをオンにします。

    このオプションにより、変更をデータセット内の既存の条件値とマージするのではなく、既存の値をオーバーライドできます。

  5. [条件値] タブ上の [保存] ボタン 保存 をクリックします。

    コピー先のデータセットに条件値が保存されます。