フィーチャクラスを作成する際には、その構造を定義する複数のフィーチャクラス プロパティを指定する必要があります。
ほとんどの場合は、[フィーチャクラスの新規作成] ウィザードが提供するプロパティのデフォルト値を適用するのが最も効果的です。 このセクションでは、フィーチャクラスの各プロパティを取り上げ、デフォルト値以外の値を使用する必要がある状況とその理由、およびそれらの値がデータにどのように影響するかについて説明します。
データ モデルに適したフィーチャクラスの作成は、以下に示すフィーチャクラス プロパティによって決まります。
名前/エイリアス
フィーチャクラス名は、フィーチャクラスを識別する一意なラベルです。 フィーチャクラスの最も一般的な名前は、MajorRoads や Major_Roads のように、大文字と小文字を組み合わせた名前、またはアンダースコアを使用する名前です。
フィーチャクラスを作成する際には、フィーチャクラスに格納されるデータを示すような名前を付けます。 フィーチャクラス名はデータベースまたはジオデータベースにおいて一意でなければなりません。同じ名前のフィーチャクラスを複数作成することはできません。 別々のフィーチャ データセットに属している場合でも、同じジオデータベース内で 2 つのフィーチャクラスに同じ名前を付けることはできません。
ただし、ArcGIS Desktop でフィーチャクラスの作成時に指定する名前は、データベースまたはジオデータベースに表示されるフィーチャクラスの名前ではありません。 データベースまたはジオデータベースでは、フィーチャクラスが格納されるスキーマの名前がフィーチャクラスの名前に追加されます。 Oracle 以外のすべてのデータベースでは、データベースの名前もフィーチャクラスの名前に追加されます。 これは完全修飾フィーチャクラス名と呼ばれます。 たとえば、ユーザー Werther が alpacas という名前のフィーチャクラスを spdata データベースに作成した場合、そのフィーチャクラスの完全修飾名は spdata.werther.alpacas になります。
ユーザーが作成するフィーチャクラスの名前にはユーザーの名前が追加されるため、別のユーザーが同じ alpacas という名前のフィーチャクラスを作成することも可能です。 たとえば、ユーザー Gretchen が alpacas という名前のフィーチャクラスを作成した場合、そのフィーチャクラスの完全修飾名は spdata.gretchen.alpacas になります。
ただし、別のスキーマやデータベースに格納される場合でも、フィーチャクラス名を再利用しないことをお勧めします。 この例では、両方のフィーチャクラスにアルパカ (alpaca) に関する情報が含まれるならば、別々のフィーチャクラスに分ける理由はありません。 2 つのフィーチャクラスに含まれるデータがまったく異なる場合は、フィーチャクラス名にそのことを反映させる必要があります。
フィーチャクラス名とテーブル名のルールと制限事項
次の表に、サポートされているフィーチャクラス名とテーブル名の文字ルールを示します。
文字 | 名前の先頭 | その他の位置 | エイリアス |
---|---|---|---|
文字 (A から Z) | |||
アンダースコア ( _ ) | |||
数字 (0–9) | |||
スペース | |||
シンボル (アンダースコア以外) | |||
上付き英数字 | |||
下付き英数字 |
その他のフィーチャクラス名とテーブル名のルールと制限事項は次のとおりです。
- フィーチャクラス名またはテーブル名に予約語 (select や add など) を含めることはできません。その他の予約語については、DBMS (データベース管理システム) のドキュメントをご参照ください。
- 次の接頭辞が付くフィーチャクラス名またはテーブル名はサポートされていません。
- gdb_
- sde_
- delta_
- フィーチャクラスおよびテーブルの名前の長さは基盤となるデータベースによって異なります。 データベース固有の制限事項の詳細については「ファイル ジオデータベースのサイズと名前の制限」または「データベース データと ArcGIS」をご参照ください。
エイリアス
ジオデータベースでテーブルまたはフィーチャクラスを作成する際には、それらにエイリアスを割り当てることができます。 エイリアスとは、別名のことです。 エイリアスが割り当てられたテーブルまたはフィーチャクラスを 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 コンフィグレーション キーワードで、デフォルトの格納パラメーターを指定します。
コンフィグレーション キーワードの選択は、パーソナル ジオデータベースまたはデータベースではサポートされていません。
ファイルまたはエンタープライズ ジオデータベースでフィーチャクラスを作成する際には、データベースが使用するコンフィグレーション キーワードを指定することができます。 ほとんどの場合は、DEFAULT キーワードを使用します。 ただし、特定のデータセットや特定のタイプのデータを作成する際、パフォーマンスを最適化するために、あるいはそれらのデータベースへの格納方法を何らかの形で調整するために、別のコンフィグレーション キーワードを指定することがあります。
次に、コンフィグレーション キーワードの例とそれらの用途を示します。
- DEFAULT - ほとんどのジオデータベースに使用される適切なデフォルト設定と格納設定が使用されます。
- MAX_FILE_SIZE_256TB - ファイル ジオデータベースに非常に大きな画像をインポートする場合は、MAX_FILE_SIZE_256TB コンフィグレーション キーワードを指定すると、ジオデータベースに最大で 256TB のラスター データセットを格納できます。
- TEXT_UTF16 - 中国語の文字を含んでいるフィーチャクラスをファイル ジオデータベースにコピーする場合は、TEXT_UTF16 コンフィグレーション キーワードを指定できます。そうすると、UTF-16 で格納される属性列のテキスト文字が、中国語の文字をより効率よく格納するようになります。
フィールドとフィールド プロパティ
ArcCatalog または [カタログ] ウィンドウでフィーチャクラスを作成する際、フィーチャクラスに含まれるフィールドを指定できます。 また、フィーチャのタイプやフィールドに格納できるデータの最大サイズといった、フィールドのプロパティを指定することもできます。 各フィールド タイプには、それぞれ固有のプロパティがあります。
すべてのフィールドには、次のようなプロパティがあります。
- Alias - フィーチャクラス フィールドの別名。 フィールドの正式名とは異なり、エイリアスはデータベースの制限の対象にならないため、スペースや特殊文字を含めたり、数字から始めたりすることができます。 ジオデータベースのフィーチャクラスに対するフィールド エイリアスのみ指定できます。
- Allow Nulls - このプロパティは、フィールドの作成時に NOT NULL 制約がフィールドに適用されるかどうかを制御します。 [NULL 値を許可] が [いいえ] に設定されていると、データベースのフィールド定義に NOT NULL 制約が含まれます。 デフォルトの [はい] のままにすると、フィールドに NULL 値を使用できます。
- Default Value - ArcMap の編集ツールでフィーチャやオブジェクトを新規に作成する場合に自動的に設定されるデフォルト値を入力できます。 デフォルトのフィールド値は、ジオデータベースのフィーチャクラスにのみ指定できます。
- Length - 入力可能な最大文字数を決定する、テキスト フィールドのプロパティ。
すべてのフィーチャクラスには、フィーチャクラスの特定のオブジェクトの状態を記録するために必要な、一連の必須フィールドがあります。 これらの必須フィールドは、フィーチャクラスの作成時に自動的に作成され、削除することはできません。 必須フィールドには、ドメイン プロパティなど、必須プロパティが含まれることがあります。 必須フィールドの必須プロパティを変更することはできません。
たとえば、ポリゴン フィーチャクラスでは、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 フィールドのジオメトリ タイプ プロパティが設定されているフィーチャクラスからフィールド定義をインポートしても、そのフィーチャクラスのジオメトリ タイプは上書きされません。