フィーチャクラスの基礎

フィーチャクラスは共通フィーチャの同種のコレクションであり、それぞれポイント、ライン、ポリゴンなどの同じ空間的な表現と共通の属性列を持ちます (道路の中心線を表すライン フィーチャクラスなど)。 最もよく使用される 4 つのフィーチャクラスは、ポイント、ライン、ポリゴン、アノテーション (マップ テキストの用語) です。

次の図では、これらは同じエリアの 4 つのデータセットを表すために使用されています。

  • マンホールの位置を表すポイント
  • 下水管を表すライン
  • パーセル ポリゴン
  • 道路の名前を示すアノテーション

ジオデータベースで最もよく使用される 4 つのフィーチャクラス

この図を見ると、高度なフィーチャ プロパティをモデリングできる可能性があることもわかります。 たとえば、下水管とマンホールは下水設備ネットワークを構成しますが、このシステムでは流出と流向をモデリングできます。 また、隣接する土地区画が境界線を共有していることにも注目してください。 土地区画を使用するほとんどのユーザーは、データセットに含まれる共有フィーチャの境界線の整合性をトポロジに基づいて管理します。

先に述べたように、地理データセットでは、空間的な関連性や振舞いなどのモデルが必要になることがよくあります。 このような場合は、高度なジオデータベース エレメント (トポロジ、ネットワーク データセット、テレイン) を追加して、基本的なフィーチャクラスを拡張できます。

フィーチャクラスのタイプ

ベクター フィーチャ (ベクター ジオメトリを持つ地理オブジェクト) は汎用性が高く、地理データセットによく使用され、道路、都道府県、土地区画などの明確な境界を持つフィーチャを表すのに適しています。 フィーチャとは、その地理表現 (通常はポイント、ライン、ポリゴン) を行のプロパティ (またはフィールド) の 1 つとして格納するオブジェクトです。 ArcGIS のフィーチャクラスは、共通の空間表現を持ち、データベース テーブルに同じ属性情報が格納されている、同じ種類のフィーチャの集まりです。たとえば、ライン フィーチャクラスは、道路の中心線を表します。

注意:

フィーチャクラスを作成する際には、フィーチャクラスのタイプ (ポイント、マルチポイント、ポリライン、マルチパッチなど) を定義するために、フィーチャのタイプを設定する必要があります。

一般に、フィーチャクラスはポイント、ライン、ポリゴンの主題別の集合ですが、フィーチャクラス タイプがいくつか存在します。 最初の 3 つのタイプは、データベースおよびジオデータベースでサポートされます。 残りの 4 つのタイプは、ジオデータベースのみでサポートされます。

  • ポイント - ラインまたはポリゴンとして表すには小さすぎるフィーチャおよびポイント ロケーション (GPS 観測など)
  • ライン - 道路のセンターライン、河川など、エリアとして表すには狭すぎる地理オブジェクトの形状と場所を表します。 ラインは、等高線や境界線のように、長さはあるものの面積がないフィーチャを表す場合にも使用されます。
  • ポリゴン - 州、郡、土地区画、土壌タイプ、土地利用区画などの同種のフィーチャ タイプの形状と場所を表す、多辺的フィーチャ
  • アノテーション - テキストをレンダリングするためのプロパティを含んだマップ テキスト。 たとえば、各アノテーションのテキスト文字列に加えて、テキストを配置するシェープ ポイント、フォントサイズとポイントサイズ、その他の表示プロパティが含まれます。 アノテーションは、フィーチャリンク アノテーションとして作成することもでき、サブクラスを含むこともできます。
  • ディメンション: 建物の幅、土地区画の一辺の長さ、2 つのフィーチャ間の距離など、特定の長さや距離を示す特殊なアノテーション。 ディメンションは、GIS における設計、エンジニアリング、設備管理の用途でよく使用されます。
    ジオデータベースのディメンション フィーチャのスタイル例
  • マルチポイント - 複数のポイントで構成されるフィーチャ。 マルチポイントは、ポイント数が数十億に上ることもある LiDAR ポイント クラスターなど、膨大な数のポイント コレクションの配列を管理するためによく使用されます。 このようなポイント ジオメトリに単一の行を使用することは現実的ではありません。 これらのマルチポイント行でクラスタリングすれば、ジオデータベースを膨大な数のポイント セットに対応させることができます。

    LiDAR 観測のマルチポイント フィーチャクラスの内容を表す緑のポイント
  • マルチパッチ - 3 次元空間で不連続なエリアまたはボリュームを占めるフィーチャの外面サーフェス (シェル) を表すために使用される 3D ジオメトリ。 マルチパッチは、3 次元シェルをモデリングするときに組み合わせて使用される平面の 3D リングと三角形で構成されます。 マルチパッチを使用すると、球体や立方体などのシンプルなオブジェクトから、等値面や建造物などの複雑なオブジェクトまで、あらゆるオブジェクトを表現できます。

    都市部の一連の建物からなるマルチパッチ フィーチャクラス

  • 3D オブジェクト - 3 次元空間で不連続なエリアまたはボリュームを占めるフィーチャの外面サーフェス (シェル) に沿って、マテリアルなどの追加形式を表現できるようサポートすることに特化した 3D ジオメトリ。 3D オブジェクトを使用すると、光沢や粗さなどの美的表現をサポートするためのハイレベルな細かい描写によりマテリアルを表現できます。 球体や立方体などのシンプルなオブジェクトや高度なオブジェクトや、等値面や建築材料などの複雑な構造物で使用できます。 3D オブジェクトは、高度な関連テーブルを使用して、マテリアルの複数のコンポーネントを格納します。 これらのテーブルは、平面の 3D のリングとトライアングルとともに、3 次元の外郭構造をモデリングするときに組み合わせて使用されます。

