FAQ
複数のジオメトリで空間検索を行う方法

ナレッジ番号:5492 | 登録日:2023/07/27 | 更新日:2024/11/21

【概要】

複数のジオメトリで空間検索を行い、検索結果のフィーチャを選択状態にする方法を示します。


【手順】
  1. 検索用に一時的にジオメトリをコレクションとして保持させ、コレクション全体のジオメトリを取得します。

    ' ジオメトリのコレクション用のオブジェクトを新規に作成します
    Dim pGeoBag As IGeometryCollection
    Set pGeoBag = New GeometryBag
    ' 複数件あるジオメトリをAddGeometryメソッドを使用し、コレクションに保持します
    pGeoBag.AddGeometry pFeature.ShapeCopy


  2. 空間検索条件を作成します。

    Dim pSFilter As ISpatialFilter
    Set pSFilter = New SpatialFilter
    With pSFilter
    ' 検索用ジオメトリを設定します
    Set .Geometry = pGeoBag
    ' 検索に使用するシェープフィールド名を設定します
    .GeometryField = pFC.ShapeFieldName
    ' 検索的関係(含む)を設定します
    .SpatialRel = esriSpatialRelContains
    End With


  3. 検索を行います。

    ' 検索するレイヤをIFeatureSelectionインタフェースにクエリインタフェースします
    Dim pFSel As IFeatureSelection
    Set pFSel = pLayer
    ' 検索条件を設定し、検索します
    pFSel.SelectFeatures pSFilter, esriSelectionResultNew, False

メタデータ

機能

種類

製品