ArcGISEngine中的地图组成及图层控制接口函数全解课件.ppt
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《ArcGISEngine中的地图组成及图层控制接口函数全解课件.ppt》由用户(晟晟文业)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- ArcGISEngine 中的 地图 组成 控制 接口 函数 课件
- 资源描述:
-
1、第五讲第五讲 地图组成及图层控制(地图组成及图层控制(1)1?课题:地图组成及图层控制?目的要求:本章是GIS二次开发的重点内容之一,主要介绍ArcGIS Engine中的地图对象、图层对象、屏幕显示对象、页面布局对象、地图排版、Element对象、MapGrid对象模型、MapSurround对象、Style对象等,通过介绍这些对象,了解这些对象的相关接口及这些接口的属性、方法。?教学重点:各对象、接口及接口的重要属性、方法?教学难点:在实际开发中运用各对象进行图层添加与删除、各种设置等?教学课时:6?学术前沿:地图对象?IMap接口?IGraphicsContainer接口?IActive
2、View接口?IActiveViewEvents接口?IMapBookmark接口?ITableCollection接口图层对象?ILayer接口?要素图层?CAD文件?TIN图层?GraphicLayer屏幕显示对象页面布局对象湖南城市学院GIS专业GIS二次开发?使用ArcGIS Engine 9.33湖南城市学院GIS专业GIS二次开发?使用ArcGIS Engine 9.3Map对象?数据的管理容器;?数据显示的主要载体;?共35个接口,如IMap、IGraphicsContainer、IActiveView、IActiveViewEvents、IMapBookmark、ITableC
3、ollection 等;?能显示两类图形,一类是 地理数据,一类是元素。如矢量点、线、面数据,栅格数据,TIN数据等。如指北针、图例等。4湖南城市学院GIS专业GIS二次开发?使用ArcGIS Engine 9.3Map对象IMap接口例:选择要素IMap pMap=axMapControl1.Map;IActiveView pActiveView=pMap as IActiveView;IEnvelope pEnvelope=axMapControl1.TrackRectangle();ISelectionEnvironment pSelEnv=new SelectionEnvironmen
4、tClass();pSelEnv.DefaultColor=GetRGB(110,120,210);pMap.SelectByShape(pEnvelope,pSelEnv,false);pActiveView.PartialRefresh(esriViewDrawPhase.esriViewGeoSelection,null,null);5湖南城市学院GIS专业GIS二次开发?使用ArcGIS Engine 9.3Map对象IGraphicsContainer接口6Map对象通过IGraphicsContainer 接口来管理图形元素和框架元素。AddElement添加元素UpdateEle
5、ment更新元素DeleteElement删除元素湖南城市学院GIS专业GIS二次开发?使用ArcGIS Engine 9.3Map对象IGraphicsContainer接口7IGraphicsContainer接口的AddElement方法IMappMap=axMapControl1.Map;IPolyline pPolyline=new PolylineClass();IPoint pPoint=new PointClass();pPoint.PutCoords(1,5);pPolyline.FromPoint=pPoint;pPoint.PutCoords(80,5);pPolylin
6、e.ToPoint=pPoint;湖南城市学院GIS专业GIS二次开发?使用ArcGIS Engine 9.3Map对象IGraphicsContainer接口8IGraphicsContainer接口的AddElement方法ILineElement pLineElement=new LineElementClass();IElement pElement=pLineElement as IElement;pElement.Geometry=pPolyline as IGeometry;IGraphicsContainer pGraCon=pMap as IGraphicsContainer
7、;pGraCon.AddElement(pElement,0);axMapControl1.ActiveView.PartialRefresh(esriViewDrawPhase.esriViewGraphics,null,null);湖南城市学院GIS专业GIS二次开发?使用ArcGIS Engine 9.3Map对象IGraphicsContainer接口9IGraphicsContainer接口的接口的DeleteElement方法方法?IGraphicsContainer pGraCon=axMapControl1.Map as IGraphicsContainer;?pGraCon.
8、Reset();?IElement pElement;?pElement=pGraCon.Next();?while(pElement!=null)?pGraCon.DeleteElement(pElement);?pElement=pGraCon.Next();?axMapControl1.ActiveView.Refresh();湖南城市学院GIS专业GIS二次开发?使用ArcGIS Engine 9.3Map对象IActiveView接口10IActiveView接口是Map对象最主要、最常用的接口之一,该接口定义了 Map对象的数据显示功能。通过该接口,可以在 Map上绘制图形改变视图
9、范围获取ScreenDisplay对象的指针显示或隐藏标尺和滚动条刷新地图湖南城市学院GIS专业GIS二次开发?使用ArcGIS Engine 9.3Map对象IActiveView接口11IActiveView接口的重要属性和方法:?Extent返回Map对象当前视图的范围,返回值为一个Envelope对象;?FullExtent返回Map对象当前视图的全图范围;?ScreenDisplay用于指向一个ScreenDisplay对象;?PartialRefreshMap对象视图的刷新方法,通过指定esriViewDrawPhase参数,可以实现不同方式的局部刷新。主要内容主要内容12A.图层
10、对象B.屏幕显示对象C.页面布局对象D.地图排版E.Element对象?ILayer接口?要素图层?CAD文件?TIN图层?GraphicsLayer?Page对象?SnapGrid对象?SnapGuides对象?RulerSettings对象?图形元素?框架元素图层对象-ILayer接口13ILayerILayer接口是所有图层所有图层类都实现的接口,该接口定义了所有图层的公共方法和属性。有图层的公共方法和属性。?Name-返回图层名称;?MaximumScale(MinimumScale)-显示或设置图层可以出现的最大(最小)比例尺;?ShowTips-鼠标放在图层中某个要素上的时候,是否
11、会出现Tip;?TipText-图层提示文字;?SpatialReference-设置图层的空间参考。图层对象-要素图层141.1.要素图层用于表示离散的矢量对象的信息。要素图层用于表示离散的矢量对象的信息。2.2.要素图层的主要接口主要有:要素图层的主要接口主要有:?IFeatureLayer接口?IGeoFeatureLayer接口?IGeoDataset接口?IFeatureSelection接口?IFeatureLayerDefinition接口?ILayerFields接口?IIdentify接口图层对象-要素图层-IFeatureLayer15IFeatureLayer接口的主要属
12、性和方法:?DataSourceType-返回图层的数据源属性;?Search-返回一个ICursor的对象。例:IFeatureLayer接口的Search方法(P87)图层对象-要素图层-IFeatureLayer16DataSourceType的类型:图层对象-要素图层-IGeoFeatureLayer17IGeoFeatureLayer接口继承了ILayer接口和IFeatureLayer两个接口,CadFeatureLayer、FeatureLayer、GdbRasterCatalogLayer等3个图层类实现了该接口。主要属性和方法有:?SearchDisplayFeature-只
13、显示复合查询要求的要素,其他要素会消失掉;?Renderer-设置图层的着色对象;?DisplayAnnotation-设置要素图层是否出现标注,如果为True,用户可以依据图层的某个字段进行标注。图层对象-要素图层-IFeatureSelection18IFeatureSelectionIFeatureSelection接口负责管理一个图层中要素的选择接口负责管理一个图层中要素的选择集的属性和方法。集的属性和方法。?Add-将本图层的一个要素添加到图层的选择集中;?SelectFeatures-使用一个过滤器把符合要求的要素放入图层的选择集中;?Clear-把图层的所有选择集清空。注:选择集
14、有两种,要素选择集和元素选择集,PageLayout只有元素选择集,Map则有元素选择集和要素选择集。图层对象-要素图层-ILayerFields19ILayerFields接口提供了Field、FieldCount、FieldInfo和FindField等属性和方法,用于获取要素类的字段信息。图层对象-要素图层-IIdentify20IIdentify接口定义了一个方法Identify,用于获取图层的单个要素,返回一个IArray数组对象。湖南城市学院Hunnan City UniversityGIS二次开发2图层对象/CAD文件Map对象能够载入多种格式的地理和非地理数据,其中便包括Aut
15、oCAD 的DWG文件。DWG文件是两种不同形式的 混合体:一是要素图层,保存矢量数据,使用FeatureLayer对象管理;二是栅格图像,使用 CadLayer 对象管理。当DWG文件载入 Map对象时,ArcEngine 将CAD元素分为 4种类型:点、线、多边形和标注,并在要素的属性表中建立 标识字段,而不按照 DWG文件本身的图层号进行分层。CAD文件中的文字可以使用 CadAnnotationLayer对象来操作。下面的代码展示了在 ArcEngine 9.3中如何加载DWG文件:using ESRI.ArcGIS.Geodatabase;using ESRI.ArcGIS.Data
16、SourcesFile;private void AddCadLayers(string strCadPath,string strCadName,AxMapControl pMapControl)IWorkspaceFactory pCadFactory=new CadWorkspaceFactoryClass();IWorkspace pWorkspace=pCadFactory.OpenFromFile(strCadPath,0);ICadDrawingWorkspace pCadDrawingWorkspace=pWorkspace as ICadDrawingWorkspace;IC
17、adDrawingDataset pCadDataset=pCadDrawingWorkspace.OpenCadDrawingDataset(strCadName);ICadLayer pCadLayer=new CadLayerClass();pCadLayer.CadDrawingDataset=pCadDataset;pMapControl.AddLayer(pCadLayer,0);湖南城市学院Hunnan City UniversityGIS二次开发2图层对象/TIN图层ITinLayer 接口定义了TIN图层如何 Map对象中显示的方法和属性。?Dataset-显示TIN图层的数
展开阅读全文