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("创建拓朴成功!");
        }
    }

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

  • 相关阅读:
    服务器控件的 ID,ClientID,UniqueID 的区别
    GridView使用总结
    javascript对象
    如何对SQL Server 2005进行设置以允许远程连接(转载)
    Master Pages and JavaScript document.getElementById
    Linux paste命令
    linux脚本和代码的加密
    SDWAN的优势
    dsd
    ASA防火墙忘记密码之后的恢复步骤
  • 原文地址:https://www.cnblogs.com/arxive/p/6262963.html
Copyright © 2011-2022 走看看