zoukankan      html  css  js  c++  java
  • ArcGIS Engine+拓扑操作

    /// <summary> /// 建立拓扑 /// </summary> /// <param name="featureDataset">目标数据集</param> /// <param name="topologyName">拓扑名称</param> 
    public void CreateTopology(IFeatureDataset featureDataset, string topologyName) 
    { // 建立一个空拓扑(拓扑名称、获得数据集的XY容差作为拓扑容差) 
    ITopologyContainer topologyContainer = (ITopologyContainer)featureDataset; 
    ITopology topology = topologyContainer.CreateTopology(topologyName,
    topologyContainer.DefaultClusterTolerance, -1""); 
    // 获得“Roads”线状要素类加入到拓扑当中,拓扑等级为1 
    IFeatureClassContainer featureclassContainer = (IFeatureClassContainer)featureDataset;
     IFeatureClass featureClass = featureclassContainer.get_ClassByName("Roads");
     topology.AddClass(featureClass, 5, 1, 1, false); // 建立一个拓扑规则(线丌重合) 
    ItopologyRuleContainer topologyRuleContainer = (ITopologyRuleContainer)topology; 
    ITopologyRule topologyRule = new TopologyRuleClass();
     topologyRule.TopologyRuleType = esriTopologyRuleType.esriTRTLineNoOverlap;
     topologyRule.OriginClassID = featureClass.ObjectClassID; 
    topologyRule.AllOriginSubtypes = true; topologyRule.Name = "Roads No Overlap"; // 把建立好的拓扑规则添加到拓扑中 
    if (topologyRuleContainer.get_CanAddRule(topologyRule)) 
    { topologyRuleContainer.AddRule(topologyRule); } 
    // 验证拓扑 IGeoDataset geoDataset = (IGeoDataset)topology; 
    //根据拓扑对象获得范围 IPolygon searchArea = new PolygonClass(); 
    ISegmentCollection segmentCollection = (ISegmentCollection)searchArea; 
    segmentCollection.SetRectangle(geoDataset.Extent); // 获得整个拓扑中的“脏区” 
    IPolygon dirtyArea = topology.get_DirtyArea(searchArea); // 验证“脏区” 
    IEnvelope dirtyAreaEnvelope = dirtyArea.Envelope; topology.ValidateTopology(dirtyAreaEnvelope);
  • 相关阅读:
    SQL表连接查询inner join left join right join full join ...
    希尔伯特空间回顾(简直太好了)
    pytorch的matmul怎么广播
    pytorch怎么抽取中间的特征或者梯度
    winedt102安装
    数据挖掘 关联规则
    git 命令
    caffe: c++11支持
    匈牙利算法
    ubuntu两个conda安装和切换
  • 原文地址:https://www.cnblogs.com/zuiyirenjian/p/2622270.html
Copyright © 2011-2022 走看看