第8课矩形和多边形查询.ppt

上传人:王** 文档编号:626937 上传时间:2023-12-08 格式:PPT 页数:49 大小:267.50KB
下载 相关 举报
第8课矩形和多边形查询.ppt_第1页
第1页 / 共49页
第8课矩形和多边形查询.ppt_第2页
第2页 / 共49页
第8课矩形和多边形查询.ppt_第3页
第3页 / 共49页
第8课矩形和多边形查询.ppt_第4页
第4页 / 共49页
第8课矩形和多边形查询.ppt_第5页
第5页 / 共49页
第8课矩形和多边形查询.ppt_第6页
第6页 / 共49页
第8课矩形和多边形查询.ppt_第7页
第7页 / 共49页
第8课矩形和多边形查询.ppt_第8页
第8页 / 共49页
第8课矩形和多边形查询.ppt_第9页
第9页 / 共49页
第8课矩形和多边形查询.ppt_第10页
第10页 / 共49页
亲,该文档总共49页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

《第8课矩形和多边形查询.ppt》由会员分享,可在线阅读,更多相关《第8课矩形和多边形查询.ppt(49页珍藏版)》请在优知文库上搜索。

1、矩形和多边形查询矩形和多边形查询主要内容主要内容o 自定义矩形查询自定义矩形查询o 自定义多边形查询自定义多边形查询o 弥补自定义点查询编程实现弥补自定义点查询编程实现自定义矩形自定义矩形o 用户自行指定的矩形区域用户自行指定的矩形区域和自定义点有何不同?和自定义点有何不同?o 点所在的区域点所在的区域o 和矩形有所重叠的区域和矩形有所重叠的区域是哪一个矩形?是哪一个矩形?是哪一个矩形?是哪一个矩形?o 从屏幕上的矩形到地图层面的矩形从屏幕上的矩形到地图层面的矩形o 思路:思路:(1 1)得到屏幕上的矩形;)得到屏幕上的矩形;(2 2)得到对角线上的顶点;)得到对角线上的顶点;(3 3)把屏幕

2、上的顶点转换成地图上的顶点;)把屏幕上的顶点转换成地图上的顶点;(4 4)由地图上顶点构成地图上的矩形。)由地图上顶点构成地图上的矩形。得到屏幕上的矩形得到屏幕上的矩形(x,y)heightWidth把屏幕上的矩形转换成地图上的矩形把屏幕上的矩形转换成地图上的矩形o Point 点对象,由点对象,由(x,y)确定位置确定位置o 矩形对象的创建矩形对象的创建包络对象的创建包络对象的创建nEnvelope env1=new Envelope();nEnvelope env1=new Envelope(左上角,右下角);空间查询空间查询o 和矩形有所重叠的区域和矩形有所重叠的区域空间查询空间查询o

3、使用查询功能对象,以及空间过滤对象使用查询功能对象,以及空间过滤对象o 查询功能对象查询功能对象IQueryFuncitionality func=资源对象.CreateFunctionality();如何查询如何查询使用空间过滤对象使用空间过滤对象o 空间过滤对象空间过滤对象SpatialFilterSpatialFilter对象,在对象,在ESRI.ArcGIS.ADF.WebESRI.ArcGIS.ADF.Web命名空间中命名空间中SpatialFilter SpatialFilter 对象名对象名=new SpatialFilter();=new SpatialFilter();o 设

4、置其属性设置其属性对象名对象名.Geometry=.Geometry=地图上指定的图形地图上指定的图形对象名对象名.MaxRecords=.MaxRecords=结果集中能容纳的数量结果集中能容纳的数量主要编程步骤主要编程步骤o 地图控件地图控件地图资源对象地图资源对象功能对象(查询)功能对象(查询)查询功能经过空间过滤对象查询功能经过空间过滤对象空间要素集空间要素集转换成转换成htm标记并在地图上高亮度显示。标记并在地图上高亮度显示。编程结构o 一个对事件的响应类IdentifyRectangleo 一个辅助类IdentifyHelper,用于作为类库具体实现具体实现o 得到地图服务项目的功