フィーチャ ジオメトリとフィーチャ座標

フィーチャクラスには、各フィーチャのジオメトリック シェープ (幾何形状) とそれを説明する属性の両方が含まれます。 各フィーチャ ジオメトリは、主にそのフィーチャ タイプ (ポイント、ライン、ポリゴン) によって定義されます。 しかし、追加のジオメトリック プロパティを定義することもできます。 たとえば、フィーチャは、シングルパートまたはマルチパートであり、3D 頂点やメジャー値 (M 値) を持ち、パラメーターで定義されたカーブを含むことができます。 このセクションでは、これらの機能の概要について説明します。

シングルパートとマルチパートのラインとポリゴン

ライン フィーチャクラスとポリゴン フィーチャクラスは、シングルパートまたはマルチパートで構成することができます。 たとえば、州はマルチパートで構成される場合がありますが (ハワイ諸島など)、単一の州フィーチャと見なされます。

頂点、線分、標高、メジャー値

フィーチャ ジオメトリは、主に座標頂点で構成されています。 ライン フィーチャとポリゴン フィーチャの線分は、これらの頂点同士を結びます。 線分は、直線のエッジまたはパラメーターで定義されたカーブのいずれかになります。 フィーチャの頂点には、高さを表す Z 値と、ライン フィーチャに沿ったメジャー値 (距離) を表す M 値を追加することもできます。

ライン フィーチャとポリゴン フィーチャの線分タイプ

ラインおよびポリゴンは、2 つの重要なエレメントで定義されます。つまり、ラインまたはポリゴンの形状を定義する頂点が順番に並んだリストと、各頂点間に使用される線分の種類です。 各ラインおよびポリゴンは、頂点を順番に並べたもので、これらを結ぶとジオメトリック シェープを形成できます。 あるいは、接続された線分を順番に並べたもので、線分の種類は直線、円弧、楕円弧、ベジェ曲線のいずれかである、と考えることもできます。

直線と曲線が混在している土地区画フィーチャの境界線

デフォルトの線分タイプは、2 つの頂点を結ぶ直線です。 ただし、曲線やパラメトリック シェープを定義する必要がある場合は、さらに円弧、楕円弧、ベジェ曲線の 3 つのタイプを定義することができます。 これらのシェープは、土地区画の境界線や道路などの人工環境を表すためによく使用されます。

Z 値を使用する垂直方向の計測値

フィーチャ座標には、X,Y 頂点および X,Y,Z 頂点を含めることができます。 Z 値は、標高を表す場合に最もよく使用されますが、年間降水量や大気質観測などの計測値を表すこともできます。

フィーチャには X,Y 座標を定義できるだけでなく、必要に応じて Z 標高値を追加することもできます。

