ITopologicalOperator接口使用方法
来源:互联网 发布:淘宝男装短袖 编辑:程序博客网 时间:2024/05/17 21:41
在空间分析中通常用到ITopologicalOperator接口,有众多的空间拓扑方法,在GIS系统中的缓冲区分析、裁剪分析、几何图形差分操作、几何图形合并操作等等。下面介绍ITopologicalOperator接口的主要方法:
http://www.cnblogs.com/alex-bn-lee/archive/2012/06/17/2552557.html#ITopologicalOperator5
但是这个接口出现问题的几率是非常大的,有时候既没有报错,但是有没有运行出结果,比如Union、merge方法,其实是在我们做拓扑之前的检查不够。导致出现这个问题。下面给出示例代码:
ICursor pCursor; featureSelect.SelectionSet.Search(null, false, out pCursor); IFeatureCursor pFeatureCursor = pCursor as IFeatureCursor; IFeature pFeatureFirst = pFeatureCursor.NextFeature(); // 开始一个编辑操作,以能够撤销 m_EditWorkspace.StartEditOperation(); IGeometry pGeometryFirst = pFeatureFirst.Shape; ITopologicalOperator2 topo_oper = (ITopologicalOperator2)pGeometryFirst; //ITopologicalOperator的操作是bug很多的,先强制的检查下面三个步骤,再进行操作 否则会出现标题所说的问题 topo_oper.IsKnownSimple_2 = false; //处理之前不知道是否是简单多边形,不管是不是,第一步强制转换为非简单多边形 topo_oper.Simplify(); //对多边形强制简单化 pGeometryFirst.SnapToSpatialReference(); //图形与坐标参考对应 //这是准备合并的图斑使用的 ITopologicalOperator2 topo_oper2; IGeometry pGeometryNext; IFeature pFeatureNext = pFeatureCursor.NextFeature(); while (pFeatureNext != null) { pGeometryNext = pFeatureNext.ShapeCopy; //与上面的同理 topo_oper2 = pGeometryNext as ITopologicalOperator2; topo_oper2.IsKnownSimple_2 = false; topo_oper2.Simplify(); pGeometryNext.SnapToSpatialReference(); //这才是合并图斑的关键 pGeometryFirst = topo_oper.Union(pGeometryNext); topo_oper = pGeometryFirst as ITopologicalOperator2; pFeatureNext.Delete(); pFeatureNext = pFeatureCursor.NextFeature(); } topo_oper.IsKnownSimple_2 = false; topo_oper.Simplify(); pFeatureFirst.Shape = pGeometryFirst; pFeatureFirst.Store(); m_EditWorkspace.StopEditOperation();
0 0
- ITopologicalOperator接口使用方法
- ITopologicalOperator接口
- ITopologicalOperator接口
- ITopologicalOperator接口问题多多
- ITopologicalOperator接口详解
- ITopologicalOperator接口详解
- ITopologicalOperator接口使用
- ITopologicalOperator接口简介
- arcengine 缓冲区查询 (ITopologicalOperator ISpatialFilter接口 )
- 创建要素类,关系类,ITopologicalOperator接口
- 空间分析相关接口(ITopologicalOperator,IRelationalOperator,IProximityOperator)
- engine中空间运算接口ITopologicalOperator与空间关系接口IRelationalOperator
- ITopologicalOperator与IRelationalOperator
- c#接口使用方法
- Comparator接口的使用方法
- JAVA学习--接口使用方法
- iOS webservice 接口使用方法
- 接口使用方法java
- iOS开发-自定义状态栏,显示发送结果
- struts中"struts-config" must match "问题的解决方法
- 自建DIY GIMP笔刷
- Maven
- jdk环境变量配置
- ITopologicalOperator接口使用方法
- android.support.v4.util.LruCache
- C# 对话框设置内容随对话框大小改变而改变
- Kinect开发笔记之(五)提取颜色数据并用OpenCV显示
- 传统零售布局O2O 蓄势全渠道谋反击
- ViewPager 详解
- android通过服务实现消息推送
- OpenWrt Makefile 整体分析
- ios本地消息推送(二)