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);
    
  • 相关阅读:
    不允许修改SQLserver2008r2表中字段的属性问题
    SQL学习笔记 SQL ORDER BY 关键字
    超爱http://www.runoob.com/菜鸟编程
    sqlserver数据类型
    SQL重要命令
    Task--计算器
    改变文本框内容
    Android Studio
    eclipse导入Android项目出现红色感叹号----Solved
    2017-09-09
  • 原文地址:https://www.cnblogs.com/lqqgis/p/12642511.html
Copyright © 2011-2022 走看看