5、能o 得到查询功能具体实现具体实现o 创建空间过滤对象,并设置其创建空间过滤对象,并设置其具体实现具体实现o 得到图层对象o 在各个图层中进行空间查询,结果放在一个dataTable对象中具体实现具体实现o 把表转换成html标记,并在地图上显示出主要步骤主要步骤1 1增加增加ToolBarToolBar上面的按钮,设置其属性上面的按钮,设置其属性2 2增加必要的类增加必要的类IdenfifyRectangleIdenfifyRectangle,实现,实现IMapServerToolAction.ServerActionIMapServerToolAction.ServerAction方法。方

6、法。用于把矩形对角的两个点坐标从屏幕转换到地图坐用于把矩形对角的两个点坐标从屏幕转换到地图坐标。再利用标。再利用EnvelopeEnvelope类的构造函数构造一个地图坐类的构造函数构造一个地图坐标的矩形对象。标的矩形对象。3 3在在IdentifyHelperIdentifyHelper中增加相应的方法中增加相应的方法IdentifyIdentify,用来实现矩形的查询。用来实现矩形的查询。3 31 1 获取控件对象获取控件对象3 32 2 得到目标对象的空间矩形得到目标对象的空间矩形主要步骤主要步骤4 4在在IdentifyHelperIdentifyHelper中增加相应的方法中增加相应

7、的方法4 41 1 判别资源是否可用,是否具有查询功能判别资源是否可用,是否具有查询功能4 42 2 若资源具有查询功能,则得到其查询功能。若资源具有查询功能,则得到其查询功能。4 43 3 依据原有的矩形,构造一个空间查询矩形对象。依据原有的矩形,构造一个空间查询矩形对象。4 44 4 取出可查询图层,到一个查询结果图层数组。取出可查询图层,到一个查询结果图层数组。4 45 5 从可查询图层中,查询每个图层中的对象。从可查询图层中,查询每个图层中的对象。4 46 6 送到网页上显示。送到网页上显示。主要步骤主要步骤5 5其他辅助函数其他辅助函数5 51 1 编写一个函数,利用编写一个函数,利

8、用GridViewGridView将数据表中内容显示将数据表中内容显示到表格中,其中借助到表格中,其中借助HtmlTextWriterHtmlTextWriter类,将表格的内类,将表格的内容转换成容转换成htmlhtml格式的字符串。格式的字符串。5 52 2 编写另一个函数,将数据表转换成编写另一个函数,将数据表转换成htmlhtml表格格式的表格格式的字符串,并把该字符串赋值给地图网页上的一个隐藏字符串,并把该字符串赋值给地图网页上的一个隐藏的文本框控件,调用的文本框控件,调用openopen方法,弹出方法,弹出“属性查询页属性查询页面面”。5 53 3 通过地图控件的通过地图控件的Ca

9、llBackResultsCallBackResults属性中设定事属性中设定事件响应机制,设定响应的事件,以及事件响应函数。件响应机制,设定响应的事件,以及事件响应函数。6 6编写一个弹出信息属性窗口的网页编写一个弹出信息属性窗口的网页课堂实践课堂实践o 自定义矩形查询:自定义矩形查询:P93-P96P93-P96o 补:自定义点查询编程实现补:自定义点查询编程实现课堂实践课堂实践o 自定义矩形查询:自定义矩形查询:P93-P96P93-P96自定义多边型查询自定义多边型查询实现步骤实现步骤1.1.给自定义给自定义ToolTool增加一个地图关联事件,设定关联的响应。增加一个地图关联事件,设