M 値を使用する距離の計測値

ライン フィーチャの頂点には、M 値 (メジャー値) を追加することもできます。 一部の GIS アプリケーションでは、道路、河川、パイプラインなどの線形フィーチャに沿った距離を補完するために、線形の計測値を使用します。 フィーチャの各頂点に M 値を割り当てることができます。 よく使用されるのは、交通局が高速道路の舗装状態、制限速度、事故現場、およびその他のイベントを記録するために使用する、マイルポスト計測システムです。 よく使用される計測単位は、郡の境界線などの固定の位置からマイルポストまでの距離と、参照マーカーからの距離などがあります。

ラインの計測値の頂点は、(X,Y,M) または (X,Y,Z,M) のどちらかとなります。

これらのデータセットのサポートは、多くの場合にリニア リファレンスと呼ばれます。 これらの計測システム上で発生するイベントの位置を特定するプロセスは、ダイナミック セグメンテーションと呼ばれます。

計測された座標値はこれらのシステムの構成要素を形成します。 ArcGIS のリニア リファレンスの実装では、ルートという用語は、市街道路、高速道路、河川、パイプなどの線形フィーチャを表します。これらは、一意な識別子と線形フィーチャ上の共通の計測システムを持ちます。 共通の計測システムを持つルートのコレクションは、ライン フィーチャクラスに構築することができます。

フィーチャ許容値

GIS データの管理で高精度なデータを管理するためには、座標位置の正確性と保持が非常に重要です。 鍵となる要件は、十分な精度の座標情報を格納できる機能です。 座標の精度は、位置の記録に使用する桁数の多さで決まります。 これは、空間データの収集と管理の座標精度を定義します。

ジオデータベースとデータベースには高精度の座標値を格納できるので、ユーザーはデータを取得するツールやセンサーの向上に応じて (たとえば、測量や土木建築によるデータ入力、地籍および COGO のデータ取得、画像解像度の向上、LIDAR、CAD による建築設計図など)、高い正確度で高精度なデータセットを構築できます。

ArcGIS は、整数値を使って座標を格納し、高い精度で位置を扱うことができます。 さまざまな ArcGIS の操作では、いくつかの主要なジオメトリック プロパティを使用してフィーチャ座標が処理および管理されます。 これらのプロパティは、各フィーチャクラスまたはフィーチャ データセットの作成時に定義されます。

次のジオメトリック プロパティは、さまざまな空間処理と幾何学的な操作で使用される座標の精度と処理の許容値を定義するのに役立ちます。

  • XY 座標精度: フィーチャクラスの座標を記録するときの精度
  • XY 許容値: 同一ジオメトリを持つフィーチャをクラスタリングするときに使うクラスター許容値で、トポロジ、フィーチャ オーバーレイ、および関連する操作で使用します。
  • Z 許容値と Z 座標精度: 3 次元データセットの場合 (標高の測定など) に使う垂直座標の許容値および座標精度プロパティ
  • M 許容値と M 座標精度: リニア リファレンス データセットでライン フィーチャと合わせて使われる測定 (メートル単位で測定する道路上の距離など) の許容値および座標精度プロパティ

XY 座標精度

フィーチャクラスまたはフィーチャ データセットの XY 座標精度は、XY 座標値を格納する場合に使用する数値の精度です。 精度は、フィーチャの正確な表現、分析、マッピングに重要となります。

XY 座標精度では、フィーチャ座標 (X と Y の両方) を格納する場合に使用する小数点以下の桁数または有効桁数を定義します。 座標精度については、すべての座標がスナップされる非常に細かいグリッド メッシュの定義として考えることができます。 ArcGIS の座標値は、実際には整数として格納され、処理されます。 したがって、このグリッド メッシュを整数グリッドまたは座標グリッドと呼ぶことがあります。

座標精度では、すべての座標が収まる座標グリッドのメッシュ間の距離を定義します。 XY 座標精度は、State Plane フィート、UTM メートル、Albers メートルなど、データの単位 (座標系に基づく) で表現されます。

