ArcGIS_Engine—空间分析 下载本文

ArcGIS Engine——空间分析

空间分析功能是GIS的主要功能之一,本章将为读者介绍一些GIS开发常用的功能涉及到的空间拓扑运算,空间关系运算,空间临近运算所使用到的接口。例如开发一个缓冲区分析功能,获取两个几何要素的最短距离,判断两个几何要素的拓扑关系等都需要使用到这些接口,使用这些接口可以极大提高开发者的开发效率。 1.1目标

1.熟悉ITopologicalOperator接口(用于空间拓扑运算)的使用 2.熟悉IRelationalOperator接口(用于空间拓扑运算)的使用 3.熟悉IProximityOperator接口(用于空间拓扑运算)的使用

1.1 ITopologicalOperator接口1.1.1 ITopologicalOperator接口简介ITopologicalOperator接口用来通过对已存在的几何对象做空间拓扑运算以产生新的结合对象。实现该接口的类有Point,Multipoint,Polyline,Polygon,MultiPatch这些都是高级几何对象,另外GeometryBag也实现了该接口,低级的构建几何对象如Segments(Line,Circular Arc,Elliptic Arc,Bezier Curve),Paths或者Rings如果想使用该接口需包装成高级几何对象。

ITopologicalOperator接口在GIS开发中使用非常广泛,通常GIS系统中缓冲区分析,裁剪几何图形,几何图形差分操作,几何图形合并操作等都需要使用此接口。下表是ITopologicalOperator接口主要的方法说明: 方法名称 说明 Boundary 几何图形对象的边界 Buffer 对几何图形对象进行缓冲区空间拓扑操作 Clip 对几何图形对象进行裁剪空间拓扑操作

高效的合并多个枚举几何对象与单个几何对象

ConstructUnion 合并为单个几何对象,这对于大量几何对象的合

并非常高效

ConvexHull 构建几何对象的凸边形 Cut 切割几何对象

一个几何图形减去它与另一个几何图形相交的

Difference

部分

Intersect 两个同维度几何对象的交集部分 Simplify 使几何对象拓扑一致

对称差分将两个几何图形的并集部分减去两个

SymmetricDifference

几何图形交集的部分

Union 合并两个同维度的几何对象为单个几何对象 1. Boundary属性

如图所示Polygon几何对象的Boundary是组成它的Polyline几何对象 Polyline几何对象的[Boundary是组成它的顶点Point几何对象 而Point几何对象的Boundary是空对象,示意图如下图所示:

2.Buffer方法:

Buffer方法可以给一个高级几何对象产生一个缓冲区,无论是

Polygon,Polyline,Point它们的缓冲区都是具有面积的几何对象,如下图所示:

3.Clip方法

Clip方法可以将用一个Envelope对象对一个几何对象进行裁剪,参见结果是几何对象被Envelope 对象所包围的部分如图所示: