zoukankan      html  css  js  c++  java
  • AE创建拓扑

    转自原文 AE创建拓扑

    /// <summary>
    /// 创建拓朴
    /// </summary>
    /// <param name="featureWorkspace">要素集工作空间</param>
    /// <param name="featuredatasetName"></param>
    /// <param name="featureClassName"></param>
    /// <returns></returns>
           public ITopology Create_Topology(IFeatureWorkspace featureWorkspace, string featuredatasetName, string featureClassName, string topologyName)
    {
        try
        {
            //1.---打开拓朴所在的要素数据集,并创建拓朴
            IFeatureDataset featureDataset = featureWorkspace.OpenFeatureDataset(featuredatasetName);
            if (featureDataset != null)
            {
                ITopologyContainer topologyContainer = (ITopologyContainer)featureDataset;
                ITopology topology = topologyContainer.CreateTopology("topo", topologyContainer.DefaultClusterTolerance, -1, ""); //在这个地方报错
                //2.---给拓朴加入要素集
                IFeatureClassContainer featureclassContainer = (IFeatureClassContainer)featureDataset;
                IFeatureClass featureClass = featureclassContainer.get_ClassByName(featureClassName);
                topology.AddClass(featureClass, 5, 1, 1, false);  // Parameters: AddClass(IClass, double weight, int xyrank, int zrank, Boolean EventNotificationOnValidate).       
                //3.---返回拓朴
                return topology;
            }
        }
        catch (Exception ex)
        {
            //System.Diagnostics.Debug.WriteLine(ex.ToString()); 
            MessageBox.Show(ex.ToString());
        }
        return null;
    }
    
          private void CreateTopButton_Click(object sender, EventArgs e)
    {
        //打开目标数据库
        IWorkspace fWorkspace = open_pGDB_Workspace("e:\Topo.mdb");
        IFeatureWorkspace fW = fWorkspace as IFeatureWorkspace;
        //启动编辑
        IWorkspaceEdit workspaceEdit = (IWorkspaceEdit)fWorkspace;
        workspaceEdit.StartEditing(true);
        workspaceEdit.StartEditOperation();
        //调用创建拓朴的方法
        ITopology topology = Create_Topology(fW, "HN_DS", "HN", "Polygon_Topo");
        //停止编辑
        workspaceEdit.StopEditOperation();
        workspaceEdit.StopEditing(true); 
        if (topology != null)
        {
            MessageBox.Show("创建拓朴成功!");
        }
    }

    启动编辑是后来加上去的,若不启动编辑,则提示没有权限执行操作。

  • 相关阅读:
    2017.11.2 JavaWeb----第六章 Servlet技术
    2017.11.1 微型计算机原理与接口技术-----第七章 中断系统与8237A DMA控制器
    2017.10.31 微型计算机组成原理与接口技术------- 第六章 存储器
    2017.10.30 软件工程------ 软件测试
    选择排序
    快速排序(基础版)
    [经验]java 高级面试解析
    [经验]java 高级面试
    链表翻转的图文讲解(递归与迭代两种实现)yet
    手把手教你如何自定义DAO框架(重量级干货)(yet)
  • 原文地址:https://www.cnblogs.com/arxive/p/6262963.html
Copyright © 2011-2022 走看看