博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
ArcGIS Engine+拓扑操作
阅读量:5816 次
发布时间:2019-06-18

本文共 1590 字,大约阅读时间需要 5 分钟。

///
 
<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);

转载地址:http://gwmbx.baihongyu.com/

你可能感兴趣的文章
$_SERVER['SCRIPT_FLENAME']与__FILE__
查看>>
skynet实践(8)-接入websocket
查看>>
系统版本判断
查看>>
My97DatePicker 日历插件
查看>>
0603 学术诚信与职业道德
查看>>
小点心家族第3位成员——楼层定位效果
查看>>
Knockout.Js官网学习(enable绑定、disable绑定)
查看>>
hive基本操作与应用
查看>>
excel快捷键设置
查看>>
poj3692
查看>>
python之信号量【Semaphore】
查看>>
html5纲要,细谈HTML 5新增的元素
查看>>
Android应用集成支付宝接口的简化
查看>>
[分享]Ubuntu12.04安装基础教程(图文)
查看>>
#HTTP协议学习# (二)基本认证
查看>>
Android开发之线性布局详解(布局权重)
查看>>
WCF
查看>>
django 目录结构修改
查看>>
win8 关闭防火墙
查看>>
Android实例-录音与回放(播放MP3)(XE8+小米2)
查看>>