10、定关联的响应。2.2.响应之处实现一个响应之处实现一个IMapServerToolActionIMapServerToolAction接口的接口的ServerActionServerAction函数:函数:(1 1)得到地图控件)得到地图控件(2 2)得到地图控件上被指定的图形。)得到地图控件上被指定的图形。(3 3)得到图形所对应或覆盖到的对象。)得到图形所对应或覆盖到的对象。(4 4)把屏幕对象映射到地图对象。)把屏幕对象映射到地图对象。(5 5)得到地图对象位置所对应的图层的各个对象。)得到地图对象位置所对应的图层的各个对象。(6 6)把结果送给网页窗口显示。)把结果送给网页窗口显示。(

11、7 7)接收并把结果转换成)接收并把结果转换成htmlhtml格式的字符串,通过地图控件的回格式的字符串,通过地图控件的回传处理函数,把字符串显示在弹出的网页上。传处理函数,把字符串显示在弹出的网页上。自定义自定义o 自定义多边形的获取自定义多边形的获取o 从屏幕上的多边形得到地图上的多边形从屏幕上的多边形得到地图上的多边形o o 以多边形为过滤条件进行空间查询以多边形为过滤条件进行空间查询o 自定义多边形的获取自定义多边形的获取从屏幕上的多边形得到地图上的多边形从屏幕上的多边形得到地图上的多边形o 从屏幕上的多边形得到各个拐点(点的集合)从屏幕上的多边形得到各个拐点(点的集合)o 把屏幕上各

12、点转换成地图上的对应点把屏幕上各点转换成地图上的对应点o 把地图上的各点形成地图上的多边形把地图上的各点形成地图上的多边形多边形转换多边形转换o 从屏幕上的多边形得到各个拐点(点的集从屏幕上的多边形得到各个拐点(点的集合),把屏幕上各点转换成地图上的对应点合),把屏幕上各点转换成地图上的对应点多边形转换多边形转换o 把地图上的各点形成地图上的多边形把地图上的各点形成地图上的多边形o 知识:从地图上的点集合,形成到地图上的环,到知识:从地图上的点集合,形成到地图上的环,到地图上的多边形地图上的多边形RingRing是是ESRI.ArcGIS.ADF.Web.Geometry.RingESRI.A

13、rcGIS.ADF.Web.Geometry.RingRingCollectionRingCollection是是ESRI.ArcGIS.ADF.Web.Geometry.RingCollectionESRI.ArcGIS.ADF.Web.Geometry.RingCollection后续任务后续任务o 空间查询,得到查询结果集空间查询,得到查询结果集o 查询结果集转换、显示查询结果集转换、显示自定义多边形查询属性的实现自定义多边形查询属性的实现o 仍然需要一个响应类,和支持类的辅助。仍然需要一个响应类,和支持类的辅助。o 对于自定义多变形查询来说对于自定义多变形查询来说 ,需要增加一,需要增

14、加一个函数,实现多边形坐标系统的转换。个函数,实现多边形坐标系统的转换。响应类响应类public class IdentifyPolygon:IMapServerToolActionpublic class IdentifyPolygon:IMapServerToolAction void IMapServerToolAction.ServerAction(ToolEventArgs void IMapServerToolAction.ServerAction(ToolEventArgs args)args)Map map=args.Control as Map;Map map=args.Co

15、ntrol as Map;PolygonEventArgs polyArgs=PolygonEventArgs polyArgs=(PolygonEventArgs)args;(PolygonEventArgs)args;Polygon mapPoly=GeometryHelper.GetMapPolygon(map,Polygon mapPoly=GeometryHelper.GetMapPolygon(map,polyArgs);polyArgs);IdentifyHelper.Identify(map,mapPoly);IdentifyHelper.Identify(map,mapPol

16、y);自定义多边形查询属性的实现自定义多边形查询属性的实现o 仍然需要一个响应类,和支持类(共仍然需要一个响应类,和支持类(共2 2个个IdentifyHelpeIdentifyHelpe、GeometryHelperGeometryHelper)的辅助。)的辅助。o 对于自定义多变形查询来说对于自定义多变形查询来说 ,需要增加一,需要增加一个函数,实现多边形坐标系统的转换。个函数,实现多边形坐标系统的转换。响应类响应类public class IdentifyPolygon:IMapServerToolActionpublic class IdentifyPolygon:IMapServerToolAction void IMapServerToolAction.ServerAction(ToolEventArgs void IMapServerToolAction.ServerAction(ToolEventArgs args)args)Map map=args.Control as Map;Map map=args.Control as Map;PolygonEventArgs

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 中学教育 > 中学课件

copyright@ 2008-2023 yzwku网站版权所有

经营许可证编号:宁ICP备2022001189号-2

本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!