博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
ArcGIS Engine开发之旅09--几何对象和空间参考
阅读量:4876 次
发布时间:2019-06-11

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

原文

1.Geometry 

Geometry 是 GIS 中使用最为广泛的对象集之一,用户在创建、删除、编辑和进行地理分析的时候,就是处理一个包含几何形体的矢量对象;除了显示要素意外,控件对象选择,要素符号化,标注要素,编辑要素都需要 Geometry 参与。在 ArcGIS Engine 中,几个对象都有严格的定义,比如我们所说的直线,多断线等,于此同时 ArcGIS Engine 提供了而一个几何对象的模型图,如下:

2.Geometry 集合接口

通过前边对于具体的 Geometry 对象的介绍可知,除了 Point 对象之外,其他几何对象都是通过其他几何对象集合构建而成。如 MultiPoint 对象是点的集合,Path 对象是 Segment 对象的集合,Polyline 对象是 Path 对象的集合,Polygon 对象是 Ring 对象的集合,Multipatch 对象是 Triangle Strip 和 Trangle Fan, Trangle,Ring 对象的集合。 ArcGIS Engine 提供 了三个主要的几何图形集合接口用于对几何对象的操作 ,分别是IPointCollection,ISegmentCollection 和 IGeometryCollection,这些接口揭示出 ArcGIS Engine 的几何模型的实质——它们是一种组合构成的模式,这种组合并不一定按照严格的层次结构组织。 在前面介绍一些几何对象的时候,也给大家演示了部分使用功能,这三个接口在程序开发中经常使用到,接下来简单阐述以下这三个接口的使用方法。 IGeometryCollection 接口被 Polygon,Polyline, Multipoint, Multipatch, Trangle,T rangle Strip,Trangle Fan 和 GeometryBag 所实现。IGeometryCollection 接口提供的方法可以让开发者对一个几何对象的组成元素即子对象进行添加,改变和移除。例如: 

组成 Polyline 对象的子对象是 Path 对象。

组成 Polygon 对象的子对象是 Ring 对象。

组成 Multipoint 对象的子对象是 Point 对象。

组成 MultiPatch 对象的子对象是 TrangleFan TrangleStrip,Triangle 或 Ring 对象。

组成 GeometryBag 对象的是任何类型的几何体对象,实际上 GeometryBag 是一个可以容纳任何类型几何对象的容器。

IGeometryCollection、这个接口是具有相同类型的几何对象的集合,该接口的的 Geometry 属性可以通过一个索引值返回一个组成该几何对象的某个子对象,而 GeometryCount 返回组成该几何对象的子对象的数目。

IGeometry 的 AddGeometry 和 AddGeometries 方法都用于向一个几何对象添加子对象,它们的区别是前者一次只能添加一个几何对象,而后者可以一次添加一个几何对象数组。除此之外,AddGeometry 方法可以将子对象添加到几何的指定索引值的位置,而 AddGeometries 方法将子对象数组添加到集合的最后。 在使用 AddGeometry 方法添加子对象到 Polygon 对象的过程中,如果子对象即 Ring 出现覆盖现象,那么多边形就没有封闭或出现了包含关系,那么这个 Polygon 就不是简单 Polygon,因此通过IGometryCollection 来创建一个 Polygon 时,需要使用 ITopologicalOperator 的 Simplify 方法保证其有 效性。

 

转载于:https://www.cnblogs.com/arxive/p/5905106.html

你可能感兴趣的文章
如何创建基本的高级队列之二:创建接收方代码
查看>>
堆表的在执行Select语句时的默认排序问题——发现问题
查看>>
oracle监听理解 命名理解
查看>>
Python3基础1
查看>>
C#高性能二进制序列化
查看>>
JS常用函数
查看>>
Python学习教程:Python3除法之真除法、截断除法和下取整对比
查看>>
CSS杂集(标准流&多行垂直居中)
查看>>
Javascript中数组与字典(即map)的使用
查看>>
php 正则匹配中文(转)
查看>>
C++不完整的类型
查看>>
实验一
查看>>
工具类 验证手机邮箱
查看>>
JavaScript 正则表达式入门教程
查看>>
jQuery调用ASP.NET的WebService
查看>>
memcached(十三)注意事项
查看>>
tomcat无法启动 startup.bat 一闪而过
查看>>
ITerms2在mac系统下的安装和配色,并和go2shell关联
查看>>
unity, copy-paste component
查看>>
nginx常见面试题1
查看>>