ArcGISEngine中的地图组成及图层控制接口函数全解课件.ppt
《ArcGISEngine中的地图组成及图层控制接口函数全解课件.ppt》由会员分享,可在线阅读,更多相关《ArcGISEngine中的地图组成及图层控制接口函数全解课件.ppt(31页珍藏版)》请在三一办公上搜索。
1、第五讲,地图组成及图层控制(,1,),1,?,课,题:地图组成及图层控制,?,目的要求:本章是,GIS,二次开发的重点内容之一,主要介,绍,ArcGIS Engine,中的地图对象、图层对象、屏幕显示对象,、页面布局对象、地图排版、,Element,对象、,MapGrid,对象,模型、,MapSurround,对象、,Style,对象等,通过介绍这些对,象,了解这些对象的相关接口及这些接口的属性、方法。,?,教学重点:各对象、接口及接口的重要属性、方法,?,教学难点:在实际开发中运用各对象进行图层添加与删除,、各种设置等,?,教学课时:,6,?,学术前沿:,地图对象,?,IMap,接口,?,I
2、GraphicsContainer,接口,?,IActiveView,接口,?,IActiveViewEvents,接口,?,IMapBookmark,接口,?,ITableCollection,接口,图层对象,?,ILayer,接口,?,要素图层,?,CAD,文件,?,TIN,图层,?,GraphicLayer,屏幕显示对象,页面布局对象,湖南城市学院,GIS,专业,GIS,二次开发,?,使用,ArcGIS Engine 9.3,3,湖南城市学院,GIS,专业,GIS,二次开发,?,使用,ArcGIS Engine 9.3,Map,对象,?,数据的管理容器;,?,数据显示的主要载体;,?,共
3、,35,个接口,,如,IMap,、,IGraphicsContainer,、,IActiveView,、,IActiveViewEvents,、,IMapBookmark,、,ITableCollection,等;,?,能显示两类图形,一类是,地理数据,,一类是,元素,。,如矢量点、线、,面数据,栅格数,据,,TIN,数据等。,如指北针、,图例等。,4,湖南城市学院,GIS,专业,GIS,二次开发,?,使用,ArcGIS Engine 9.3,Map,对象,IMap,接口,例:选择要素,IMap,pMap,=,axMapControl1.Map;,IActiveView,pActiveView
4、,=,pMap,as,IActiveView;,IEnvelope,pEnvelope,=,axMapControl1.TrackRectangle();,ISelectionEnvironment,pSelEnv,=,new,SelectionEnvironmentClass();,pSelEnv.DefaultColor,=,GetRGB(110,120,210);,pMap.SelectByShape(pEnvelope,pSelEnv,false);,pActiveView.PartialRefresh(esriViewDrawPhase.esriViewGeoSelection,nu
5、ll,null);,5,湖南城市学院,GIS,专业,GIS,二次开发,?,使用,ArcGIS Engine 9.3,Map,对象,IGraphicsContainer,接口,6,Map,对象通过,IGraphicsContainer,接口来管理,图形元素和框架元素。,AddElement,添加元素,UpdateElement,更新元素,DeleteElement,删除元素,湖南城市学院,GIS,专业,GIS,二次开发,?,使用,ArcGIS Engine 9.3,Map,对象,IGraphicsContainer,接口,7,IGraphicsContainer,接口的,AddElement,方
6、法,IMap,pMap,=axMapControl1.Map;,IPolyline,pPolyline=new PolylineClass();,IPoint,pPoint=new PointClass();,pPoint.PutCoords(1,5);,pPolyline.FromPoint,=pPoint;,pPoint.PutCoords(80,5);,pPolyline.ToPoint,=pPoint;,湖南城市学院,GIS,专业,GIS,二次开发,?,使用,ArcGIS Engine 9.3,Map,对象,IGraphicsContainer,接口,8,IGraphicsContai
7、ner,接口的,AddElement,方法,ILineElement,pLineElement=new LineElementClass();,IElement pElement=pLineElement as IElement;,pElement.Geometry,=pPolyline as IGeometry;,IGraphicsContainer pGraCon=pMap as,IGraphicsContainer;,pGraCon.AddElement(pElement,0);,axMapControl1.ActiveView.PartialRefresh(esriViewDraw,P
8、hase.esriViewGraphics,null,null);,湖南城市学院,GIS,专业,GIS,二次开发,?,使用,ArcGIS Engine 9.3,Map,对象,IGraphicsContainer,接口,9,IGraphicsContainer,接口的,DeleteElement,方法,?,IGraphicsContainer,pGraCon,=axMapControl1.Map as,IGraphicsContainer;,?,pGraCon.Reset();,?,IElement,pElement;,?,pElement,=pGraCon.Next();,?,while(pE
9、lement!=null),?,?,pGraCon.DeleteElement(pElement);,?,pElement,=pGraCon.Next();,?,?,axMapControl1.ActiveView.Refresh();,湖南城市学院,GIS,专业,GIS,二次开发,?,使用,ArcGIS Engine 9.3,Map,对象,IActiveView,接口,10,IActiveView,接口是,Map,对象最主要、最常用,的接口之一,该接口定义了,Map,对象的数据,显示功能。通过该接口,可以在,Map,上,绘制图形,改变视图范围,获取,ScreenDisplay,对象的指针,显
10、示或隐藏标尺和滚动条,刷新地图,湖南城市学院,GIS,专业,GIS,二次开发,?,使用,ArcGIS Engine 9.3,Map,对象,IActiveView,接口,11,IActiveView,接口的重要属性和方法:,?,Extent,返回,Map,对象当前视图的范围,返回值为一,个,Envelope,对象;,?,FullExtent,返回,Map,对象当前视图的全图范围;,?,ScreenDisplay,用于指向一个,ScreenDisplay,对象;,?,PartialRefresh,Map,对象视图的刷新方法,通过指定,esriViewDrawPhase,参数,可以实现不同方式的局部
11、刷,新。,主要内容,12,A.,图层对象,B.,屏幕显示对象,C.,页面布局对象,D.,地图排版,E.Element,对象,?,ILayer,接口,?,要素图层,?,CAD,文件,?,TIN,图层,?,GraphicsLayer,?,Page,对象,?,SnapGrid,对象,?,SnapGuides,对象,?,RulerSettings,对象,?,图形元素,?,框架元素,图层对象,-ILayer,接口,13,ILayer,接口是,所有图层,类都实现的接口,该接口定义了所,有图层的公共方法和属性。,?,Name-,返回图层名称;,?,MaximumScale,(,MinimumScale,),
12、-,显示或设置图层可以,出现的最大(最小)比例尺;,?,ShowTips-,鼠标放在图层中某个要素上的时候,是否会,出现,Tip,;,?,TipText-,图层提示文字;,?,SpatialReference-,设置图层的空间参考。,图层对象,-,要素图层,14,1.,要素图层用于表示离散的矢量对象的信息。,2.,要素图层的主要接口主要有:,?,IFeatureLayer,接口,?,IGeoFeatureLayer,接口,?,IGeoDataset,接口,?,IFeatureSelection,接口,?,IFeatureLayerDefinition,接口,?,ILayerFields,接口,
13、?,IIdentify,接口,图层对象,-,要素图层,-IFeatureLayer,15,IFeatureLayer,接口的主要属性和方法:,?,DataSourceType-,返回图层的数据源属性;,?,Search-,返回一个,ICursor,的对象。,例:,IFeatureLayer,接口的,Search,方法(,P87,),图层对象,-,要素图层,-IFeatureLayer,16,DataSourceType,的类型:,图层对象,-,要素图层,-IGeoFeatureLayer,17,IGeoFeatureLayer,接口继承了,ILayer,接口和,IFeatureLayer,两个
14、接口,,CadFeatureLayer,、,FeatureLayer,、,GdbRasterCatalogLayer,等,3,个图层类实,现了该接口。主要属性和方法有:,?,SearchDisplayFeature-,只显示复合查询要求的要素,,其他要素会消失掉;,?,Renderer-,设置图层的着色对象;,?,DisplayAnnotation-,设置要素图层是否出现标注,如果,为,True,,用户可以依据图层的某个字段进行标注。,图层对象,-,要素图层,-IFeatureSelection,18,IFeatureSelection,接口负责管理一个图层中要素的选择,集的属性和方法。,?,
15、Add-,将本图层的一个要素添加到图层的选择集中;,?,SelectFeatures-,使用一个过滤器把符合要求的要素放,入图层的选择集中;,?,Clear-,把图层的所有选择集清空。,注:选择集有两种,要素选择集和元素选择集,,PageLayout,只有元素选择集,,Map,则有元素选择集和要素,选择集。,图层对象,-,要素图层,-ILayerFields,19,ILayerFields,接口提供了,Field,、,FieldCount,、,FieldInfo,和,FindField,等属性和方法,用于获取要素类,的字段信息。,图层对象,-,要素图层,-IIdentify,20,IIdent
16、ify,接口定义了一个方法,Identify,,用于获取图层,的单个要素,返回一个,IArray,数组对象。,湖南城市学院,Hunnan City University,GIS,二次开发,2,图层对象,/CAD,文件,Map,对象能够载入多种格式的地理和非地理数据,其中便包括,AutoCAD,的,DWG,文件,。,DWG,文件是两种不同形式的,混合体,:一是要素图层,保存矢量数据,使用,FeatureLayer,对象管理;二是栅格图像,使用,CadLayer,对象管理。,当,DWG,文件载入,Map,对象时,,ArcEngine,将,CAD,元素分为,4,种类型:,点、线、多边形和标,注,,并
17、在要素的属性表中建立,标识字段,,而不按照,DWG,文件本身的图层号进行分层。,CAD,文,件中的文字可以使用,CadAnnotationLayer,对象,来操作。,下面的代码展示了在,ArcEngine,9.3,中如何加载,DWG,文件:,using,ESRI.ArcGIS.Geodatabase;,using,ESRI.ArcGIS.DataSourcesFile;,private void AddCadLayers,(string strCadPath,string strCadName,AxMapControl pMapControl,),IWorkspaceFactory pCadF
18、actory=new CadWorkspaceFactoryClass();,IWorkspace pWorkspace=pCadFactory.OpenFromFile(strCadPath,0);,ICadDrawingWorkspace pCadDrawingWorkspace=pWorkspace as ICadDrawingWorkspace;,ICadDrawingDataset pCadDataset=,pCadDrawingWorkspace.OpenCadDrawingDataset(strCadName);,ICadLayer,pCadLayer,=,new,CadLaye
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- ArcGISEngine 中的 地图 组成 控制 接口 函数 课件
![提示](https://www.31ppt.com/images/bang_tan.gif)
链接地址:https://www.31ppt.com/p-4009478.html