2D/3D 結果の例
以下に、3D データに対して WITHIN_A_DISTANCE または WITHIN_A_DISTANCE_3D 空間リレーションシップを使用して得られるさまざまな結果について、例を挙げながら解説します。部屋 (紫の立方体) を [入力フィーチャ レイヤー] とし、小さい黄色の円を [選択フィーチャ] とします。この操作は、「特定の X、Y、Z 位置 (黄色のドット) から一定距離内にあるのはどの部屋か?」という質問に対する答えを試みたものです。使用する [リレーションシップ] に応じて、結果はかなり違ってきます。WITHIN_A_DISTANCE リレーションシップを使用した場合、一定距離内 (X 座標および Y 座標に限定) のすべての部屋を選択すると、最下階から最上階までの部屋が選択されます。
ただし、WITHIN_A_DISTANCE_3D リレーションシップを使用している場合は、X、Y、Z 位置 (黄色いドット) と個々の部屋との間の距離測定には 3D 測定値が使用されるため、選択されたポイントを基点とした厳密な 3D 距離内に 2 ~ 3 の部屋だけが生成されます。
有効な入力レイヤーおよびレイヤーの選択
次のいずれかの基準を満たすレイヤーは、入力レイヤーとして有効であり、またレイヤーの選択にも有効です。
- ジオメトリ タイプがポイント、マルチポイント、ライン、マルチパッチ、ポリゴンのいずれかに該当する、フィーチャクラスからのレイヤー。
- 3D シンプル マーカー、3D 絵文字マーカー シンボル、3D ライン シンボルのいずれかのレンダラーを使用する、ArcScene 内または ArcGlobe 内のレイヤー。このような場合は、ジオメトリ フィーチャのかわりに、レンダラーのシンボルが使用されます。
- 基準高度や立ち上げを使用する、ArcScene 内または ArcGlobe 内のレイヤー。
- レイヤー ファイル (*.lyr) を参照するレイヤーも、参照先のレイヤー ファイルが上記のいずれかの基準を満たしていれば有効です。この基準を実際に適用できるのは、(ArcScene および ArcGlobe 外部の) スクリプトで操作を実行しているときなどです。
最適な結果を得るには
3D レンダラーを使用した場合に、リレーションシップを満たすかどうかの評価に使用されるのは、シンボルのサーフェスです。この理由は、3D マーカーは、3D ソリッドとしてではなく、サーフェスを表すマルチパッチとして実装されているためです。
非投影座標系に格納されているデータ (つまり、地理座標系に格納されているデータ) に対して WITHIN_A_DISTANCE_3D を使用したときに最適な結果が得られない場合、次の原因が考えられます。
- 度 (10 進) から距離単位への変換において、大規模な地理範囲全体で一貫性が得られないこと。
- 地理座標系でサポートされているグローバル距離が、地表面の曲率を考慮したものではない (測定対象が常に平面である) こと。