属性ドメインの概要

属性ドメインは、フィールド タイプの有効な値を定義するルールであり、データの整合性を維持する方法を提供します。属性ドメインは、テーブルまたはフィーチャクラスの特定の属性に対する許容値を表します。フィーチャクラスのフィーチャまたはテーブルの非空間オブジェクトがサブタイプにグループ化されている場合は、各サブタイプに別の属性ドメインを割り当てることができます。ドメインは、有効な属性値の宣言です。ドメインが属性フィールドに関連付けられた場合、そのフィールドではそのドメイン内の値だけが有効となります。つまり、そのドメインに含まれていない値をフィールドに設定することはできません。ドメインを使用して、特定のフィールドに設定できる値を制限すれば、データの整合性を維持するのに役立ちます。

属性ドメインは、ジオデータベース内の複数のフィーチャクラス、タイプ、サブタイプにわたって共有することができます。

例えば、配水管のフィーチャクラスと給水管のフィーチャクラスで、地表タイプ フィールドに同じドメインを使用することができます。

ドメインのプロパティ

ドメインを作成または変更する際には、次のプロパティを編集する必要があります。

名前と説明

ドメインを新規作成する際には、そのドメインによって制御されるパラメータを表す名前を指定します。

一重引用符(' と ` )、およびアポストロフィ(')はドメインの名前に使用できません。

ドメインが作成されたら、フィーチャクラスまたはテーブルの [プロパティ] ダイアログ ボックスを開きます。特定のフィールドに関連付けるドメインを選択する際、ドメイン ドロップダウン リストにドメイン名が表示されます。ドメインの説明は、ドメインの目的を説明する短い文章です。

フィールド タイプ

フィールド タイプは、ドメインを関連付けることができる属性フィールドの種類です。

フィールド タイプは、次のいずれかに設定できます。

フィールド タイプを設定すると、[プロパティ] ダイアログにあるそのタイプのフィールドに対するドロップダウン リストに、ドメインの名前が表示されます。

フィールド タイプの詳細

ドメイン タイプ

ドメインを作成する際には、ドメインの種類を指定する必要があります。

属性ドメインには次の 2 種類があります。

スプリット ポリシーとマージ ポリシー

データの編集時に、シングル フィーチャを 2 つのフィーチャに分割したり、2 つのフィーチャをマージしてシングル フィーチャにすることがよくあります。例えば、区画整理の結果、土地のデータベースに格納されている 1 つの土地区画が 2 つの土地区画に分割されることがあります。同様の区画整理によって、隣接する 2 つの土地区画が 1 つの土地区画にマージされることもあります。

フィーチャのジオメトリ上では、この種の編集処理の結果は容易に予測できますが、それらが属性値におよぼす影響は予測できません。フィーチャを分割するときの属性値の振舞いは、属性のスプリット ポリシーによって制御されます。2 つのフィーチャをマージするときの属性値は、属性のマージ ポリシーによって制御されます。

各属性ドメインには、スプリット ポリシーとマージ ポリシーの両方を定義できます。フィーチャが分割またはマージされた場合、ジオデータベースはこれらのポリシーに基づいて、最終的なフィーチャの特定の属性値を決定します。

スプリット ポリシー

テーブル、フィーチャクラス、またはサブタイプの属性については、出力オブジェクトの属性値を制御する 3 つのスプリット ポリシーのいずれかを指定することができます。

  • デフォルト値 : 分割後の 2 つのフィーチャの属性には、該当するフィーチャクラスまたはサブタイプの属性のデフォルト値が適用されます。
  • 複製 : 分割後の 2 つのフィーチャの属性には、元の属性値のコピーが適用されます。
  • ジオメトリ比 : 分割後の 2 つのフィーチャの属性には、元のフィーチャの値の比率が適用されます。この比率は、元のジオメトリの分割時に使用した比率に基づいています。ジオメトリを均等に分割した場合、それぞれの新規フィーチャの属性には、元のオブジェクトの属性の 2 分の 1 の値が割り当てられます。ジオメトリ比ポリシーは、数値フィールド タイプに対応するドメインにのみ適用されます。
土地区画オブジェクトの属性に対するスプリット ポリシーの適用例

上記の土地区画の例では、土地区画が分割されると、分割後のジオメトリのプロパティとして、Area(面積)属性が自動的に割り当てられます。Owner(所有者)属性の値は、新規オブジェクトにコピーされます(このデータベースの場合、パーセルの分割は所有権に影響しません)。PropertyTax(固定資産税)属性は、土地区画の面積とサイズに基づいて計算されます。新規オブジェクトごとに PropertyTax 属性値を検索するために、スプリット ポリシーは新規フィーチャの面積比率に応じて、元の土地区画の PropertyTax 属性値を分割します。

マージ ポリシー

2 つのフィーチャを 1 つのフィーチャにマージする際には、マージ ポリシーが新規フィーチャの属性値を制御します。フィーチャクラスまたはサブタイプの属性に適用できるマージ ポリシーは、次の 3 種類に分かれます。

  • デフォルト値 : マージ後のフィーチャの属性には、該当するフィーチャクラスまたはサブタイプの属性のデフォルト値が適用されます。非数値フィールドおよびコード値ドメインには、このマージ ポリシー以外は適用できません。
  • 合計値 : マージ後のフィーチャの属性には、元のフィーチャの属性の合計値が適用されます。
  • 加重平均 : マージ後のフィーチャの属性には、元のフィーチャの属性値の加重平均値が適用されます。この平均値は、元のフィーチャのジオメトリに基づいています。
土地区画オブジェクトの属性に対するマージ ポリシーの適用例

上記の土地区画の例では、2 つの土地区画がマージされると、マージ後のジオメトリのプロパティとして、Area(面積)属性が自動的に割り当てられます。Owner(所有者)属性にはデフォルト値が割り当てられます。マージ後のフィーチャの PropertyTax (固定資産税)属性に元のフィーチャの PropertyTax 属性の合計値が適用されていることから、この属性のマージ ポリシーが合計値に指定されていることがわかります。

エディタでフィーチャをマージしている場合には、マージ ポリシーが評価されないことに注意してください。ただし、開発者が独自にマージ処理を作成している場合には、マージ ポリシーを利用することができます。

コード値

コード値セクションは、コード値ドメインでのみ有効となります。このセクションには、ドメインのコード値と、その値の意味に関する説明が含まれています。

次の図では、フィーチャのカテゴリを表すためのコード値として略語が使用されています。この場合は、土地利用のカテゴリが適切な略語で表されます。

ドメインの例

入力するコードは該当するフィールド タイプに一致するものでなければなりません。上記の例では、[LandUse] ドメインが [Text] データタイプに関連付けられているため、整数を入力して [Residential] カテゴリを表すことはできません。

9/14/2013