ArcGIS Engine地理信息系统开发教程 第4章 查询统计.pptx

上传人:zf 文档编号:30812023 上传时间:2024-01-30 格式:PPTX 页数:49 大小:1.01MB
下载 相关 举报
ArcGIS Engine地理信息系统开发教程 第4章 查询统计.pptx_第1页
第1页 / 共49页
ArcGIS Engine地理信息系统开发教程 第4章 查询统计.pptx_第2页
第2页 / 共49页
ArcGIS Engine地理信息系统开发教程 第4章 查询统计.pptx_第3页
第3页 / 共49页
ArcGIS Engine地理信息系统开发教程 第4章 查询统计.pptx_第4页
第4页 / 共49页
ArcGIS Engine地理信息系统开发教程 第4章 查询统计.pptx_第5页
第5页 / 共49页
点击查看更多>>
下载资源
资源描述

ArcGIS Engine地理信息系统开发教程 第4章 查询统计.pptx

《ArcGIS Engine地理信息系统开发教程 第4章 查询统计.pptx》由会员分享,可在线阅读,更多相关《ArcGIS Engine地理信息系统开发教程 第4章 查询统计.pptx(49页珍藏版)》请在冰豆网上搜索。

ArcGIS Engine地理信息系统开发教程 第4章 查询统计.pptx

第4章查询统计,目录,1,目录,1,属性查询,2,3,图形查询,空间查询,4,选择集,5,6,统计分析,查询选项设置,简介,属性查询即基于空间数据的属性数据,通过用户提交由SQL查询语言中where子句定义的查询条件,对属性信息进行搜索,从而得到查询结果的操作。

1.属性查询,2,相关类与接口,与属性查询功能相关的类主要有:

QueryFilter、QueryDef、Cursor、FeatureCursor等与属性查询功能相关的接口主要有:

IQueryFilter、IQueryDef、ICursor、IFeatureCursor以及IFeatureSelection等,1.属性查询,3,相关类与接口,QueryFilter类用于根据属性值或关系来过滤数据实现了IQueryFilter接口,该接口主要有以下属性和方法:

WhereClause属性-设置用来过滤数据的where条件子句SubFields属性-定义用于数据过滤的属性字段列表,其默认值为“*”,1.属性查询,4,相关类与接口,QueryDef类该类是ESRI的查询定义类,为ArcGISEngine中的Class类不能被直接创建可以由IFeatureWorkspace接口的CreateQueryDef方法创建实现了IQueryDef接口,该接口的成员用来操作基于属性的查询,主要有以下属性和方法:

Tables属性-定义所查询表的名称列表WhereClause属性-与IQueryFilter接口中WhereClause属性的用法相同SubFields属性-与IQueryFilter接口中SubFields属性的用法相同Evaluate方法-执行所定义的查询并返回查询结果集的游标,1.属性查询,5,相关类与接口,Cursor类该类是ESRI的游标类,为ArcGISEngine中的Class类不能被直接创建可以由相关接口中的方法创建游标接口主要包括ICursor接口和IFeatureCursor接口IFeatureCursor接口-继承于ICursor接口IFeatureCursor接口-用于操作要素(Feature)ICursor接口-主要用于操作数据行,1.属性查询,6,相关类与接口,FeatureCursor类该类是ESRI的要素游标类,为ArcGISEngine中的Class类不能被直接创建可以由相关接口中的方法创建实现了IFeatureCursor接口该接口成员的用法与ICursor接口的成员类似,但是其操作的对象是要素主要使用NextFeature方法将游标的位置向前移动一位,并返回该位置的要素对象,1.属性查询,7,相关类与接口,FeatureLayer类

(1)该类主要操作要素的集合及要素的可视化表达

(2)实现了IFeatureLayer接口和IFeatureSelection接口IFeatureLayer接口该接口的成员主要是要素图层(FeatureLayer)的各类常用属性和操作,其与查询相关的属性和方法有:

Selectable属性-用于获取或设置要素图层是否可以被选择FeatureClass属性-用于获取或设置图层的要素类(FeatureClass)Search方法-根据设置的查询条件创建查询结果的游标,1.属性查询,8,相关类与接口,FeatureLayer类IFeatureSelection接口该接口的成员用来控制该图层的要素选择集(FeatureSelection)SelectFeatures方法-用于根据设置的查询条件和选择方法等来选择要素SelectionSet属性-设置或获取单个矢量图层的选择集,其值为ISelectionSet接口类型,1.属性查询,9,相关类与接口,FeatureClass类该类为ArcGISEngine中的Class类不能被直接创建可以通过多种方式获取某个图层的要素类实现了IFeatureClass接口,该接口的成员用于控制要素类的属性和行为,主要有以下方法:

