《ArcGIS Engine开发从入门到精通》 第3章 几何对象和空间坐标系.pptx

《ArcGIS Engine开发从入门到精通》 第3章 几何对象和空间坐标系.pptx

  1. 1、本文档共118页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
《ArcGIS Engine开发从入门到精通》 第3章 几何对象和空间坐标系

第3章 几何对象和空间坐标系;本课程各章节目录;3.1 Geometry对象;就是在处理一个包含几何形体的矢量对象。在Geometry模型中,几何形体对象分为两个层次,一个是构成要素形状的几何图形,另一个是组成这些这些形状的构件。前者包括Point、Multipoint、Envelope、Polyline、Polygon等。Geometry的主要对象模型如图3-1所示。本章着重围绕这些主要对象进行介绍。;Point对象是一个0纬的几何图形,具有x、y坐标值,以及可选的属性,如高程(Z值)、测量值(M)和ID号等,可用于描述需要精确定位的对象。 Multipoint点集对象是无序点的群集,用于表示具有相同属性设置的同一组点。如一家公司不同的营业场所就可以使用点集来表示。 Envelope包络线是一个矩形,用于表示要素的空间范围。它覆盖了几何对象的最小坐标和最大坐标,同时也记录了几何形体对象的Z值和M值的变化范围。所有的几何形体对象都拥有一个包络线,连其自己本身也有。 Polyline多义线是一个有序路径(Path)的集合,这些路径既可以是连续的,也可以是离散的。这些对象可用于表示具有线状特征的对象,用户可以用单路径构成的多义线来表示简单线,也可以用具有多个路径的多;义线来表示复杂线类型。 Polygon多边形是环(Ring)的集合,环是一种封闭的路径。Polygon可以由一个或者多个环组成,甚至环内嵌套环,但是内、外环之间不能重叠,它通常用来描述面状特征的要素。 Geometry类是所有几何形体对象的父类,是一个抽象类,IGeometry接口定义的属性和方法为所有的几何对象所拥有。如Dimension用于查询几何形体对象的纬度;Envelope用于返回几何对象的包络线;GeometryType用于返回对象的几何类型;IsEmpty用于查看一个对象是否为空;SetEmpty方法用于将一个几何对象设置为空;Project方法用于设置一个几何对象的空间参考属性,用户可以产生或引用系统定义的空间参考。 Geometry类型的集合接口主要有IGeometryCollection、;ISegmentCollection、IPointCollection等。 IGeometryCollection接口被多种几何对象继承实现,如Polygons、Polylines、Multipoints、GeometryBags等。该接口提供了方法,可以添加、改变和移除一个几何对象的组成元素,即子对象,如Polygons对象的组成元素Ring可以使用该接口的方法添加、改变和移除。几何对象都是有序的子对象的集合,每个子对象都有索引值,这个索引值确定了它们在组成方向上的排列顺序,可以通过IGeometryCollection的Geometry属性和索引值获取几何对象的子对象,GeometryCount则用于返回这些子对象的数目。 IGeometryCollection提供了一些方法可进行集合操作,如AddGeometries、AddGeometry、AddGeometryCollection、InsertGeometries、;InsertGeometryCollection、SetGeometries等。下面的代码演示了如何使用这些方法。 新建一个VS2005工程,命名为“lesson1”,在Form1窗体上添加一个ToolbarControl控件,一个MapControl控件,一个LicenseControl1控件,4个Button控件,然后在ToolbarControl控件的属性里设置“伙伴控件”为MapControl,添加全图、漫游、放大、缩小等工具,如图3-2所示:;在代码窗口中添加如下代码: private void Form1_Load(object sender, EventArgs e) //窗体加载 { loadMapDocument(); //加载地图文档 } //加载地图文档 private void loadMapDocument() { System.Windows.Forms.OpenFileDialog openFileDialog; openFileDialog = new OpenFileDialog(); openFileDialog.Title = 打开地图文档; openFileDialog.Filter = map documents(*.mxd)|*.mxd; openFileDia

文档评论(0)

yaocen + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档