フィーチャクラスを作成する際には、その構造を定義する複数のフィーチャクラス プロパティを指定する必要があります。
ほとんどの場合は、[フィーチャクラスの新規作成] ウィザードが提供するプロパティのデフォルト値を適用するのが最も効果的です。このセクションでは、フィーチャクラスの各プロパティを取り上げ、デフォルト値以外の値を使用する必要がある状況とその理由、およびそれらの値がデータにどのように影響するかについて説明します。
データ モデルに適したフィーチャクラスの作成は、次のフィーチャクラス プロパティによって決まります。
名前とエイリアス
フィーチャクラスの名前は、フィーチャクラスを識別する一意なハンドルです。フィーチャクラスの最も一般的な名前は、MajorRoads や Major_Roads のように、大文字と小文字を組み合わせた名前、またはアンダースコアを使用する名前です。
フィーチャクラスを作成する際には、フィーチャクラスに格納されるデータを示すような名前を付ける必要があります。フィーチャクラス名はデータベースまたはジオデータベースにおいて一意でなければなりません。同じ名前のフィーチャクラスを複数作成することはできません。別々のフィーチャ データセットに属している場合でも、同じジオデータベース内で 2 つのフィーチャクラスに同じ名前を付けることはできません。
ただし、ArcGIS for Desktop でのフィーチャクラスの作成時に指定する名前は、データベースまたはジオデータベースに表示されるフィーチャクラスの名前ではありません。データベースまたはジオデータベースでは、フィーチャクラスが格納されるスキーマの名前が追加されます。Oracle 以外のすべてのデータベースでは、データベースの名前もフィーチャクラスの名前に追加されます。これは完全修飾フィーチャクラス名と呼ばれます。たとえば、ユーザー Werther が alpacas という名前のフィーチャクラスを spdata データベースに作成した場合、そのフィーチャクラスの完全修飾名は次のようになります。
spdata.werther.alpacas
このように、ユーザーが作成するフィーチャクラスの名前にはユーザーの名前が追加されるため、別のユーザーが同じ alpacas という名前のフィーチャクラスを作成することも可能です。たとえば、ユーザー Gretchen が alpacas という名前のフィーチャクラスを作成した場合、そのフィーチャクラスの完全修飾名は次のようになります。
spdata.gretchen.alpacas
ただし、別のスキーマやデータベースに格納されるとしても、フィーチャクラス名を再利用することは推奨されません。この例では、両方のフィーチャクラスにアルパカ (alpaca) に関する情報が含まれるならば、別々のフィーチャクラスに分ける理由はありません。2 つのフィーチャクラスに含まれるデータがまったく異なる場合は、フィーチャクラス名にそのことを反映させる必要があります。
その他のルール
- 名前は文字で始まらなければなりません。数字、またはアスタリスク (*) やパーセント記号 (%) などの特殊文字で始まる名前は使用できません。
- 名前にスペースを含めることはできません。テーブルやフィーチャクラスに 2 つの部分からなる名前を使用する場合は、garbage_routes のように、2 つの単語をアンダースコア (_) でつなぎます。
- 名前に予約語 (select や add など) を含めることはできません。その他の予約語については、DBMS のドキュメントをご参照ください。
- フィーチャクラスおよびテーブルの名前の長さは基盤となるデータベースによって異なります。ファイル ジオデータベース フィーチャクラスの場合、名前の最大長は 160 文字です。名前の文字制限については、DBMS ドキュメントをご参照ください。
フィールド名の変更
[プロパティ] ダイアログ ボックスの [フィールド] タブから、テーブルまたはフィーチャクラスのフィールド名を変更できます。ArcGIS 10 リリース以降のジオデータベースのフィールドでは名前の変更をサポートしており、データベース テーブルのフィールド名を変更できます。
フィールド名を変更するには、カタログ ツリーで該当するフィーチャクラスまたはテーブルを右クリックし、[プロパティ] をクリックします。該当するテーブルまたはフィーチャクラスのフィールドのリストを表示するには、[フィールド] タブをクリックします。名前を変更するフィールドのテキストをクリックし、新しい名前を入力します。[OK] をクリックして変更内容を適用し、[プロパティ] ダイアログ ボックスを閉じます。
フィールド名の制限は、テーブルおよびフィーチャクラス名の制限と同様です。
- 名前は文字で始まらなければなりません。数字、またはアスタリスク (*) やパーセント記号 (%) などの特殊文字で始まる名前は使用できません。
- 名前にスペースを含めることはできません。
2 つの部分からなるフィールド名を使用する場合は、customer_address のように、2 つの単語をアンダースコア (_) でつなぎます。
- 名前に予約語 (all、result など) を含めることはできません。
その他の予約語については、DBMS のドキュメントをご参照ください。
- フィールド名は、ファイル ジオデータベースでは最大 64 文字に制限され、ほとんどのエンタープライズ ジオデータベースおよびデータベースでは最大 31 文字 (Oracle では最大 30 文字) に制限されます。
次のフィールド名は変更できません。
- ObjectID および GlobalID フィールド
- シェープに関連するフィールド (Shape、shape length、shape area)
- 有効になっている、ネットワーク フィーチャクラスの補助役割フィールドまたはネットワーク ウェイト フィールド
- リプレゼンテーション フィールド
- Network Dataset、Terrain、または Cadastral Fabric に参加しているフィーチャクラスのフィールド
- 編集情報の記録に使用されているフィールド
- Relationship Class Primary Key フィールドおよび Foreign Key フィールド
- Subtype フィールド
- ラスター フィールド
エイリアス
ジオデータベースでテーブルまたはフィーチャクラスを作成する際には、それらにエイリアスを割り当てることができます。エイリアスとは、別名のことです。エイリアスが割り当てられたテーブルまたはフィーチャクラスを ArcMap に追加すると、エイリアスがユーザーに表示される名前となります。ただし、[レイヤー プロパティ] ダイアログ ボックスの [ソース] タブをクリックすれば、テーブルまたはフィーチャクラスの名前を参照することができます。
フィーチャクラスのタイプ
ベクター フィーチャ (ベクター ジオメトリを持つ地理オブジェクト) は、地理データ タイプによく使用され、道路、都道府県、土地区画などの明確な境界を持つフィーチャを表すのに適しています。フィーチャとは、その地理表現を行のプロパティ (フィールド) の 1 つとして格納するオブジェクトです。地理表現は、通常はポイント、ライン、またはポリゴンです。ArcGIS のフィーチャクラスは、共通の空間表現を持ち、データベース テーブルに同じ属性情報が格納されている、同じ種類のフィーチャの集まりです。たとえば、ライン フィーチャクラスは、道路の中心線を表します。
一般に、フィーチャクラスはポイント、ライン、ポリゴンの主題別の集合ですが、次の 7 つのフィーチャクラス タイプが存在します。最初の 3 つのタイプは、データベースおよびジオデータベースでサポートされます。残りの 4 つのタイプは、ジオデータベースのみでサポートされます。
- ポイント: ラインまたはポリゴンとして表すには小さすぎるフィーチャおよびポイント ロケーション (GPS 観測点など)。
- ライン: 道路のセンターライン、河川など、エリアとして表すには狭すぎる地理オブジェクトの形状と場所を表します。ラインは、等高線や境界線のように、長さはあるものの面積がないフィーチャを表す場合にも使用されます。
- ポリゴン: 県、市区町村、土地区画、土壌タイプ、土地利用区画などの同種のフィーチャ タイプの形状と場所を表す、複数の辺で構成される面フィーチャ。
- アノテーション: テキストをレンダリングするためのプロパティを含んだマップ テキスト。たとえば、各アノテーションのテキスト文字列に加えて、テキストを配置するシェープ ポイント、フォントサイズとポイントサイズ、その他の表示プロパティが含まれます。アノテーションは、フィーチャリンク アノテーションとして作成することもでき、サブクラスを含むこともできます。
- ディメンション: 建物の幅、土地区画の一辺の長さ、2 つのフィーチャ間の距離など、特定の長さや距離を示す特殊なアノテーション。ディメンションは、GIS アプリケーションの設計および開発によく使用されます。
- マルチポイント: 複数のポイントで構成されるフィーチャ。マルチポイントは、ポイント数が数十億に上ることもある LiDAR ポイント クラスターなど、膨大な数のポイント コレクションの配列を管理するためによく使用されます。そうしたポイント ジオメトリに 1 つの行で対処するのは不可能です。これらのマルチポイント行でクラスタリングすれば、ジオデータベースを膨大な数のポイント セットに対応させることができます。
- マルチパッチ: 3 次元空間で不連続なエリアまたはボリュームを占めるフィーチャの外面サーフェス (シェル) を表すために使用される 3D ジオメトリ。マルチパッチは、3 次元のシェルをモデリングするときに組み合わせて使用される平面の 3D リングとトライアングルで構成されます。マルチパッチは、球体や立方体などのシンプルなオブジェクトから、等値面や建造物などの複雑なオブジェクトまで、あらゆるオブジェクトを表現するために使用されます。
ジオメトリのプロパティ
フィーチャクラスを新規作成する際には、必要に応じて、座標に 3D データのためのメジャー (M) 値または Z 値を含めることができます。
M 値または Z 値が必要かどうかは、使用するデータのタイプによって決まります。
データに M 値を追加すると、ポイント座標の頂点に属性値を格納することができます。リニア リファレンスの場合、M 値はリニア フィーチャ沿いの頂点のメジャーを格納します。これにより、ラインに沿って場所を特定できるようになります。データをリニア リファレンスやダイナミック セグメンテーション アプリケーションに使用する場合は、座標に M 値を含める必要があります。
Z 値は、特定のサーフェス位置の標高などの属性を表すために使用されます。標高またはテレイン モデルでは、Z 値は標高を表します。その他のサーフェス モデルでは、年間降雨量、人口、その他のサーフェス メジャーといった属性の密度または量を表します。標高のモデリング、テレインの作成、その他の 3D サーフェスの操作を行う場合は、座標に Z 値を含める必要があります。
座標系
フィーチャクラスを作成する際には、座標系を選択するか、場合によっては作成する必要があります。座標系は、許容値および座標精度値とともに、フィーチャクラスの空間参照を構成します。空間参照は、現実の世界でのフィーチャの位置を説明します。
新しいフィーチャクラスの座標系は複数の方法で定義することができます。
- ArcGIS にあらかじめ定義されている座標系のいずれか 1 つを選択します。データ モデルエリアを適切に表現する地理座標系または投影座標系を選択します。
- 別のフィーチャクラスで使用されている座標系パラメーターをインポートします。別のフィーチャクラスの座標系をテンプレートとして使用する場合は、それを選択してインポートするオプションがあります。
- カスタム座標系を新規作成します。各自のニーズに合わせて、座標系を作成するための値を入力することができます。
座標に Z 値を使用する場合は、鉛直座標系も指定する必要があります。鉛直座標系は、Z 値をジオリファレンスし、主に標高を示すために使用されます。鉛直座標系には、測地基準系または鉛直測地基準系、メジャーの距離単位、軸の方向、および鉛直シフトが含まれます。
M 値は座標系を持ちません。
データの座標系情報が定義されていない、またはどの座標系を使用すればわからない場合は、座標系として「不明」を選択することができます。
[変更] オプションを使用して、座標系のプロパティを確認し、編集することができます。
許容値
ジオデータベースの空間参照には、許容値も含まれます。X、Y、Z、M 座標のすべてに、座標データの正確さを反映した許容値が関連付けられます。許容値は、ArcGIS において何らかの空間解析処理を行う際に用いられる座標間の最短距離です。一方の座標がもう一方の座標の許容値内にある場合、それらは同じ場所として解釈されます。たとえば、リレーショナル/トポロジ処理において、2 つのポイントが同じ座標値を割り当てるのに十分なほど近いか、または別々の座標値が割り当てられるほど離れているかどうかを判断する際に使用されます。
デフォルトの許容値は、0.001 メートル、またはマップ単位でそれに相当する値に設定されます。これはデフォルトの座標精度値の 10 倍であり、ほとんどの場合に推奨されます。必要最小限の許容値は、座標精度値の 2 倍です。許容値に大きい値を設定すると座標データの正確さが低下し、許容値に小さい値を設定すると座標データがより正確になります。
座標精度とドメイン範囲
フィーチャクラスまたはフィーチャ データセットのすべての座標は、選択した座標系に従ってジオリファレンスされ、グリッドにスナップされます。このグリッドは、座標値の精度 (有効桁数) を決定する座標精度によって定義されます。座標精度は、フィーチャクラスまたはフィーチャ データセットの範囲をカバーするグリッド メッシュの細かさを設定します。すべての座標がこのグリッドにスナップされます。グリッドの個々の線がどれくらい離れているかは座標精度によって定義されます。
座標精度値は、関連する座標系と同じ単位で表されます。たとえば、空間参照にメートル単位の投影座標系が使用される場合、座標精度値はメートル単位で定義されます。少なくとも許容値の 1/10 以下の座標精度値を使用してください。
デフォルトの (推奨) 座標精度値は、0.0001 メートル (1/10 mm)、またはマップ単位でそれに相当する値です。
たとえば、フィーチャクラスが State Plane Feet で格納される場合、デフォルトの座標精度は 0.0003281 フィート (0.003937 インチ) です。座標が緯度経度で記録される場合、デフォルトの座標精度は 0.000000001 度となります。
座標系が不明である場合、または M 値については、メジャーの単位を明示的に設定せずに、データの種類に適した座標精度値を設定する必要があります。
コンフィグレーション キーワード
エンタープライズ ジオデータベースでは、テーブルまたはフィーチャクラスを作成する際に、コンフィグレーション キーワードを指定して、データを格納する方法を調整することができます。コンフィグレーション パラメーターは、1 つ以上のコンフィグレーション キーワードにまとめられます。そのうちの 1 つは DEFAULTS コンフィグレーション キーワードで、デフォルトの格納パラメーターを指定します。
コンフィグレーション キーワードの選択は、パーソナル ジオデータベースまたはデータベースではサポートされていません。
ファイルまたはエンタープライズ ジオデータベースでフィーチャクラスを作成する際には、使用するコンフィグレーション キーワードをデータベースに指定することができます。ほとんどの場合は、DEFAULTS キーワードを使用します。ただし、特定のデータセットや特定のタイプのデータを作成する際、パフォーマンスを最適化するために、あるいはそれらのデータベースへの格納方法を何らかの形で調整するために、別のコンフィグレーション キーワードを指定することがあります。
次に、コンフィグレーション キーワードの例とそれらの用途を示します。
- DEFAULT: ほとんどのジオデータベースに使用される適切なデフォルト設定と格納設定。
- MAX_FILE_SIZE_256TB: ファイル ジオデータベースに非常に大きな画像をインポートする場合は、このコンフィグレーション キーワードを指定すると、ジオデータベースに最大で 256TB のラスター データセットを格納できます。
- SDO_GEOMETRY: ArcSDE for Oracle ジオデータベースにラスター データセットを追加する場合は、このコンフィグレーション キーワードを指定して、Oracle GeoRaster 形式でラスターを格納できます。
- TEXT_UTF16: 中国語の文字を含んでいるフィーチャクラスをファイル ジオデータベースにコピーする場合は、TEXT_UTF16 コンフィグレーション キーワードを指定できます。そうすると、UTF-16 で格納される属性列のテキスト文字が、中国文字をより効率よく格納するようになります。
フィールドとフィールド プロパティ
ArcCatalog または カタログ ウィンドウでフィーチャクラスを作成する際、フィーチャクラスに含まれるフィールドを指定できます。また、フィーチャのタイプやフィールドに格納できるデータの最大サイズといった、フィールドのプロパティを指定することもできます。各フィールド タイプには、それぞれ固有のプロパティがあります。
すべてのフィールドには、次のようなプロパティがあります。
- エイリアス: フィーチャクラス フィールドの別名。フィールドの正式名とは異なり、エイリアスはデータベースの制限の対象にならないため、スペースや特殊文字を使用することができ、数字から始めることができます。ジオデータベースのフィーチャクラスに対するフィールド エイリアスのみ指定できます。
- NULL 値を許可: このプロパティは、フィールドの作成時に NOT NULL 制約がフィールドに適用されるかどうかを制御します。[NULL 値を許可] が [いいえ] に設定されていると、データベースのフィールド定義に NOT NULL 制約が含まれます。反対に、デフォルトの [はい] のままにすると、フィールドに NULL 値を使用できます。
- デフォルト値: ArcMap の編集ツールでフィーチャやオブジェクトを作成するときに自動的に設定されるデフォルト値。デフォルトのフィールド値は、ジオデータベースのフィーチャクラスにのみ指定できます。
- 長さ: 入力可能な最大文字数を決定する、テキスト フィールドのプロパティ。
すべてのフィーチャクラスには、フィーチャクラスの特定のオブジェクトの状態を記録するために必要な、一連の必須フィールドがあります。これらの必須フィールドは、フィーチャクラスの作成時に自動的に作成され、削除することはできません。必須フィールドには、ドメイン プロパティなど、必須プロパティが含まれることがあります。必須フィールドの必須プロパティを変更することはできません。
たとえば、ポリゴン フィーチャクラスでは、ObjectID と Shape は必須フィールドです。ジオメトリ タイプなどのプロパティは変更できますが、これらのフィールドを削除することはできません。
ジオデータベースにライン フィーチャクラスを作成した場合、ラインの長さを記録するために、フィーチャクラスにフィールドが自動的に追加されます。ポリゴン フィーチャクラスを作成した場合、各ポリゴン フィーチャの長さ (周長) と面積を記録するために、2 つのフィールドが自動的に追加されます。これらの値の計測単位は、フィーチャクラスに対して定義された空間参照に依存します。これらのフィールドの名前は、使用しているデータベースと空間タイプによって異なります。これらは必須フィールドで変更できません。
ArcGIS では、エンタープライズ ジオデータベース内に格納されるフィーチャクラスに対して、特定のフィールド名が完全修飾名で表示されます。たとえば、Area という名前のフィールドが含まれたポリゴン フィーチャクラスを作成またはインポートする場合は、それにデータベース、スキーマ、フィーチャクラスの名前が追加されます。これはフィーチャクラスの属性テーブルに表示される名前です。つまり、archsites という名前のポリゴン フィーチャクラスが museum データベースの prof スキーマに格納されていた場合、Area フィールドは次のように表示されます。
MUSEUM.PROF.ARCHSITES.AREA
エンタープライズ ジオデータベースで完全修飾名となるフィールド名は、次のとおりです。
FID、AREA、LEN、POINTS、NUMOFPTS、ENTITY、EMINX、EMINY、EMAXX、EMAXY、EMINZ、EMAXZ、MIN_MEASURE、MAX_MEASURE
このような場合は、異なるフィールド名またはフィールド エイリアスの使用を検討する必要があります。
フィールドのインポート
フィーチャクラスを作成する際には、必要に応じて、別のフィーチャクラスまたはテーブルのフィールドをインポートすることができます。これにより、別のフィーチャクラスやテーブルを、作成しているフィーチャクラスのフィールド定義のテンプレートとして使用することができます。フィールドをインポートした後で、フィールドの名前、データ タイプ、およびプロパティを編集できます。
フィーチャクラスの作成時にフィールドをインポートしても、必須フィールドは影響を受けません。たとえば、新しいフィーチャクラスの Shape フィールドのジオメトリ タイプ プロパティをポイントに設定した場合、ジオメトリ タイプ プロパティがポリゴンのフィーチャクラスからフィールドをインポートしても、ポイント プロパティは上書きされません。