第五讲 图形操作.ppt

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第五章 图形操作 4.1 图形及相关分类概述 前面提到的Web ADF是一多数据源框架,因此可以 在同一程序中使用多个不同类型的数据。每个数据源还 可能独立使用自身特有的API来操作数据。由于最终要 由Web ADF负责将多个数据源的结果显示在Web端或 客户端,因村Web ADF自身必须有一定的逻辑,在一个 公共的环境,集成这些结果。 为实现这一目的,Web ADF包含了一组类来集成, 例如空间参考、几何类型、属性查询以及空间查询等。 更重要的是,Web ADF包含了一组类来支持Web端 图形数据集合与图层类。 web ADF中图形与相关类包在ESRI.ArcGIS. ADF.Web.dll程序集中,该程序集包含根据内容的类 别又分成多个命名空间。 下表列出了该程序集中命名空间及其主要作用: 4.2 在Web端操作图形 在前面的章节中,我们使用了属性查找图形的操 作方法,但没有把查询到的结果进行高亮显示,如 果要高亮显示查询的图形,要通过往 ElementGraphicsLayer类中添加选择的几何图形对 象,从而实现高亮显示。 ElementGraphicsLayer中只包含几何图形对 象,即这些对象只包含空间位置信息,没有属性信 息。 但是Web ADF中还在Web端提供了 FeatureGraphicsLayer类,该类中的对象是要素而 不是图形,既有空间位置信息又有属性信息。 这两个类都是GraphicsLayer的子类,而该类又 是在.NET中System.Data.DataTable类的子类。 地图中的数据源是通过资源来访问的(如下), 对于Web端的图形数据则通过ESRI.ArcGIS.ADF. DataSource.Graphics.MapResource类来访问的。 该类的Graphics属性的类型是GraphicsDataSet, 它是.Net中System.Data.DataTable类的子类,这就 是说GraphicsDataSet中包含了GraphicsLayer类对 象的集合。 在FeatureGraphicsLayer中又包含了Geomerty 类对象的集合,而Geomerty是诸如Point、Polygon 等这些集合类型对象的父类。这些类之间的关系如 下图: 4.2.1 几何对象的创建 几何对象的创建很简单,只需要使用New关键字 新建Point、Polyline与Polygon类实例,然后通过 FeatureGraphicsLayer类的Add方法加入到图层 中即可。 下面分别举例添加Point、Line、和Polygon 添加点(Point) 1、创建网站,命名为Geomerty 2、在解决方案中添加文件夹App_Code 3、在App_Code下新建类CreateGraphicsHelper 4、进入CreateGraphicsHelper类中编写代码 (1)添加引用 (2)添加成员,为要创建的点作属性表中的值 (3)添加方法,创建点图层 5、调用CreateGraphicsHelper类 添加线(Line) 添加线的步骤为:创建点—添加到点集合(Points) —添加点集合到路径(Path)—添加到线(Line) 即: path ph; ph.points.add(point); polyline line; line.path.add(ph) 在CreateGraphicsHelper.cs类中添加方法CreatePolylineFeatures() 添加多边形(Polygon) 添加多边形的步骤为:创建点— 添加到环(ring)的点集合(points)中—添加到poly中。即: Ring ring=New Ring(); ring.Points.Add(new Point(x1,y1)); ring.Points.Add(new Point(x2,y2)); ring.Points.Add(new Point(x3,y3)); ring.Points.Add(new Point(x1,y1)); polygon poly=new polygon(); poly.Rings.Add(ring); 在CreateGraphicsHelper类中添加函数CreatePolygonFeatures() 并加入代码 4.2.2自定义着色器 在Web ADF中,允许为图形图层在默认符号之 外,创建自定义的着色器。 自定义着色器需要实现IRender接口。通过该接 口,可以完全利用.NET中System.Drawing命名空间 中

文档评论(0)

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

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

1亿VIP精品文档

相关文档