Search方法-根据查询条件进行查询并返回结果的游标Select方法-根据查询条件选择相应的要素,并将其放置在选择集中,1.属性查询,10,实例讲解,1.属性查询,11,相关接口中查询方法使用比较,实例讲解,本例通过点击菜单弹出【属性信息查询】窗体,在窗体中构造查询条件,执行查询来得到查询结果。

实现思路,1.属性查询,12,在实现主窗体的基础上,添加【根据属性信息查询】窗体实现【根据属性信息查询】窗体的各类事件(3)通过窗体完成属性查询操作,实例讲解,该窗体用于显示及设置与属性查询相关的图层、选择方式、属性字段、where语句的运算符、所选择属性字段的值、最终的where语句以及执行查询的按钮等,以实现与ArcMap中类似的属性查询功能。

窗体界面,1.属性查询,13,实例讲解,核心代码,1.属性查询,14,实例讲解,效果展示,1.属性查询,15,简介,空间查询功能是通过用户选择的空间几何体以及该几何体与当前地图中要素之间的几何关系,进行空间查找,从而得到查询结果的操作。

2.空间查询,16,相关类与接口,与空间查询相关的类主要是SpatialFilter类SpatialFilter类是空间关系过滤类与空间查询相关的接口主要是ISpatialFilter接口等ISpatialFilter接口的成员主要用于返回和修改数据过滤器所使用的空间关系ISpatialFilter接口同时包含了空间和属性两种查询约束继承自IQueryFilter接口,2.空间查询,17,相关类与接口,Geometry属性设置或获取用来筛选数据的几何体,其值为IGeometry接口类型GeometryField属性获取或设置应用于查询过滤器中几何字段的名称SpatialRel属性获取或设置过滤器所要使用的空间关系,其值为esriSpatialRelEnum枚举类型,主要包括以下空间关系:

相交(esriSpatialRelIntersects)覆盖(esriSpatialRelOverlaps)跨越(esriSpatialRelCrosses),2.空间查询,18,实例讲解,本例通过点击菜单弹出【空间查询】窗体,在窗体中构造查询条件,执行查询得到查询结果。

实现思路,2.空间查询,19,在实现主窗体的基础上,添加【根据空间位置选择】窗体实现【根据空间位置选择】窗体的各类事件(3)通过窗体完成空间查询操作,实例讲解,核心代码,2.空间查询,20,实例讲解,窗体界面,效果展示,2.空间查询,21,简介,图形查询是以用户通过鼠标操作生成的图形几何体(即ArcGIS中的Graphics)为输入条件进行查询的操作,其查询结果为该几何体空间范围内的所有要素。

常用的查询方式包括点选、线选、多边形选择、圆形选择和矩形选择等。

3.图形查询,22,相关类与接口,图形查询主要使用以下接口及方法:

Map类的IMap接口中的方法Map类的IGraphicsContainer接口操控图形元素(Element)中的IElement接口IMap接口的SelectByShape方法-能够根据给定的几何体和选择环境(该参数可选),在当前地图中选择要素,3.图形查询,23,实例讲解,进行图形查询的方法主要有以下3种:

(1)使用ArcGISEngine自带工具

(2)使用代码(3)使用鼠标操作生成图形,3.图形查询,24,实例讲解,使用ArcGISEngine自带工具ArcGISEngine已经提供了基于图形查询的工具,以及绘制图形的工具(如绘制矩形工具、绘制圆形工具等),可以添加各种工具按钮来实现图形查询。

3.图形查询,25,实例讲解,使用IGraphicsContainer接口遍历并获取当前地图中的每个图形(Graphics)使用IElement接口访问获取的图形及其几何信息(3)使用SelectByShape方法进行基于图形的查询,使用代码,实现思路,3.图形查询,26,实例讲解,使用代码,核心代码,3.图形查询,27,实例讲解,使用代码,效果展示,3.图形查询,28,实例讲解,使用鼠标操作生成图形通过鼠标点击在屏幕上绘制各种图形,然后进行图形查询的操作,这与空间数据编辑中生成新几何体的操作相同,涉及到ESRI.ArcGIS.Display命名空间中的IDisplayFeedback接口及实现该接口的相关类。

3.图形查询,29,简介,

(1)选择集是存放当前地图中查询、选择结果的集合,4.选择集,30,通过属性查询、空间查询和图形查询等方式进行查询操作后,查询结果就放置在选择集中通过访问选择集可以获取所有的查询结果ArcGIS中与地图相关的选择集有两种:

整个地图的选择集和单个图层的选择集,相关类与接口,与选择集相关的类主要有:

Map、MapSelection、SelectionSet、FeatureLayer等与选择集相关的接口有:

