zoukankan      html  css  js  c++  java
  • ArcObject 10.2 获取FeatureClass的Exent

    在FeatureClass中对Feature进行编辑,删除,添加要素后,可以用下面代码对要素类的Extent进行更新

    ((IFeatureClassManage)featureClass).UpdateExtent();
    

    获取图层/要素类的Exent的代码为:

    var featureClass = featureLayer.FeatureClass;
    var geoDataset = (IGeoDataset)featureClass;
    var extent = geoDataset.Extent;
    

    也可以根据图层中的要素计算得到Extent, 代码为:
    (数据量少时,可以使用下面代码)

    var featureClass = routeLayer.FeatureClass;
    var feature0 = featureClass.GetFeature(0);
    var totalExtent = feature0.ShapeCopy.Envelope;
               
    int featureCount = featureClass.FeatureCount(null);
    for (int i = 1; i < featureCount; i++)
    {
        var feature = featureClass.GetFeature(i);
        totalExtent.Union(feature.ShapeCopy.Envelope);
    }
    

    (数据量大时,推荐使用下面代码)

    var featureClass = routeLayer.FeatureClass;
    var featureCursor = featureClass.Search(null, true);
    var feature0 = featureCursor.NextFeature();
    var totalExtent = feature0.ShapeCopy.Envelope;
                   
    var feature = featureCursor.NextFeature();
    while (feature != null)
    {
         totalExtent.Union(feature.ShapeCopy.Envelope);
         featureCursor.NextFeature();
    }
    Marshal.ReleaseComObject(featureCursor);
    
  • 相关阅读:
    西安.NET俱乐部群 推广代码
    跟我学Makefile(六)
    跟我学Makefile(五)
    跟我学Makefile(四)
    跟我学Makefile(三)
    跟我学Makefile(二)
    Kconfig文件说明2
    Kconfig文件说明
    kernel内核配置说明
    makefile中ifeq与ifneq dev/null和dev/zero简介 dd命令
  • 原文地址:https://www.cnblogs.com/lqqgis/p/12642511.html
Copyright © 2011-2022 走看看