AE创建拓扑
创建 拓扑 AE
2023-09-14 09:02:23 时间
转自原文 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("创建拓朴成功!"); } }
启动编辑是后来加上去的,若不启动编辑,则提示没有权限执行操作。
相关文章
- oracle创建用户和表空间[通俗易懂]
- VBA: 创建Web查询获取基金历史净值
- 2. 创建菜单界面
- 表空间管理:Oracle如何创建新undo表空间最优方法
- Android开发中遇到的问题(三)——eclipse创建android项目无法正常预览布局文件详解手机开发
- CRM 员工创建并分配用户详解编程语言
- Linux下如何快速创建可靠的服务(Linux下创建服务)
- 利用Oracle 建立完备的外键约束(oracle外键创建)
- MySQL如何创建索引(mysql怎样建立索引)
- 【教程】Linux操作系统下如何创建表空间(linux下创建表空间)
- Linux快捷方式创建方法(linux创建快捷方式)
- MySQL表索引优化技巧合理地创建和使用两张表的索引(mysql两张表索引)
- 用Oracle创建日期类型,标志你的生日(oracle中生日类型)
- oracle删除主键查看主键约束及创建联合主键