FAQ
複数のジオメトリで空間検索を行う方法
ナレッジ番号:5492 | 登録日:2023/07/27 | 更新日:2024/11/21
- 【概要】
複数のジオメトリで空間検索を行い、検索結果のフィーチャを選択状態にする方法を示します。
【手順】
- 検索用に一時的にジオメトリをコレクションとして保持させ、コレクション全体のジオメトリを取得します。
' ジオメトリのコレクション用のオブジェクトを新規に作成します
Dim pGeoBag As IGeometryCollection
Set pGeoBag = New GeometryBag
' 複数件あるジオメトリをAddGeometryメソッドを使用し、コレクションに保持します
pGeoBag.AddGeometry pFeature.ShapeCopy
- 空間検索条件を作成します。
Dim pSFilter As ISpatialFilter
Set pSFilter = New SpatialFilter
With pSFilter
' 検索用ジオメトリを設定します
Set .Geometry = pGeoBag
' 検索に使用するシェープフィールド名を設定します
.GeometryField = pFC.ShapeFieldName
' 検索的関係(含む)を設定します
.SpatialRel = esriSpatialRelContains
End With
- 検索を行います。
' 検索するレイヤをIFeatureSelectionインタフェースにクエリインタフェースします
Dim pFSel As IFeatureSelection
Set pFSel = pLayer
' 検索条件を設定し、検索します
pFSel.SelectFeatures pSFilter, esriSelectionResultNew, False
- 検索用に一時的にジオメトリをコレクションとして保持させ、コレクション全体のジオメトリを取得します。
メタデータ
機能
種類
製品