フィーチャクラスのデフォルトの XY 座標精度は 0.0001 メートル、またはデータセットの座標系の単位でそれに相当する値です。 たとえば、フィーチャクラスが State Plane Feet で格納される場合、デフォルトの座標精度は 0.0003281 フィート (0.003937 インチ) です。 座標が緯度経度で記録される場合、デフォルトの XY 座標精度は 0.000000001 度になります。

次の図は、すべての座標値がグリッド メッシュにスナップされる座標グリッドの概念図です。 グリッドは、各データセットの範囲をカバーします。 このメッシュの細かさ (グリッド内のライン間の距離) は XY 座標精度で定義されますが、これは非常に小さいものです。

XY 座標精度のグリッド メッシュ

必要に応じて、XY 座標精度のデフォルト値を上書きして、各フィーチャクラスまたはフィーチャ データセットに別の座標精度を設定することもできます。 XY 座標精度の値をより小さく設定すると、大きい値を使用した場合と比べて、データセットのデータ格納サイズと処理時間が増える可能性があります。

XY 許容値

フィーチャクラスを作成する際には、XY 許容値を設定する必要があります。 XY 許容値は、トポロジの検証、バッファーの生成、ポリゴン オーバーレイなどのクラスター処理や一部の編集処理で、座標間の最短距離を設定する場合に使用されます。

フィーチャの処理には XY 許容値が反映され、XY 許容値に基づいてすべてのフィーチャ座標 (ノードおよび頂点) の最短距離が決定されます。 当然ながら、クラスター処理の際に、X または Y 方向 (または両方向) に座標を移動できる距離も定義されます。

XY 許容値は、非常に小さい距離です (デフォルトは地表単位で 0.001 メートル)。 XY 許容値は、クラスター処理の際に、不正確な交差位置にある座標を解決するために使用されます。 ジオメトリ操作を使用してフィーチャクラスを処理する際、互いの X 方向の距離と Y 方向の距離が XY 許容値の範囲内にある座標は、同一です (つまり、同じ X,Y 位置を共有しています)。 このため、クラスタリングされた座標は共通の位置へ移動します。

同一の (相互に許容範囲内にある) 座標を一致させるために使用する XY 許容値

通常は、一方の座標がより正確な座標の位置へ移動するか、新しい位置がクラスター内の座標間で加重平均距離として計算されます。 このような場合、加重平均距離は、クラスタリングされる座標の精度ランクに基づきます。

各フィーチャクラスに対する正確なランクの設定方法については、「ArcGIS のトポロジ」をご参照ください。

クラスタリングのプロセスは、互いに XY 許容値の範囲内にある座標のクラスターを識別して、マップ全体にわたって移動するという仕組みになっています。 ArcGIS は、フィーチャ間の共有ジオメトリの検出、クリーンナップ、管理に、このアルゴリズムを使用します。 つまり、座標は同一です (同じ共有座標位置にスナップされます)。 これは GIS の多くの処理および概念の基礎です。

そうした処理の過程で座標を新しい場所へ移動するための最大距離は、「<XY 許容値 x 2> の平方根」で求められます。 クラスタリング アルゴリズムは反復的なので、場合によっては、座標位置がこの距離よりも移動する可能性があります。

デフォルトの XY 許容値は、0.001 メートル、またはデータセットの実際の座標系単位でこれに相当する値 (つまり、地表上の 0.001 メートル) に設定されます。 たとえば、座標系が State Plane Feet で記録される場合、デフォルトの XY 許容値は 0.0003281 フィート (0.003937 インチ) になります。

XY 許容値 = 座標精度の 10 倍

XY 許容値のデフォルト値は、デフォルトの XY 座標精度の 10 倍であり、ほとんどの場合に、この値が推奨されます。 座標の精度が低いデータに大きい許容値を設定するか、極めて精度の高いデータセットに小さい許容値を設定することができます。

X,Y 許容値は、ジオメトリ形状をジェネラライズするためのものではないことに注意してください。 XY 許容値は、トポロジ処理の過程で線画や境界線を統合するためのものであり、 互いに非常に近い距離にある座標同士を統合します。 座標は XY 許容値の範囲内で X,Y 方向に移動できるため、XY 許容値を使用するコマンドでデータセットを処理すれば、多くの問題を未然に防ぐことができます。 これには、微小なオーバーシュートやアンダーシュートの処理、重複する線分の不要部分の自動的な削除、境界線に沿った座標の削減が含まれます。

