ArcGIS Desktop

  • ArcGIS Pro
  • ArcMap

  • My Profile
  • ヘルプ
  • Sign Out
ArcGIS Desktop

ArcGIS Online

組織のマッピング プラットフォーム

ArcGIS Desktop

完全なプロ仕様の GIS

ArcGIS Enterprise

エンタープライズ GIS

ArcGIS for Developers

位置情報利用アプリの開発ツール

ArcGIS Solutions

各種業界向けの無料のテンプレート マップおよびテンプレート アプリケーション

ArcGIS Marketplace

組織で使えるアプリとデータを取得

  • ドキュメント
  • サポート
Esri
  • サイン イン
user
  • マイ プロフィール
  • サイン アウト

ArcMap

  • ホーム
  • はじめに
  • マップ
  • 解析
  • データ管理
  • ツール
  • エクステンション

空間検索 (Select Layer By Location)

  • 概要
  • 使用法
  • 構文
  • コードのサンプル
  • 環境
  • ライセンス情報

概要

別のレイヤーのフィーチャに対する空間リレーションシップに基づいて、レイヤーのフィーチャを選択します。

入力フィーチャ レイヤーの各フィーチャは、選択フィーチャ レイヤーまたはフィーチャクラスのフィーチャに対して評価され、指定したリレーションシップを満たすと、その入力フィーチャが選択されます。

リレーションシップの図例

使用法

  • 入力として、フィーチャ レイヤーを指定します。フィーチャクラスは指定できません。

  • このツールは、ArcMap、ArcGlobe、または ArcScene のレイヤーの他、[フィーチャ レイヤーの作成 (Make Feature Layer)] ツールを使ってモデルやスクリプトに作成されたレイヤーに対して機能します。

  • 空間リレーションシップを評価する際の座標系は、結果に影響を与えます。ある座標系で交差するフィーチャが、別の座標系でも交差するとは限りません。

    • このツールは、空間リレーションシップを入力フィーチャ レイヤーのデータ ソース (ディスク上のフィーチャクラス) の座標系で評価します。空間リレーションシップを別の座標系で評価するには、出力座標系環境を設定します。

  • このツールを使って、同じレイヤー内の他のフィーチャへの空間リレーションシップに基づいて、フィーチャを選択することができます。例については、「レイヤー内での空間検索」をご参照ください。

  • [行のカウント (Get Count)] ツールを使用すると、[空間検索 (Select Layer By Location)] ツールで選択したフィーチャ数がわかります。この情報は、自動化されたワークフローの一部として分析を進める前に、フィーチャが目的の空間リレーションシップに一致しているかどうかを判断する際に役立ちます。

  • 3 次元空間リレーションシップ (INTERSECT_3D および WITHIN_A_DISTANCE_3D) の使用方法の詳細については、「空間検索の 3D リレーションシップ」をご参照ください。

構文

SelectLayerByLocation(in_layer, {overlap_type}, {select_features}, {search_distance}, {selection_type}, {invert_spatial_relationship})
パラメーター説明データ タイプ
in_layer

select_features に対して評価されるフィーチャを含むレイヤー。このレイヤーに選択が適用されます。ディスク上のフィーチャクラスへのパスを入力として指定することはできません。

Feature Layer; Mosaic Layer; Raster Catalog Layer
overlap_type
(オプション)

