[空間検索 (Select Layer By Location)] ツールでは、[選択フィーチャ] パラメーターに指定したレイヤーと同じものを [入力フィーチャ レイヤー] に指定できます。この動作は、レイヤー内の隣接フィーチャ、接続されたフィーチャ、または近傍フィーチャを選択する場合に便利です。必要な分析や結果を生成するために、さまざまな [リレーションシップ] オプションを使用できます。[リレーションシップ] オプションの違いについては、「空間検索: 図の例」をご参照ください。
スクリプト内部のループや、ModelBuilder の For および While 反復子をこの方法と組み合わせて使用し、反復の回数に基づいて、または何らかの条件が一致した場合に、選択を拡大することができます。一般的な条件の 1 つに、新しいフィーチャが選択に追加されなくなるまで拡大するという条件があります。[行のカウント (Get Count)] ツールは、選択フィーチャ数の変化が止まったら (つまり、拡大が止まったら) 確定させることができます。
さまざまなデータ タイプとリレーションシップ オプションに対し、この機能を使用して実行した分析の例を、次に示します。
隣接した郡に対して選択を拡大する
次の例では、選択を単一の郡から隣接する郡に拡大し、この操作が 2 回繰り返されます。これは、[境界に接する] (Python では BOUNDARY_TOUCHES) または [交差する] (Python では INTERSECT) リレーションシップのいずれかを使用するときに効果があります。
交差するポリゴンに対して選択を拡大する
次の例では、選択を元の 2 つのポイントから拡大するために、[交差する] リレーションシップを使用します。元の選択から指定された範囲内にあるフィーチャを選択するために、[一定距離内にある] (Python では WITHIN_A_DISTANCE) を使用することもできます。
接続されている道路を選択する
選択を拡大する方法は、ポリゴン レイヤーに限られるものではありません。ライン データに使用することも可能です。元の選択に接続されている道路の選択を拡大していく例を次に示します。[交差する] リレーションシップは、選択された道路に接するすべての道路を選択しますが、[境界に接する] リレーションシップは、選択された道路上に端点を持つ (重ならない) 道路だけを含めます。