欢迎来到天天文库
浏览记录
ID:1335185
大小:324.00 KB
页数:16页
时间:2017-11-10
《arcgis_engine—空间分析》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、ArcGISEngine——空间分析 空间分析功能是GIS的主要功能之一,本章将为读者介绍一些GIS开发常用的功能涉及到的空间拓扑运算,空间关系运算,空间临近运算所使用到的接口。例如开发一个缓冲区分析功能,获取两个几何要素的最短距离,判断两个几何要素的拓扑关系等都需要使用到这些接口,使用这些接口可以极大提高开发者的开发效率。1.1目标1.熟悉ITopologicalOperator接口(用于空间拓扑运算)的使用2.熟悉IRelationalOperator接口(用于空间拓扑运算)的使用3.熟悉IProximity
2、Operator接口(用于空间拓扑运算)的使用1.1ITopologicalOperator接口1.1.1ITopologicalOperator接口简介ITopologicalOperator接口用来通过对已存在的几何对象做空间拓扑运算以产生新的结合对象。实现该接口的类有Point,Multipoint,Polyline,Polygon,MultiPatch这些都是高级几何对象,另外GeometryBag也实现了该接口,低级的构建几何对象如Segments(Line,CircularArc,EllipticArc,Bezi
3、erCurve),Paths或者Rings如果想使用该接口需包装成高级几何对象。ITopologicalOperator接口在GIS开发中使用非常广泛,通常GIS系统中缓冲区分析,裁剪几何图形,几何图形差分操作,几何图形合并操作等都需要使用此接口。下表是ITopologicalOperator接口主要的方法说明:方法名称说明Boundary几何图形对象的边界Buffer对几何图形对象进行缓冲区空间拓扑操作Clip对几何图形对象进行裁剪空间拓扑操作ConstructUnion高效的合并多个枚举几何对象与单个几何对象合并为单个几
4、何对象,这对于大量几何对象的合并非常高效ConvexHull构建几何对象的凸边形Cut切割几何对象Difference一个几何图形减去它与另一个几何图形相交的部分Intersect两个同维度几何对象的交集部分Simplify使几何对象拓扑一致SymmetricDifference对称差分将两个几何图形的并集部分减去两个几何图形交集的部分Union合并两个同维度的几何对象为单个几何对象1.Boundary属性如图所示Polygon几何对象的Boundary是组成它的Polyline几何对象Polyline几何对象的[Bound
5、ary是组成它的顶点Point几何对象而Point几何对象的Boundary是空对象,示意图如下图所示:2.Buffer方法:Buffer方法可以给一个高级几何对象产生一个缓冲区,无论是Polygon,Polyline,Point它们的缓冲区都是具有面积的几何对象,如下图所示:3.Clip方法Clip方法可以将用一个Envelope对象对一个几何对象进行裁剪,参见结果是几何对象被Envelope对象所包围的部分如图所示:4.ConvexHull方法ConvexHull方法可以产生一个几何图形的最小的边框凸多边形(没有凹面包含
6、几何图形的最小多边形)5.Cut方法Cut方法不支持GeometryBags几何对象,它可以指定一条切割曲线和一个几何图形,经过切割运算后把几何图形分为左右两部分,做,右两部分是相对曲线的方向而言。点与多点不能被切割,Polyline和Polygon只有与切割曲线相交时才能执行Cut方法,如下图:6.Difference方法Difference方法用于产生两个几何对象的差集。如图所示:7.Union方法和ConstructUnion都用于合并几何对象,所不同的是前者合并两个同维度的几何对象为单个几何对象,而后者是高效的合并多
7、个枚举几何对象与单个几何对象合并为单个几何对象,这对于大量几何对象的合并非常高效的。8.Intersect方法Intersect方法用于返回两个同维度几何对象的交集,即两个几何对象的重合部分。如下图所示:9.SymetricDifference方法SymetricDifference方法用于产生两个几何图形的对称差分,即两个几何的并集部分减去两个几何的交集部分,如下图所示:10.IsSimple属性和Simplify方法IsSimple属性用于检测几何对象是否是拓扑正确即为简化几何对象,而Simplify方法用于简化几何对象
8、使几何对象的拓扑正确。如下图所示:6.3.2简化几何对象功能开发 在开发对几何对象空间分析时,所操作的几何对象必须是简化的几何对象,以下代码片段演示了如何使一个几何对象在拓扑上一致,例如在一个PointCollection对象中移除所有的重合点;对于segmentCollection移除
此文档下载收益归作者所有