評価される空間リレーションシップ。

  • INTERSECT —入力レイヤー内のフィーチャは、そのフィーチャが選択フィーチャと交差している場合に選択対象になります。これがデフォルトです。
  • INTERSECT_3D —入力レイヤー内のフィーチャは、そのフィーチャが 3 次元空間 (X、Y、および Z) で選択しているフィーチャと交差している場合に選択対象になります。
  • WITHIN_A_DISTANCE —入力レイヤー内のフィーチャは、そのフィーチャが選択フィーチャから指定の距離内にある場合に選択対象になります。[検索距離] パラメーターに距離を指定します。
  • WITHIN_A_DISTANCE_3D —入力レイヤー内のフィーチャは、そのフィーチャが 3 次元空間で選択フィーチャから指定の距離内にある場合に選択対象になります。[検索距離] パラメーターに距離を指定します。
  • WITHIN_A_DISTANCE_GEODESIC —入力レイヤー内のフィーチャは、そのフィーチャが選択フィーチャから指定の距離内にある場合に選択対象になります。測地線手法を使用して、フィーチャ間の距離が計算されます。測地線手法は、地球の曲率を考慮して日付変更線と極点の上および周辺のデータを正確に処理します。
  • CONTAINS —入力レイヤー内のフィーチャは、そのフィーチャが選択フィーチャを包含している場合に選択対象になります。
  • COMPLETELY_CONTAINS —入力レイヤー内のフィーチャは、そのフィーチャが完全に選択フィーチャを包含している場合に選択対象になります。
  • CONTAINS_CLEMENTINI —この空間リレーションシップは、選択フィーチャが完全に入力フィーチャの境界線上にある (選択フィーチャのどの部分も入力フィーチャの内部または外部にない) 場合、そのフィーチャは選択されない点を除くと、COMPLETELY_CONTAINS と同じ結果になります。Clementiniは、境界線ポリゴンは内部と外部を分離するポリゴンであり、ラインの境界線はその端点で、ポイントの境界線は常に空であると定義しています。
  • WITHIN —入力レイヤーのフィーチャは、選択フィーチャに含まれる場合に選択対象になります。
  • COMPLETELY_WITHIN —入力レイヤー内のフィーチャは、完全に選択フィーチャに含まれる場合に選択対象になります。
  • WITHIN_CLEMENTINI —入力レイヤーのフィーチャ全体が選択レイヤーのフィーチャの境界線の上にある場合にフィーチャが選択対象にならない点を除き、WITHIN と同じ結果になります。 Clementiniは、境界線ポリゴンは内部と外部を分離するポリゴンであり、ラインの境界線はその端点で、ポイントの境界線は常に空であると定義しています。
  • ARE_IDENTICAL_TO —入力レイヤー内のフィーチャは、そのフィーチャが (ジオメトリ上) 選択フィーチャと一致する場合に選択対象になります。
  • BOUNDARY_TOUCHES —入力レイヤー内のフィーチャは、選択フィーチャに接する境界線がある場合に選択対象になります。入力フィーチャがラインまたはポリゴンであるとき、入力フィーチャの境界線は、選択フィーチャの境界線と接することができるだけで、入力フィーチャのいずれの部分も選択フィーチャの境界線と重なることはできません。
  • SHARE_A_LINE_SEGMENT_WITH —入力レイヤーのフィーチャは、ライン セグメントを選択フィーチャと共有する場合に選択対象となります。入力フィーチャおよび選択フィーチャは、ラインまたはポリゴンのどちらかでなければなりません。
  • CROSSED_BY_THE_OUTLINE_OF —入力レイヤーのフィーチャは、選択フィーチャのアウトラインと交差する場合に選択対象となります。入力フィーチャおよび選択フィーチャは、ラインまたはポリゴンのどちらかでなければなりません。入力レイヤーまたは選択レイヤーとしてポリゴンが使用される場合には、ポリゴンの境界線 (ライン) が使用されます。ポイントで交差するラインは選択されますが、ライン セグメントを共有するラインは選択されません。
  • HAVE_THEIR_CENTER_IN —入力レイヤー内のフィーチャは、その中心が選択フィーチャに含まれる場合に選択対象になります。フィーチャの中心を計算するために、ポリゴンとマルチポイントの場合はジオメトリの重心が使用され、ライン入力の場合にはジオメトリの中間点が使用されます。
String
select_features
(オプション)

入力フィーチャ レイヤーのフィーチャは、このレイヤーまたはフィーチャクラスのフィーチャとの関係に基づき、選択対象となります。

Feature Layer
search_distance
(オプション)

このパラメーターは、overlap_type パラメーターが WITHIN_A_DISTANCE_GEODESIC, WITHIN_A_DISTANCE, WITHIN_A_DISTANCE_3D, INTERSECT, INTERSECT_3D, HAVE_THEIR_CENTER_IN, CONTAINS, または WITHIN のいずれかに設定された場合にのみ有効です。

WITHIN_A_DISTANCE_GEODESIC オプションを使用した場合、キロメートルやマイルなどの距離単位を使用する必要があります。

Linear unit
selection_type
(オプション)

