FAQ
ArcObjects でレイヤー内のフィーチャ数を取得する方法

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

概要

レイヤー内のフィーチャ数や検索クエリを満たすフィーチャ数を返すために、IFeatureClass::FeatureCount メソッドを使用する方法を以下に示します。

サンプル コード

IMxDocument pMxDoc = ArcMap.Document;
IMap pMap = pMxDoc.FocusMap;
//レイヤーの取得(今回は一番上位のレイヤー)
IFeatureLayer pLayer = (IFeatureLayer)pMap.get_Layer(0);

//フィーチャクラスの取得と IFeatureClass::FeatureCount メソッドの利用
IFeatureClass pFC = pLayer.FeatureClass;
MessageBox.Show(pFC.FeatureCount(null).ToString());

//検索クエリを満たすフィーチャ数を取得する場合、条件式を定義した
//IQueryFilter 型のオブジェクトを FeatureCount メソッドの引数に設定します。
IQueryFilter pQF = new QueryFilterClass();
pQF.WhereClause = "KEN = '東京都'";
MessageBox.Show(pFC.FeatureCount(pQF).ToString());
Dim pMxDoc As IMxDocument = My.ArcMap.Document
Dim pMap As IMap = pMxDoc.FocusMap
'レイヤーの取得(今回は一番上位のレイヤー)
Dim pLayer As IFeatureLayer = pMap.Layer(0)

'フィーチャクラスの取得と IFeatureClass::FeatureCount メソッドの利用
Dim pFC As IFeatureClass = pLayer.FeatureClass
MessageBox.Show(pFC.FeatureCount(Nothing))

'検索クエリを満たすフィーチャ数を取得する場合、条件式を定義した
'IQueryFilter 型のオブジェクトを FeatureCount メソッドの引数に設定します。
Dim pQF As IQueryFilter = New QueryFilter
pQF.WhereClause = "KEN = '東京都'"
MessageBox.Show(pFC.FeatureCount(pQF))

メタデータ

機能

種類

製品