首页 牟乃夏ArcEngine-第7章矢量数据空间分析

牟乃夏ArcEngine-第7章矢量数据空间分析

举报
开通vip

牟乃夏ArcEngine-第7章矢量数据空间分析牟乃夏ArcGISEngine地理信息系统开发教程配套PPT---第7章矢量数据空间分析目录1.空间拓扑分析2.空间关系运算3.叠加分析4.数据格式转换5.添加XY数据6.使用GP工具进行空间分析1.空间拓扑分析通过一系列的基于一个或者多个几何图形间的逻辑比较,然后返回另外一些几何图形的过程就是空间几何图形的拓扑运算。它是空间分析的基础,各种空间分析的结果都可以通过几何图形之间的拓扑运算实现。相关类与接口(ITopologicalOperator接口)ITopologicalOperator接口的方法仅仅使用在高级...

牟乃夏ArcEngine-第7章矢量数据空间分析
牟乃夏ArcGISEngine地理信息系统开发教程配套 ppt 关于艾滋病ppt课件精益管理ppt下载地图下载ppt可编辑假如ppt教学课件下载triz基础知识ppt ---第7章矢量数据空间 分析 定性数据统计分析pdf销售业绩分析模板建筑结构震害分析销售进度分析表京东商城竞争战略分析 目录1.空间拓扑分析2.空间关系运算3.叠加分析4.数据格式转换5.添加XY数据6.使用GP工具进行空间分析1.空间拓扑分析通过一系列的基于一个或者多个几何图形间的逻辑比较,然后返回另外一些几何图形的过程就是空间几何图形的拓扑运算。它是空间分析的基础,各种空间分析的结果都可以通过几何图形之间的拓扑运算实现。相关类与接口(ITopologicalOperator接口)ITopologicalOperator接口的方法仅仅使用在高级别几何对象上,即Point、MultiPoint、Polyline和Polygon,如果要使用在低等级的几何对象中,如Segment(Line,Circular,Arc,EllipticArc,BezierCurve)、Path或Ring上,需要先将他们组合成高级别几何对象才行。1.空间拓扑分析ITopologicalOperator接口的主要方法及属性有:1)Boundary属性2)Buffer方法3)Clip方法4)Union与ConstructUnion方法5)ConvexHull方法6)Cut方法7)Difference方法与SymmetricDifference方法8)Intersection方法9)Simplify方法BoundaryBuffer方法Clip方法Union方法ConvexHull方法Cut方法Difference方法SymmetricDifference方法Intersection方法Simplify方法1.空间拓扑分析实例详解-缓冲区分析本例的目的是实现在地图上点击选择任意一个多边形要素,程序自动生成该多边形一定范围内的缓冲区并渲染到地图上。实现的基本思路为:添加缓冲区分析操作工具;在其OnMouseDown方法中执行点击查询要素操作;将查询结果要素通过ITopologicalOperator.Buffer方法进行缓冲区生成操作;将缓冲区生成结果利用空间要素渲染方式展示到地图上。1.空间拓扑分析其程序设计具体步骤为:向工程项目中添加继承自BaseTool类的文件,该类实现了BaseCommand基础类和ITool接口的所有方法;添加ToolBufferAnalysis类中的OnClick方法的实现代码,用以判定是否符合缓冲区操作的前提条件(地图中是否加载图层),并修改鼠标样式;添加ToolBufferAnalysis类的OnMouseDown方法的实现,生成缓冲区并将生成的缓冲区要素添加到地图中;1.空间拓扑分析在主程序窗体的按钮事件中,利用ICommand接口调用ToolBufferAnalysis工具类,实现点击选择地理要素并生成缓冲区的操作;点击选择后的多边形生成缓冲区效果展示1.空间拓扑分析实例详解-获取多边形要素边界本例旨在实现通过在地图上点击选择任意一个多边形图形要素,系统自动获得该多边形的边界并渲染展示到地图上。核心代码2.空间关系运算相关类与接口(IRelationalOperator 接口)几何对象之间空间关系主要有:包含、相等、在内部、相交等。矢量数据的空间关系运算需要用到IRelationalOperator接口,通过该接口的不同方法判定两个几何对象之间的关系是否存在。关系运算符用以比较两个几何体,并返回一个boolean型值来说明某种空间关系是否存在。空间包含关系(Contains、Within)交叉(Crosses)相离(Disjoint)重叠(Overlaps)相等(Equals)相接(Touches)2.空间关系运算实例详解-查找一多边形要素的所有邻接要素本例通过在地图上点击选择任意一个多边形,系统自动获取与该多边形要素相邻接的其它多边形并显示到地图上。核心代码3.叠加分析叠加分析(也称叠置分析)是将同一区域,相同参考系统、相同比例尺的两个或多个数据进行叠加产生一个新数据层的操作,其结果综合了原来两层或多层要素所具有的属性信息,并且还能从已有的数据中提取空间隐含的信息。相关类与接口(IBasicGeoprocessor接口)叠加分析所用到的主要接口是IBasicGeoprocessor接口,它提供了基本的矢量数据处理的方法和属性,概括为叠置求交与叠置求和。该接口包括5个方法(Intersect、Union、Clip、Dissolve、Merge)和2个属性(SpatialReference和CancelTracker)。3.叠加分析Clip方法原理图Dissolve方法原理图Intersect方法原理图Merge方法原理图Union方法原理图3.叠加分析实例详解:两相交面图层的裁剪(Clip)分析本例利用IBasicGeoprocessor接口的Clip方法实现两个相交面图层的裁剪分析操作,通过输入被裁剪要素图层和裁剪要素图层,获得目标要素图层,该图层的数据结构同被裁剪要素的数据结构保持一致。实现步骤如下:主窗体中添加触发裁剪操作按钮事件的代码,通过获取裁剪图层和被裁剪图层,调用Clip公共方法,返回结果FeatureClass数据集,并加载到地图中;添加通过图层名称从地图mapControl空间中获取对应图层公共方法函数GetLayerByName(stringlayerName);添加Clip裁剪公共方法,利用IBasicGeoprocessor接口中的Clip方法实现裁剪操作,生成ShapeFile数据作为保存在磁盘中,并输出结果FeatureClass作为返回结果数据;关于裁剪操作,在7.1讲解ITopologicalOperator接口时介绍了Clip方法,在IBasicGeoprocessor接口中也有Clip方法。这两个方法的区别是:ITopologicalOperator是针对两矢量空间要素进行图形信息的裁剪;IBasicGeoprocesso主要针对矢量要素集(图层),其结果综合了原来两层或多层要素所具有的属性信息。4.数据格式转换矢量数据的格式转换是GIS软件常用的功能之一,在自己编写的应用软件中,也经常用到该功能。常用的数据格式转换方法主要有ShapeFile文件和CAD文件、Coverage文件等的转换。相关类与接口(IFeatureDataConverter接口)数据格式转换操作主要用到IFeatureDataConverter接口,它包含三个方法:ConvertFeatureClass、ConvertFeatureDataset和ConvertTable,分别可以将要素类、要素集或表转换成其它数据集,它不仅可以转换单个的要素类或表,也可以转换整个数据集(如ArcInfoCoverage)。同时,FeatureDataConverter对象能够使数据在Geodatabase,ShapeFile和Coverages等大多数的数据类型(除了标注)之间实现转换。在把数据引入Geodatabase时,可以进行数据的条件筛选,只将符合条件的要素转换到目标要素集;当进行数据转入到ArcSDEGeodatabase中时,还可以通过配置ArcSDE的某些关键字来指定存储参数。4.数据格式转换以ConvertFeatureClass方法为例说明,其转换过程各参数意义如下:1)InputDatasetName(IFeatureClassName)参数用于指定输入要素类的一个Name对象,以确定待转换的矢量数据。2)InputQueryFilter(IQueryFilter)参数用于过滤要转换的要素的QueryFilter对象,用以筛选待转换的矢量数据。3)outputFDatasetName(IFeatureDatasetName)参数转换完成的要素类输出的新数据结果集成到现有数据集的IFeatureDatasetName对象中。4)outputFClassName(IFeatureClassName)参数转换完成后,输出要素类的Name对象。5)OutputGeometryDef(IGeometryDef)参数用于指定输出要素类的空间参考信息的GeometryDef对象。如果为null,就使用输入要素类的空间参考信息。6)OutputFields(IFields)参数用于指定输出要素类的字段集。如果把要素结果类输出为同样的数据格式,可以使用输入的要素类的字段集。如果格式有变化,建议使用FieldChecker以确保输出的格式有效。7)configKey(string)参数用于指定ArcSDE配置关键字的字符串。4.数据格式转换实例详解-将ShapeFile数据导入到FileGeodatabase本实例通过IFeatureDataConverte接口的ConvertFeatureClass方法将ShapeFile格式的数据转换导入到FileGeodatabase数据库中,并可以设置属性筛选条件进行部分导入。实例步骤:4.数据格式转换实例详解-通过数据解析方式实现ShapeFile数据转CAD格式数据实现思路:首先通过对ShapeFile数据的遍历以及属性条件进行筛选,然后将符合条件的数据利用System.IO.TextWrite方法类进行CAD文件的写入,实现数据格式的转化。实现步骤:首先获取地图中加载的ShapeFile数据转换为ILayer接口的对象,然后选择转换成功后CAD格式数据的存储路径,调用封装的ConvertShapeToDXF类中的转换方法实现转换,转换成功后进行信息提示;获取FeatureLayer对象的数据最大范围矩形,并据此进行CAD文件区域范围的写入; 初始化构建CAD文件属性表;初始化构建CAD文件块;初始化构建CAD文件实体,即将解析后的ShapeFile数据进行CAD文件格式的写入,此过程可以针对写入的要素进行条件筛选;以Point对象为例,设置CAD对象的线长、颜色。此外,Polyline和Polygon也可以参照此方法进行设置,不过要比Point复杂,具体代码请读者参考随书光盘;5.添加XY数据ArcGIS软件中有添加X、Y数据的功能,目的是将以X、Y二维几何坐标形式存储的数据转换为GIS中的图形数据。相关类与接口实现将包含X、Y坐标的文本文件、Excel文件或者Access文件生成GIS的点数据的接口主要有:IXYEventSource、IXYEventSourceName和IXYEvent2FieldsProperties等。5.添加XY数据相关类与接口1)IXYEventSource接口IXYEventSourceName接口的Open方法执行将X、Y数据转化为IFeatureClass的功能,形成空间数据。2)IXYEventSourceName接口IXYEventSourceName接口主要用于初始化XYEventSourceNameClass对象,利用其EventProperties属性赋予IXYEvent2FieldsProperties初始化对象值,完成属性的传递。同时IXYEventSourceName对象强制转化为IName对象,借助IName对象的Open方法形成IXYEventSource空间要素数据集,即可强制转化为IFeatureClass空间矢量要素数据集,然后可进行数据加载。3)IXYEvent2FieldsProperties接口IXYEvent2FieldsProperties接口主要用于赋予EventProperties属性值,通过SpatialReference属性赋予坐标系统和EventTableName属性赋予事件数据结果表名称。5.添加XY数据实例详解-带有X、Y字段的Excel数据表转为点数据本例将带有X、Y字段的Excel数据表转化为点要素类,通过指定对应的数据字段和坐标参考将表对象转化为IFeatureClass对象。实现的具体步骤为:向工程项目中添加自定义窗体,该窗体命名为“FrmXYToPoint”,其设计布局和属性设置。利用打开Excel坐标文件的【打开】按钮的Click方法实现通过OleDbConnection数据访问类打开Excel数据,并读取Excel中Sheet列表添加到“选择坐标数据表”下拉列表控件中;利用“选择坐标数据表”下拉列表中的SelectedIndexChanged事件读取所选择的Sheet表中字段集合并加载到X、Y字段选择下列列表中;利用数据转化【成图】按钮的Click方法执行数据转换过程;数据转化完成,带有X、Y坐标字段的数据转换成点数据。6.使用GP工具进行空间分析ArcToolbox是所有工具的集合,提供工具运行的环境。在ArcGISEngine编程过程中,可以通过调用GP工具来实现某些常用的功能。相关类与接口调用GP工具主要应用了GeoProcessor类,这个类也可以调用我们自定义的工具。在使用GeoProcessor类时,需要首先定义一个GeoProcessor对象,Geoprocessor是简化调用Geoprocessing工具任务的主要对象。这个对象是执行ArcGIS中任何Geoprocessing工具的唯一访问点,它是一个粗粒度对象,包含了许多属性和方法,在设置完相关的参数后,则通过GeoProcessor的Excute函数来执行,Excute方法中需要一个操作对象作为参数,如:Intersect,Clip等,具体包含哪些操作类,可通过ArcToolBox和Esri的帮助文档查找。下面以实例的方式介绍GP工具的 使用方法 消防栓的使用方法指针万用表的使用方法84消毒液使用方法消防灭火器使用方法铁材计算器使用方法 。6.使用GP工具进行空间分析实例详解-利用GP工具实现缓冲区分析调用GP工具生成缓冲区是通过调用ESRI.ArcGIS.AnalysisTools.Buffer方法来生成的实例代码6.使用GP工具进行空间分析实例详解-利用GP工具实现ShapeFile数据转CAD数据本例主要通过调用GP工具将ShapeFile数据转换为CAD数据,并将转换结果加载到系统中。其实现的具体步骤为:6.使用GP工具进行空间分析以上为通过调用GP工具实现由ShapeFile数据转化为CAD数据的代码执行过程,可以看出调用GP工具实现某些功能的便捷性。尤其对于一些复杂的操作更有立竿见影的效果,因此掌握好调用GP工具的实现方式往往起到事半功倍的效果。
本文档为【牟乃夏ArcEngine-第7章矢量数据空间分析】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
个人认证用户
正方体
暂无简介~
格式:ppt
大小:1MB
软件:PowerPoint
页数:24
分类:
上传时间:2022-05-11
浏览量:0