選択をどのように入力に適用するか、および既存の選択とどのように統合するかを決定します。ここには、既存の選択を解除するオプションはありません。選択を解除するには、[属性検索 (Select Layer By Attribute)] ツールで CLEAR_SELECTION オプションを選択します。

  • NEW_SELECTION —結果として得られる選択によって、既存の選択が置換されます。これがデフォルトです。
  • ADD_TO_SELECTION —選択が存在する場合、結果として得られる選択が既存の選択に追加されます。選択が存在しない場合は、NEW_SELECTION オプションと同じです。
  • REMOVE_FROM_SELECTION —結果として得られる選択が、既存の選択から削除されます。選択が存在しない場合、このオプションは影響を与えません。
  • SUBSET_SELECTION —結果として得られる選択が、既存の選択に統合されます。両方に共通のレコードだけが選択された状態となります。
  • SWITCH_SELECTION —選択を切り替えます。選択されたすべてのレコードが選択から削除され、選択されなかったすべてのレコードが選択に追加されます。このオプションが指定されている場合、select_features および overlap_type パラメーターは無視されます。
String
invert_spatial_relationship
(オプション)

このオプションによって、空間リレーションシップが評価された後、その結果をそのまま使用するか、反転して使用するかが決まります。たとえば、このオプションを使用すると、交差していないフィーチャまたは別のデータセット内のフィーチャから一定距離内にはないフィーチャのリストをすばやく取得することができます。

  • NOT_INVERT —クエリの結果は反転しません。これがデフォルトです。
  • INVERT —クエリの結果は反転します。selection_type オプションを使用すると、選択フィーチャが既存のフィーチャと統合される前に反転します。
Boolean

派生した出力

名前説明データ タイプ
out_layer_or_view

選択が適用された状態の更新された入力。

フィーチャ レイヤー; ラスター カタログ レイヤー; モザイク レイヤー

コードのサンプル

SelectLayerByLocation (空間検索) の例 1 (Python ウィンドウ)

次の Python ウィンドウ スクリプトは、イミディエイト モードで SelectLayerByLocation 関数を使用する方法を示しています。

import arcpy
# First, make a layer from the feature class
arcpy.MakeFeatureLayer_management("c:/kamsack.gdb/parcel", "parcel_lyr")
# Then add a selection to the layer based on location to features in another feature class 
arcpy.SelectLayerByLocation_management("parcel_lyr", "have_their_center_in", "c:/kamsack.gdb/city_limits")
SelectLayerByLocation (空間検索) の例 2 (スタンドアロン スクリプト)

次のスタンドアロン スクリプトは、位置と属性検索に基づいてフィーチャを新しいフィーチャクラスに抽出するために、ワークフローで SelectLayerByLocation (空間検索) 関数を使用する方法を示したものです。

# Name: ExtactFeaturesByLocationAndAttribute.py
# Description: Extract features to a new feature class based on a Location and an attribute query
# Import arcpy and set path to data
import arcpy
arcpy.env.workspace = "c:/data/mexico.gdb"
# Make a layer and select cities which overlap the chihuahua polygon
arcpy.MakeFeatureLayer_management('cities', 'cities_lyr') 
arcpy.SelectLayerByLocation_management('cities_lyr', 'intersect', 'chihuahua')
 
# Within the previous selection sub-select cities which have population > 10,000
arcpy.SelectLayerByAttribute_management('cities_lyr', 
                                        'SUBSET_SELECTION', 
                                        '"population" > 10000')
# If features matched criteria write them to a new feature class
matchcount = int(arcpy.GetCount_management('cities_lyr')[0]) 
if matchcount == 0:
    print('no features matched spatial and attribute criteria')
else:
    arcpy.CopyFeatures_management('cities_lyr', 'chihuahua_10000plus')
    print('{0} cities that matched criteria written to {0}'.format(
                                                  matchcount, chihuahua_10000plus))

環境

  • 現在のワークスペース
  • 出力座標系

ライセンス情報

  • Basic: はい
  • Standard: はい
  • Advanced: はい

関連トピック

  • レイヤーとテーブル ビュー ツールセットの概要
  • レイヤーとテーブル ビューの使用
  • レイヤーとテーブル ビューの操作
  • レイヤーでの選択の作成と使用
  • 空間検索の使用 (ArcMap ダイアログ)

ArcGIS Desktop

  • ホーム
  • ドキュメント
  • サポート

ArcGIS プラットフォーム

  • ArcGIS Online
  • ArcGIS Desktop
  • ArcGIS Enterprise
  • ArcGIS for Developers
  • ArcGIS Solutions
  • ArcGIS Marketplace

Esri について

  • 会社概要
  • 採用情報
  • Esri ブログ
  • ユーザ カンファレンス
  • デベロッパ サミット
Esri
ご意見・ご感想をお寄せください。
Copyright © 2019 Esri. | プライバシー | リーガル