欢迎来到三一办公! | 帮助中心 三一办公31ppt.com(应用文档模板下载平台)
三一办公
全部分类
  • 办公文档>
  • PPT模板>
  • 建筑/施工/环境>
  • 毕业设计>
  • 工程图纸>
  • 教育教学>
  • 素材源码>
  • 生活休闲>
  • 临时分类>
  • ImageVerifierCode 换一换
    首页 三一办公 > 资源分类 > PPT文档下载  

    ArcGISEngine中的地图组成及图层控制接口函数全解课件.ppt

    • 资源ID:4009478       资源大小:1.29MB        全文页数:31页
    • 资源格式: PPT        下载积分:16金币
    快捷下载 游客一键下载
    会员登录下载
    三方登录下载: 微信开放平台登录 QQ登录  
    下载资源需要16金币
    邮箱/手机:
    温馨提示:
    用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP免费专享
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    ArcGISEngine中的地图组成及图层控制接口函数全解课件.ppt

    第五讲,地图组成及图层控制(,1,),1,?,课,题:地图组成及图层控制,?,目的要求:本章是,GIS,二次开发的重点内容之一,主要介,绍,ArcGIS Engine,中的地图对象、图层对象、屏幕显示对象,、页面布局对象、地图排版、,Element,对象、,MapGrid,对象,模型、,MapSurround,对象、,Style,对象等,通过介绍这些对,象,了解这些对象的相关接口及这些接口的属性、方法。,?,教学重点:各对象、接口及接口的重要属性、方法,?,教学难点:在实际开发中运用各对象进行图层添加与删除,、各种设置等,?,教学课时:,6,?,学术前沿:,地图对象,?,IMap,接口,?,IGraphicsContainer,接口,?,IActiveView,接口,?,IActiveViewEvents,接口,?,IMapBookmark,接口,?,ITableCollection,接口,图层对象,?,ILayer,接口,?,要素图层,?,CAD,文件,?,TIN,图层,?,GraphicLayer,屏幕显示对象,页面布局对象,湖南城市学院,GIS,专业,GIS,二次开发,?,使用,ArcGIS Engine 9.3,3,湖南城市学院,GIS,专业,GIS,二次开发,?,使用,ArcGIS Engine 9.3,Map,对象,?,数据的管理容器;,?,数据显示的主要载体;,?,共,35,个接口,,如,IMap,、,IGraphicsContainer,、,IActiveView,、,IActiveViewEvents,、,IMapBookmark,、,ITableCollection,等;,?,能显示两类图形,一类是,地理数据,,一类是,元素,。,如矢量点、线、,面数据,栅格数,据,,TIN,数据等。,如指北针、,图例等。,4,湖南城市学院,GIS,专业,GIS,二次开发,?,使用,ArcGIS Engine 9.3,Map,对象,IMap,接口,例:选择要素,IMap,pMap,=,axMapControl1.Map;,IActiveView,pActiveView,=,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,null,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,方法,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,IGraphicsContainer,接口的,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,Phase.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(pElement!=null),?,?,pGraCon.DeleteElement(pElement);,?,pElement,=pGraCon.Next();,?,?,axMapControl1.ActiveView.Refresh();,湖南城市学院,GIS,专业,GIS,二次开发,?,使用,ArcGIS Engine 9.3,Map,对象,IActiveView,接口,10,IActiveView,接口是,Map,对象最主要、最常用,的接口之一,该接口定义了,Map,对象的数据,显示功能。通过该接口,可以在,Map,上,绘制图形,改变视图范围,获取,ScreenDisplay,对象的指针,显示或隐藏标尺和滚动条,刷新地图,湖南城市学院,GIS,专业,GIS,二次开发,?,使用,ArcGIS Engine 9.3,Map,对象,IActiveView,接口,11,IActiveView,接口的重要属性和方法:,?,Extent,返回,Map,对象当前视图的范围,返回值为一,个,Envelope,对象;,?,FullExtent,返回,Map,对象当前视图的全图范围;,?,ScreenDisplay,用于指向一个,ScreenDisplay,对象;,?,PartialRefresh,Map,对象视图的刷新方法,通过指定,esriViewDrawPhase,参数,可以实现不同方式的局部刷,新。,主要内容,12,A.,图层对象,B.,屏幕显示对象,C.,页面布局对象,D.,地图排版,E.Element,对象,?,ILayer,接口,?,要素图层,?,CAD,文件,?,TIN,图层,?,GraphicsLayer,?,Page,对象,?,SnapGrid,对象,?,SnapGuides,对象,?,RulerSettings,对象,?,图形元素,?,框架元素,图层对象,-ILayer,接口,13,ILayer,接口是,所有图层,类都实现的接口,该接口定义了所,有图层的公共方法和属性。,?,Name-,返回图层名称;,?,MaximumScale,(,MinimumScale,),-,显示或设置图层可以,出现的最大(最小)比例尺;,?,ShowTips-,鼠标放在图层中某个要素上的时候,是否会,出现,Tip,;,?,TipText-,图层提示文字;,?,SpatialReference-,设置图层的空间参考。,图层对象,-,要素图层,14,1.,要素图层用于表示离散的矢量对象的信息。,2.,要素图层的主要接口主要有:,?,IFeatureLayer,接口,?,IGeoFeatureLayer,接口,?,IGeoDataset,接口,?,IFeatureSelection,接口,?,IFeatureLayerDefinition,接口,?,ILayerFields,接口,?,IIdentify,接口,图层对象,-,要素图层,-IFeatureLayer,15,IFeatureLayer,接口的主要属性和方法:,?,DataSourceType-,返回图层的数据源属性;,?,Search-,返回一个,ICursor,的对象。,例:,IFeatureLayer,接口的,Search,方法(,P87,),图层对象,-,要素图层,-IFeatureLayer,16,DataSourceType,的类型:,图层对象,-,要素图层,-IGeoFeatureLayer,17,IGeoFeatureLayer,接口继承了,ILayer,接口和,IFeatureLayer,两个接口,,CadFeatureLayer,、,FeatureLayer,、,GdbRasterCatalogLayer,等,3,个图层类实,现了该接口。主要属性和方法有:,?,SearchDisplayFeature-,只显示复合查询要求的要素,,其他要素会消失掉;,?,Renderer-,设置图层的着色对象;,?,DisplayAnnotation-,设置要素图层是否出现标注,如果,为,True,,用户可以依据图层的某个字段进行标注。,图层对象,-,要素图层,-IFeatureSelection,18,IFeatureSelection,接口负责管理一个图层中要素的选择,集的属性和方法。,?,Add-,将本图层的一个要素添加到图层的选择集中;,?,SelectFeatures-,使用一个过滤器把符合要求的要素放,入图层的选择集中;,?,Clear-,把图层的所有选择集清空。,注:选择集有两种,要素选择集和元素选择集,,PageLayout,只有元素选择集,,Map,则有元素选择集和要素,选择集。,图层对象,-,要素图层,-ILayerFields,19,ILayerFields,接口提供了,Field,、,FieldCount,、,FieldInfo,和,FindField,等属性和方法,用于获取要素类,的字段信息。,图层对象,-,要素图层,-IIdentify,20,IIdentify,接口定义了一个方法,Identify,,用于获取图层,的单个要素,返回一个,IArray,数组对象。,湖南城市学院,Hunnan City University,GIS,二次开发,2,图层对象,/CAD,文件,Map,对象能够载入多种格式的地理和非地理数据,其中便包括,AutoCAD,的,DWG,文件,。,DWG,文件是两种不同形式的,混合体,:一是要素图层,保存矢量数据,使用,FeatureLayer,对象管理;二是栅格图像,使用,CadLayer,对象管理。,当,DWG,文件载入,Map,对象时,,ArcEngine,将,CAD,元素分为,4,种类型:,点、线、多边形和标,注,,并在要素的属性表中建立,标识字段,,而不按照,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 pCadFactory=new CadWorkspaceFactoryClass();,IWorkspace pWorkspace=pCadFactory.OpenFromFile(strCadPath,0);,ICadDrawingWorkspace pCadDrawingWorkspace=pWorkspace as ICadDrawingWorkspace;,ICadDrawingDataset pCadDataset=,pCadDrawingWorkspace.OpenCadDrawingDataset(strCadName);,ICadLayer,pCadLayer,=,new,CadLayerClass();,pCadLayer.CadDrawingDataset,=,pCadDataset;,pMapControl.AddLayer(pCadLayer,0);,湖南城市学院,Hunnan City University,GIS,二次开发,2,图层对象,/TIN,图层,ITinLayer,接口,定义了,TIN,图层如何,Map,对象中显,示的方法和属性。,?,Dataset,-,显示,TIN,图层的数据源;,?,DisplayField,-TIN,图层的主要显示字段;,?,AddRenderer,-,用于加入一个着色对象;,?,ClearRenderer,-,清除,TIN,图层中所有的着色对象;,?,GetRenderer,-,通过索引值获取着色对象;,?,RendererCount,-,返回着色对象的数目。,湖南城市学院,Hunnan City University,GIS,二次开发,2,图层对象,/GraphicsLayer,GraphicsLayer,是一个,抽象类,,当在,MapControl,控件上绘制图形时,这些绘制的图形所在,的层就是,GraphicsLayer,对象。,GraphicsLayer,类,泛,化,出,了,CompositeGraphicsLayer,、,FDOGraphicsLayer,、,GlobeGraphicsLayer,、,GraphicsLayer3D,、,GraphicsSubLayer,等类。,每个,Map,对象都管理着一个,CompositeGraphicsLayer,对象,该对象是一个图形图层集合,,该集合中有一个缺省的,基本图形图层,,可以通过属性,BasicGraphicsLayer,直接获取。该图层,是默认的,,不能在,CompositeGraphicsLayer,对象中删除,,,CompositeGraphicsLayer,对象,提供了集合中,添加、删除、查找,图层的方法。,FDOGraphicsLayer,是一个与要素相关的标注图层,可以有两种方法添加标注:,?,一是,Label,方法,,即选取要素,逐个添加标注文本;,?,二是,Annotation,方法,,可以对要素图层进行自动标注,并且标注的文本信息可以保存在,数据库中。,湖南城市学院,Hunnan City University,GIS,二次开发,2,屏幕显示对象(,ScreenDisplay,对象),MapControl,中,的,每,个,视,图都有一个,ScreenDisplay,对,象,用于,控制视图中的图形,绘制,。,ScreenDisplay,对,象,除,了,管理窗体屏幕的,显示属性,外,,也,管理缓存和视图屏幕的变,化,等。,可以通过,IActiveView,接口,的,ScreenDisplay,属,性,获,取,ScreenDisplay,对象。,ScreenDisplay,对,象,都,拥,有,DisplayTransformation,对,象,用于,设备单位和地图单,位的转换,。,Interfaces,Description,IConnectionPointContaine,r(Display),Supports connection points for,connectable objects.,IDisplay,Provides access to members that control,the Display.,IDraw,Provides access to members that control,drawing.,IDynamicScreenDisplay,Provides access to dynamic screen display.,IScreenCacheManager,Provides access to a ScreenDisplays caches.,IScreenDisplay,Provides access to members that control,Screen Display.,IScreenDisplay2,Provides access to additional members,that control the Screen Display.,IScreenDisplayZoom,Provides access to zooming the screen,display.,IScreenInvalidate,Provides access to a ScreenDisplays,refresh methods.,ITransformEvents,Provides access to members that control,Transform Events,湖南城市学院,Hunnan City University,GIS,二次开发,2,页面布局对象(,PageLayout,对象),PageLayout,对,象,和,Map,对,象一样,都是图形元素的容器,,但,是,PageLayout,对,象,除,了,保,存图形元素外,还可以保存,框,架元素,(,Frame,Element,)。,PageLayout,对,象,主,要,实,现,了,IPageLayout,接口,该接口,定义了修改页面版式的方法和,属性,包括图形的,位置属性,,标尺、对齐网格、确定页面显,示在屏幕上的方法,。,通过,IPageLayout,接口可以,管,理,RulerSettings,、,SnapGrid,、,SnapGuides,和,Page,等对象。,IPageLayout,接口的主要属性和方法:,?,Page,-,获取放在,PageLayout,对象中的,Page,对象;,?,RulerSettings,-,获取,PageLayout,对象控制的标尺,对象;,?,SnapGrid,-,与,VerticalSnapGrid,一,起,控,制,PageLayout,对象中显示的网格对象;,?,VerticalSnapGrid,-,与,SnapGrid,一,起,控,制,PageLayout,对象中显示的网格对象;,?,ZoomToWhole,-,设置,PageLayout,对象以最大比例,尺显示;,?,ZoomPercent,-,设置按照输入的比例显示;,?,ZoomToPercent,-,设置按照输入的比例显示;,?,ZoomToWith,-,让视图的显示范围与控件的宽度一,致。,湖南城市学院,Hunnan City University,GIS,二次开发,2,页面布局对象(,PageLayout,对象),PageLayout,对象还实现了,IGraphicsContainer,接口和,IGraphicsContainerSelect,接口。,?,IGraphicsContainer,接口用来,管理元素,;,?,IGraphicsContainerSelect,接口用来,管理被选择的元素,。,All,Description,DominantElement,Dominant element.,ElementSelected,Indicates if the element is selected.,ElementSelectionCount,The number of selected elements.,SelectAllElements,Selects all elements.,SelectedElement,Returns the nth selected element.Use Selection count to get the number of,selected elements.,SelectedElements,The selected elements.,SelectElement,Selects the specified element.,SelectElements,Selects the specified elements.,SelectionBounds,The bounds of the selection.,SelectionTracker,Returns the tracker for the nth selected element.Use Selection count to get the,number of selected elements.,UnselectAllElements,Unselects all elements.,UnselectElement,Unselects the specified element.,UnselectElements,Unselects the specified elements.,湖南城市学院,Hunnan City University,GIS,二次开发,2,地图排版,/Page,对象,Page,对象只作为一个,装载地图数据的容器,,不提供查询和分析的功能。,Page,对象的主要接口是,IPage,。,IPage,接口的属性和方法:,Background,-,设置背景样式;,BackgroundColor,-,设,置,背,景,颜,色,;,Border,-,设置,Page,的边框;,Units,-,获取,Page,所使用的单位。,Page,对,象,还,实,现,了,IPageEvents,接,口,,,拥,有,PageColorChanged,、,PageMarginsChanged,、,PageSizeChanged,和,PageUnitsChanged,等,4,个事件。,此外,,ArcEngine,还提供了,esriPageFromID,枚举值设,置,Page,对,象,的,尺,寸,,,使,用,esriPageFromID,比,用,PutCustomSize,设置,Page,尺寸的速度更快。,湖南城市学院,Hunnan City University,GIS,二次开发,2,地图排版,/SnapGrid,对象,SnapGrid,是,PageLayout,上用于,摆放元素而设置的辅助点,便于用户对齐元素,。可以通过,IPageLayout,接口的,SnapGrid,属性,获取,SnapGrid,对象。,SnapGrid,对象实现了,ISnapGrid,接口,主要属性和方法有:,?,HorizontalSpacing,:设置网点之间的水平距离;,?,VerticalSpacing,:设置网点之间的垂直距离;,?,IsVisible,:确定网点是否处于可见状态;,?,Draw,:将,SnapGrid,对象绘制在,Page,上。,湖南城市学院,Hunnan City University,GIS,二次开发,29,地图排版,/SnapGuides,对象、,RulerSettings,对象,SnapGuides,对象是绘制在,PageLayout,上的,辅助线,,分为,水平辅助线,和,垂直辅助线,两种。,可以通过,IPageLayout,接口的,HorizontalSnapGuides,或,VerticalSnapGuides,获得,每个,SnapGuides,都管理着一个,Guide,集合,。,SnapGuides,对象实现了,ISnapGuides,接口,主要的属性和方法有:,?,AddGuides,:将一个,Guide,放在指定的位置;,?,AreVisible,:设置,SnapGuides,是否可见;,?,Draw,:绘制辅助线;,?,DrawHighlight,:绘制高亮辅助线;,?,GuideCount,:返回,SnapGuides,中,Guide,的数目;,?,RemoveAllGuides,:清除所有,Guide,;,?,RemoveGuide,:按照索引值清除,Guide,。,RulerSettings,对,象,辅,助,设,置,元,素,在,PageLayout,上,的,位,置,,,可,以,通,过,IPageLayout,的,RulerSettings,获得当前,PageLayout,的相关的标尺,。,RulerSettings,对象实现了,IRulerSettings,接口,该接口只有,SmallestDivision,属性,用于,设置最小的区分值,。,湖南城市学院,Hunnan City University,GIS,二次开发,30,Element,对象,Element,对象是地图上,不保存到数据库中的元素,,是内存中的对象,当,MapControl,显示地,图发生变化时,这些对象就会消失。,Element,对,象,分,为,两,大,部,分,:,图,形,元,素,(,Graphic,Element,),和,框,架,元,素,(,Frame,Element,),。,IElement,接口是所有图形元素和框架元素都实现的接口,提供了,Geometry,属性和查询、,绘制元素,的方法。,图形元素,GroupElement,MarkerElement,LineElement,TextElement,DataGraphElement,PictureElement,FillShapeElement,框架元素,FrameElement,MapFrame,MapSourroundFrame,OleFrame,TableFrame,?,思考题:,?,1.IMap,接口有哪些属性和方法?,?,2.IGraphicsContainer,接口有哪些属性和方法?,?,3.IActiveView,接口有哪些属性和方法?,?,4.IMapBookmark,接口有哪些属性和方法?,?,5.ILayer,接口有哪些属性和方法?,?,6.,添加、删除图层数据的关键代码是什么?,?,教学总结:,?,本次课程介绍了各对象及其接口,利用这些对象,可以进,行各种复杂的操作和设计。最后部分介绍了图层控制方面,的知识,在实际开发中,图层控制是最基础的功能之一。,

    注意事项

    本文(ArcGISEngine中的地图组成及图层控制接口函数全解课件.ppt)为本站会员(牧羊曲112)主动上传,三一办公仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三一办公(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    备案号:宁ICP备20000045号-2

    经营许可证:宁B2-20210002

    宁公网安备 64010402000987号

    三一办公
    收起
    展开