在FeatureClass中編輯,刪除,或添加要素後,可用如下的代碼手動更新一下其Extent
((IFeatureClassManage)pFeatureClass).UpdateExtent();
獲取圖層Extent的方法為:
((IGeoDataset)pFeatureClass).Extent
或根據圖層中的所有要素計算一下Extent:
IEnvelope env = null;
int feaCount = fc.FeatureCount(null);
for (int i = 0; i < feaCount; i++)
{
if (env == null) env = fc.GetFeature(i).Extent;
else env.Union(fc.GetFeature(i).Extent);
}
要注意的是,這兩種方法獲取到的Extent有時是不一樣的
摘自 rrrrssss00的專欄