IMap、ISelection、IEnumFeature、ISelectionSet、IFeatureSelection等,4.选择集,31,相关类与接口,Map类IMap接口中与选择集相关的操作主要包括以下属性和方法:

FeatureSelection属性-获取或设置当前整个地图的选择集,其返回值为ISelection接口类型SelectionCount属性-获取当前地图中已选择的要素总数ClearSelection方法-清空整个地图的选择集,4.选择集,32,相关类与接口,MapSelection类该类用于保存当前地图的要素选择集,为ArcGISEngine中的Class类不能被直接创建与选择集相关的操作需要用到该类的如下接口及方法:

ISelection接口-该接口的成员用来操控可选择对象的集合IEnumFeature接口-该接口的成员可以遍历和重置要素的集合,4.选择集,33,相关类与接口,SelectionSet类SelectionSet类是ESRI选择集类,为ArcGISEngine中的Class类不能被直接创建可以由IFeatureSelection接口的SelectionSet属性获得实现了ISelectionSet接口该接口的成员用来管理已选择的数据表行或要素的集合,主要使用如下属性和方法:

Count属性-获取选择集中要素的总数Search方法-对选择集中的数据进行筛选,返回筛选结果的游标,4.选择集,34,实例讲解,本例通过点击菜单弹出【地图选择集】窗体,在窗体内分图层显示当前地图中被选择的要素。

实现思路,4.选择集,35,

(1)在实现主窗体的基础上,添加【地图选择集】窗体

(2)实现【地图选择集】窗体的各类事件(3)根据当前地图所选择要素的情况显示相关信息,实例讲解,核心代码,4.选择集,36,实例讲解,窗体界面,效果展示,4.选择集,37,简介,查询选项的设置用于确定执行各类查询操作时共有的参数配置,如查询的空间容限值大小(即多少像素范围内的要素可以被查询到或被选中)、图形选择集的颜色等。

5.查询选项设置,38,相关类与接口,与查询选项设置功能相关的类主要是SelectionEnvironment类SelectionEnvironment类用于定义要素选择环境与查询选项设置功能相关的接口主要是ISelectionEnvironment接口该接口的成员用于设置选择的环境变量,其中与查询选项设置功能相关的主要属性如下:

DefaultColor属性-获取或设置选择集要素的默认显示颜色SearchTolerance属性-获取或设置查询的距离容限值,5.查询选项设置,39,实例讲解,本例通过点击菜单弹出【选择操作选项】窗体,在窗体中设置需要改变的参数值,则改变后的值将应用到后续的选择操作中。

实现思路,5.查询选项设置,40,

(1)在实现主窗体的基础上,添加【选择操作选项】窗体

(2)实现【选择操作选项】窗体的各类事件(3)通过窗体完成参数值的设定,实例讲解,窗体界面,5.查询选项设置,41,实例讲解,核心代码,5.查询选项设置,42,简介,统计分析是对查询结果数据的某一个字段进行信息统计,并生成分析报告的操作。

目前支持的统计分析类型包括:

统计结果的总个数、最大值、最小值、平均值、标准差和总和等6种统计量。

6.统计分析,43,相关类与接口,

(1)与统计分析功能相关的类是DataStatistics类和BaseStatistics类

(2)实现的接口分别是IDataStatistics接口和IStatisticsResults接口DataStatistics类该类为ESRI的数据统计类实现了IDataStatistics接口,该接口的成员用于生成基于字段的统计报告,其主要的属性与方法如下:

Field属性-获取或设置用于统计的字段Cursor属性-设置用于统计字段的要素的游标Statistics方法-执行统计分析,其返回值为IStatisticsResults接口类型,6.统计分析,44,相关类与接口,BaseStatistics类该类用于生成和输出统计结果实现了IStatisticsResults接口,该接口的成员用于获取统计分析的结果,其主要的属性与方法如下:

Count属性-获取统计结果中所统计要素的总个数Maximum属性-获取统计结果的最大值Minimum属性-获取统计结果的最小值Mean属性-获取统计结果的平均值StandardDeviation属性-获取统计结果的标准差Sum属性-获取统计结果的总和,6.统计分析,45,实例讲解,本例通过点击菜单弹出【选择集统计】窗体,实现对当前地图选择集进行统计,得到统计结果。

实现思路,6.统计分析,46,

(1)在实现主窗体的基础上,添加【选择集统计】窗体

(2)实现【选择集统计】窗体的各类事件(3)通过窗体选择统计内容并完成统计,实例讲解,核心代码,6.统计分析,47,实例讲解,窗体界面,效果展示,6.统计分析,48,

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

当前位置:首页 > 求职职场 > 自我管理与提升

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1