フィーチャクラスを作成する際には、その構造を定義する複数のフィーチャクラス プロパティを指定する必要があります。
ほとんどの場合は、これらのプロパティのデフォルト値を適用するのが最も効果的です。このセクションでは、フィーチャクラスの各プロパティを取り上げ、デフォルト値以外の値を使用する必要がある状況とその理由、およびそれらの値がデータにどのように影響するかについて説明します。
データ モデルに適したフィーチャクラスの作成は、以下に示すフィーチャクラス プロパティによって決まります。
名前とエイリアス
フィーチャクラス名は、フィーチャクラスを識別する一意なラベルです。フィーチャクラスの最も一般的な名前は、MajorRoads や Major_Roads のように、大文字と小文字を組み合わせた名前、またはアンダースコアを使用する名前です。
フィーチャクラスを作成する際には、フィーチャクラスに格納されるデータを示すような名前を付けます。フィーチャクラス名はデータベースまたはジオデータベースにおいて一意でなければなりません。同じ名前のフィーチャクラスを複数作成することはできません。別々のフィーチャ データセットに属している場合でも、同じジオデータベース内で 2 つのフィーチャクラスに同じ名前を付けることはできません。
ただし、フィーチャクラスの作成時に指定する名前は、データベースまたはジオデータベースに表示されるフィーチャクラスの名前ではありません。データベースまたはジオデータベースでは、フィーチャクラスが格納されるスキーマの名前がフィーチャクラスの名前に追加されます。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」をご参照ください。
メモ:
フィールド名の変更とフィールド名のルールと制限事項の詳細については、「フィールド名」をご参照ください。
エイリアス
ジオデータベースでテーブルまたはフィーチャクラスを作成する際には、それらにエイリアスを割り当てることができます。エイリアスとは、別名のことです。エイリアスを割り当てたテーブルまたはフィーチャクラスをマップに追加すると、そのエイリアスがユーザーに表示される名前になります。ただし、[プロパティ] ダイアログ ボックスの [ソース] タブにアクセスして、テーブルまたはフィーチャクラスの名前を参照することができます。
ジオプロセシング ツールを使用してジオデータベース内のフィーチャクラスまたはテーブルを作成する場合、エイリアスを指定するパラメーターはありません。ただし、[プロパティ] ダイアログ ボックスの [ソース] タブでテーブルまたはフィーチャクラスのエイリアスを設定できます。
- [カタログ] ウィンドウで、フィーチャクラスまたはテーブルを右クリックします。
- [プロパティ] をクリックします。
- [ソース] タブをクリックします。
- [エイリアス] プロパティをクリックして、名前の編集を有効にします。
- エイリアスを入力して [OK] をクリックします。そのテーブルまたはフィーチャクラスのエイリアスが設定されます。
フィーチャクラスのタイプ
ベクター フィーチャ (ベクター ジオメトリを持つ地理オブジェクト) は、地理データ タイプによく使用され、道路、都道府県、土地区画などの明確な境界を持つフィーチャを表すのに適しています。フィーチャとは、その地理表現を行のプロパティ (フィールド) の 1 つとして格納するオブジェクトです。地理表現は、通常はポイント、ライン、またはポリゴンです。ArcGIS のフィーチャクラスは、共通の空間表現を持ち、データベース テーブルに同じ属性情報が格納されている、同じ種類のフィーチャの集まりです。たとえば、ライン フィーチャクラスは、道路の中心線を表します。
メモ:
フィーチャクラスを作成する際には、フィーチャクラスのタイプ (ポイント、マルチポイント、ポリライン、マルチパッチなど) を定義するために、フィーチャのタイプを設定する必要があります。
一般に、フィーチャクラスはポイント、ライン、ポリゴンの主題別の集合ですが、フィーチャクラス タイプがいくつか存在します。最初の 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 倍です。許容値に大きい値を設定すると座標データの正確さが低下し、許容値に小さい値を設定すると座標データがより正確になります。
メモ:
許容値が異なると、リレーショナル/トポロジ処理の結果が異なる場合があります。たとえば、2 つのジオメトリが最小許容値では分断されている (共通のポイントがない) と分類され、それよりも大きい許容値では接していると判断される場合があります。
ヒント:
許容値のプロパティは、[フィーチャクラスの作成 (Create Feature Class)] ツールの [環境] タブで設定できます。
座標精度とドメイン範囲
フィーチャクラスまたはフィーチャ データセットのすべての座標は、選択した座標系に従ってジオリファレンスされ、グリッドにスナップされます。このグリッドは、座標値の精度 (有効桁数) を決定する座標精度によって定義されます。座標精度は、フィーチャクラスまたはフィーチャ データセットの範囲をカバーするグリッド メッシュの細かさを設定します。すべての座標がこのグリッドにスナップされます。グリッドの個々の線がどれくらい離されるかは座標精度によって決まります。
座標精度値は、関連する座標系と同じ単位で表されます。たとえば、空間参照にメートル単位の投影座標系が使用されている場合は、座標精度値がメートル単位で定義されます。少なくとも許容値の 1/10 以下の座標精度値を使用します。
デフォルトの (推奨) 座標精度値は、0.0001 メートル (1/10 mm)、またはマップ単位でそれに相当する値です。
たとえば、フィーチャクラスが State Plane Feet で格納される場合、デフォルトの座標精度は 0.0003281 フィート (0.003937 インチ) です。座標が緯度経度で記録される場合、デフォルトの座標精度は 0.000000001 度になります。
座標系が不明である場合または M 値の場合は、計測単位を明示的に設定せずに、データの種類に適した座標精度値を設定します。
ヒント:
座標精度とドメイン範囲のプロパティは、[フィーチャクラスの作成 (Create Feature Class)] ツールの [環境] タブで設定できます。
コンフィグレーション キーワード
テーブルまたはフィーチャクラスを作成する際に、コンフィグレーション キーワードを指定して、データを格納する方法を微調整できます。コンフィグレーション パラメーターは、1 つ以上のコンフィグレーション キーワードにまとめられます。そのうちの 1 つは DEFAULTS コンフィグレーション キーワードで、デフォルトの格納パラメーターを指定します。
ほとんどの場合は、DEFAULT キーワードを使用します。ただし、特定のデータセットや特定のタイプのデータを作成する際、パフォーマンスを最適化するために、あるいはそれらのデータベースへの格納方法を何らかの形で調整するために、別のコンフィグレーション キーワードを指定することがあります。
次に、コンフィグレーション キーワードの例とそれらの用途を示します。
- DEFAULT - ほとんどのジオデータベースに使用される適切なデフォルト設定と格納設定が使用されます。
- MAX_FILE_SIZE_256TB - ファイル ジオデータベースに非常に大きな画像をインポートする場合は、MAX_FILE_SIZE_256TB コンフィグレーション キーワードを指定すると、ジオデータベースに最大で 256TB のラスター データセットを格納できます。
- TEXT_UTF16 - 中国語の文字を含んでいるフィーチャクラスをファイル ジオデータベースにコピーする場合は、TEXT_UTF16 コンフィグレーション キーワードを指定できます。そうすると、UTF-16 で格納される属性列のテキスト文字が、中国文字をより効率よく格納するようになります。
フィールドとフィールド プロパティ
[フィーチャクラスの作成] ウィザードまたは [フィーチャクラスの作成 (Create Feature Class)] ツールを使用してフィーチャクラスを作成すると、ジオデータベースで管理されたフィールドだけがそのフィーチャクラスに追加されます。フィールド ビューでユーザー独自のフィールドをフィーチャクラスに追加できます。フィールド ビューを使用すると、フィールドのタイプやフィールドに格納できるデータの最大サイズなど、各フィールドの特定のプロパティを指定することができます。
すべてのフィールドには、次のようなプロパティがあります。
- Alias - フィーチャクラス フィールドの別名。フィールドの正式名とは異なり、エイリアスはデータベースの制限の対象にならないため、スペースや特殊文字を含めたり、数字から始めたりすることができます。ジオデータベースのフィーチャクラスに対するフィールド エイリアスのみ指定できます。
- Allow Nulls - このプロパティは、フィールドの作成時に NOT NULL 制約がフィールドに適用されるかどうかを制御します。[NULL 値を許可] が [いいえ] に設定されていると、データベースのフィールド定義に NOT NULL 制約が含まれます。デフォルトの [はい] のままにすると、フィールドに NULL 値を使用できます。
メモ:
ジオデータベース モデルは、データベースのフィールドに NOT NULL 制約が適用される場合のみ、データベース NULL の代わりに空の値 (数値 = 0、テキスト = "") を挿入します。
- 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 フィールドのジオメトリ タイプ プロパティが設定されているフィーチャクラスからフィールド定義をインポートしても、そのフィーチャクラスのジオメトリ タイプは上書きされません。
スプリット モデル
ライン フィーチャクラスまたはポリゴン フィーチャクラスが作成される際に、デフォルトで、スプリット モデルがフィーチャクラスに自動的に定義されます。スプリット モデルは、編集プロセス中にフィーチャを分割する際に、テーブル内のフィーチャのジオメトリとその属性を分割する方法を決定するために使用されます。
スプリット モデルには、次の定義可能な 2 つの振舞いがあります。
スプリット モデル名内のスラッシュは、分割されているフィーチャクラス内のフィーチャで発生する操作が順番に並んだリストを表しています。[更新/挿入] はデフォルトのスプリット モデルの振舞いであり、ほとんどのユーザーは変更する必要はありません。[削除/挿入/挿入] スプリット モデルは、分割を元のフィーチャの削除として識別する必要がある特定のモデリング要件 (相互運用およびデータ変換のための特定の形式に一致するなど) がある場合に適しています。
フィーチャクラスにスプリット モデルを定義する他に、リレーションシップ クラスにスプリット ポリシーを定義することもできます。リレーションシップ クラスのスプリット ポリシーは、編集プロセス中に関連元のフィーチャクラス内のフィーチャを分割する際に、関連先テーブル内の関連レコードをどう処理するかを決定するために使用されます。リレーションシップ クラスのタイプ (シンプルまたはコンポジット) に応じて、定義可能なスプリット ポリシーの振舞いは異なります。これには、[デフォルト (シンプル)]、[デフォルト (コンポジット)]、および [関連オブジェクトの複製] があります。
このリレーションシップ クラスのプロパティの設定方法と使用方法については、「リレーションシップ クラスのスプリット ポリシー」をご参照ください。
[フィーチャクラスのスプリット モデルを設定 (Set Feature Class Split Model)] ジオプロセシング ツールを使用して、フィーチャクラスのスプリット モデルを変更できます。
メモ:
入力フィーチャクラスをエンタープライズ ジオデータベースから取得する場合、このツールを実行するにはデータ所有者である必要があります。
更新/挿入
デフォルトで、[更新/挿入] スプリット モデルは、作成時にフィーチャクラスに設定されます。そのため、このフィーチャクラス内のフィーチャは編集中に分割され、元のフィーチャが更新されて最大のフィーチャになり、小さいフィーチャが新しい行としてテーブルに挿入されます。
例 ([更新/挿入]):
次の画像は、OBJECTID 2 という 1 つのケーブルがケーブル フィーチャクラス内で分割され、スプリット モデルがデフォルト値 ([更新/挿入]) に設定される前と後を示しています。分割前に最初の行 (OBJECTID 2) が選択され、この選択したフィーチャを分割するために分割編集ツールが使用されます。分割後、最初の行 (OBJECTID 2) は残り、そのジオメトリと OBJECTID 属性値は更新されています。これは、分割後に最大のフィーチャが OBJECTID 2 に含まれ、OBJECTID が 5 の小さいフィーチャが新しい行としてテーブルに挿入されたことを示しています。分割後、OBJECTID 2 と OBJECTID 5 の長さの合計は、分割される前の OBJECTID 2 の元の長さと同じです。
削除/挿入/挿入
スプリット モデルが [削除/挿入/挿入] としてフィーチャクラスに設定された後で、編集中にこのフィーチャクラス内のフィーチャが分割されると、分割操作により分割された元のフィーチャが削除され、続いて両方のフィーチャクラスが新しい 2 つの行を持つ新しいフィーチャとしてテーブルに挿入されます。
メモ:
スプリット モデルが [削除/挿入/挿入] に設定されたフィーチャクラスは、ArcGIS Pro 2.6 または ArcGIS Enterprise 10.8.1 以前のバージョンでは開きません。
例 (削除/挿入/挿入)
次の画像は、OBJECTID 2 という 1 つのケーブルがケーブル フィーチャクラス内で分割され、スプリット モデルが [更新/挿入] に設定される前と後を示しています。分割前、[フィーチャクラスのスプリット モデルを設定 (Set Feature Class Split Model)] ジオプロセシング ツールを実行して、スプリット モデルが [削除/挿入/挿入] に変更されました。最初の行 (OBJECTID 2) が選択され、この選択したフィーチャを分割するために分割編集ツールが使用されます。分割後、最初の行 (OBJECTID 2) が削除され、新しい 2 つの行 ( OBJECTID 6 と OBJECTID 7) が挿入されました。分割後、挿入された新しい 2 つのフィーチャの長さの合計は、分割される前の元のフィーチャの長さと同じです。
注意:
バージョン対応登録されたフィーチャクラスでスプリット モデルが [削除/挿入/挿入] に設定され、同じフィーチャが 2 つの方法で 2 つのバージョン (デフォルトと子バージョンなど) の中で分割された場合、元のフィーチャが削除され、新しい 2 つのフィーチャが挿入されるため、競合は表示されません。したがって、子バージョンにはリコンサイル時に分割のすべてのバリエーションが最終的に含まれます。デフォルトの [更新/挿入] スプリット モデルを使用すると、同じフィーチャが 2 つの方法で 2 つのバージョンに分割され、更新/更新の競合が生成されて、行った編集内容に不正があることをユーザーに警告します。
フィーチャクラスのプロパティ
フィーチャクラスのスプリット モデルは、[フィーチャクラス プロパティ] ダイアログ ボックスの [ソース] タブで、[スプリット モデル] まで下にスクロールして確認できます。