次に、便利なヒントをいくつか紹介します。

  • 通常は、XY 座標精度の 10 倍の XY 許容値を使用すると、良好な結果が得られます。
  • 座標の動きを小さくするには、XY の許容値を小さく保ちます。 ただし XY 許容値が小さすぎると (XY 座標制度の 3 倍以下など)、一致する境界と座標の線画が適切に統合されない場合があります。
  • 逆に、X,Y 許容値が大きすぎると、フィーチャの座標が互いに消失するおそれがあります。 これにより、フィーチャの境界線が正確に表現されなくなる可能性があります。
  • XY 許容値はデータを取得した座標精度に近い値に設定しないでください。 たとえば、マップ スケールが 1:12,000 の場合、1 インチは 1,000 フィート、1/50 インチは 20 フィートに相当します。 これらの数値を十分に下回る X,Y 許容値を使用して、座標の動きを維持してください。 この場合、デフォルトの XY 許容値は 0.0003281 フィートであり、妥当なデフォルト値です。実際には、特異なケースを除いて、常にデフォルトの XY 許容値を使用することが最も効果的です。
  • トポロジでは、各フィーチャクラスの座標ランクを設定することができます。 最も精度の高いフィーチャ (測量されたフィーチャなど) の座標ランクを 1 に設定し、次に精度の高いフィーチャから順に 2、3、... と設定します。 これにより、ランクの低い (したがって、座標の精度が低い) フィーチャの座標が、ランクの高いフィーチャに合わせて調整されます。

フィーチャクラスの格納

各フィーチャクラスは単一のテーブルで管理されます。 各行の Shape 列は、各フィーチャのジオメトリまたはシェープの格納に使用されます。

フィーチャクラス テーブルにおいて、以下の事項が当てはまります。

  • 各フィーチャクラスは 1 つのテーブルです。
  • 個々のフィーチャは行として保持されます。
  • フィーチャ属性は列に格納されます。
  • Shape 列は各フィーチャのジオメトリ (ポイント、ライン、ポリゴンなど) を格納します。
  • ObjectID 列は各フィーチャの一意な識別子を保持します。
    注意:

    フィーチャクラスとテーブルは 32 ビットの ObjectID で作成されます。 データセットの ObjectID フィールドを 64 ビットの ObjectID に移行するには、[ObjectID の 64 ビットへの移行 (Migrate Object ID To 64 Bit)] ツールを使用する必要があります。

ジオデータベースにライン フィーチャクラスを作成した場合、ラインの長さを記録するために、フィーチャクラスにフィールドが自動的に追加されます。 ポリゴン フィーチャクラスを作成した場合、各ポリゴン フィーチャの長さ (周長) と面積を記録するために、2 つのフィールドが自動的に追加されます。 これらの値の計測単位は、フィーチャクラスに対して定義された空間参照に依存します。 これらのフィールドの名前は、使用しているデータベースと空間タイプによって異なります。 これらは必須フィールドで変更できません。

フィーチャクラスの拡張

各フィーチャクラスは、同じジオメトリ タイプ、同じ属性、同じ空間参照を持つ地理フィーチャの集合です。 ジオデータベースに格納されたフィーチャクラスは、振舞いやデータ整合性を追加するため、拡張することができます。 以下は、ジオデータベースを使用してフィーチャクラスを拡張する方法とその理由です。

ジオデータベースでのフィーチャクラスの操作

オプション説明

サブタイプ

サブタイプを使用すると、一連のフィーチャ サブクラスを単一のフィーチャクラスで管理できます。 同じフィーチャ タイプのサブセットで異なる振舞いを管理するために、フィーチャクラス テーブルでよく使用されます。

属性ドメイン

属性ドメインを使用すると、属性列の有効な値のリスト、または有効な値の範囲を指定できます。 属性値の整合性を保証するためにドメインを使用します。 ドメインは、データ分類 (道路クラス、ゾーン コード、土地利用分類など) を適用する場合によく使用されます。

バージョニング

バージョニングを使用すると、データを管理する上で重要な GIS ワークフローを管理できます。 たとえば、長期にわたる更新のトランザクション、履歴アーカイブ、マルチユーザー編集をサポートします。