AE开发第五章地图整饰与输出11.15课件.ppt

上传人(卖家):三亚风情 文档编号:3376345 上传时间:2022-08-25 格式:PPT 页数:47 大小:3.75MB
下载 相关 举报
AE开发第五章地图整饰与输出11.15课件.ppt_第1页
第1页 / 共47页
AE开发第五章地图整饰与输出11.15课件.ppt_第2页
第2页 / 共47页
AE开发第五章地图整饰与输出11.15课件.ppt_第3页
第3页 / 共47页
AE开发第五章地图整饰与输出11.15课件.ppt_第4页
第4页 / 共47页
AE开发第五章地图整饰与输出11.15课件.ppt_第5页
第5页 / 共47页
点击查看更多>>
资源描述

1、GIS开发与应用ArcEngine方法GISGIS开发与应用开发与应用 基于基于ArcEngineArcEngine方法方法花利忠2011-11-15GIS开发与应用ArcEngine方法第五章第五章 地图整饰与输出地图整饰与输出5.1 MapControl 地图控件地图控件Map对象(对象(CoClass,组建类),组建类)(ESRI.ArcGIS.Carto)5.2 PageLayoutControl 页面布局控件页面布局控件PageLayout对象(对象(CoClass,组建类),组建类)(ESRI.ArcGIS.Carto)5.3 Map与与PageLayout对象共同点对象共同点5.

2、4 Element对象(对象(ESRI.ArcGIS.Carto)图形元素图形元素框架元素框架元素MapFrame对象对象MapSurroundFrame对象对象5.5 MapSurround对象(对象(ESRI.ArcGIS.Carto)5.6 地图输出地图输出GIS开发与应用ArcEngine方法5.1 MapControl地图控件地图控件MapControl控件控件对应对应ArcMap中的中的数据视图数据视图(Data View),它封,它封装了装了Map对象对象(CoClass,组建类,组建类),并提供了额外的属性、方,并提供了额外的属性、方法、事件用于:法、事件用于:管理控件的外观、

3、显示属性和地图属性管理控件的外观、显示属性和地图属性;添加并管理控件中的数据层添加并管理控件中的数据层;装载装载Map地图文档文档(mxd);动态添加和显示几何对象等动态添加和显示几何对象等;Map组件类主要接口组件类主要接口IMap:IMap pMap=axMapControl1.Map;GIS开发与应用ArcEngine方法5.2 PageLayoutControl页面布局(版式)控件页面布局(版式)控件PageLayoutControl对应对应ArcMap中的中的布局视图布局视图(Layout View),它封装了它封装了PageLayout对象对象,并提供了额外的属性、方法、事,并提供

4、了额外的属性、方法、事件用于:件用于:加载地图文档(mxd);绘制地图元素;创建布局视图(图例、指北针和比例尺等)地图的打印输出;PageLayout组件类组件类主要实现了IPageLayout 接口,它定义了用于修改页面布局的方法和属性。GIS开发与应用ArcEngine方法IPageLayout pPageLayout=axPageLayoutControl1.PageLayout;IPageLayout:ZoomToWhole 方法:让PageLayout 以最大尺寸显示;IPageLayout:ZoomToPercent方法:让PageLayout 以按照输入的比例显示;IPageLa

5、yout:ZoomToWidth 方法:让视图显示的范围匹配对象的宽度。GIS开发与应用ArcEngine方法5.3 Map与与PageLayout对象共同点对象共同点PageLayout与与Map都是都是视图对象视图对象,能够显示地图,都实现了,能够显示地图,都实现了IActiveView接口接口;同时它们都是同时它们都是图形元素的容器图形元素的容器,能存储图形元素(,能存储图形元素(Graphics Element),),都实现了都实现了IGraphicsContainer接口接口。ArcGIS中可以显示在视图上的图形分为两种,地理数据和元素(Element)数据。元素是一个地图中除去要素

6、数据外的部分,即在一幅地图中,除了保存在数据库中的地理数据外,其余的对象全部是元素。存储的图形类型差别:存储的图形类型差别:Map只能保存只能保存图形元素图形元素(Graphic Element)数据;数据;PageLayout能保存能保存图形元素图形元素和和框架元素框架元素(Frame Element)。PageLayoutControl 上的上的Map对象被对象被PageLout的的MapFrame对象所管理。对象所管理。地图总是包含在地图总是包含在Map对象中,而对象中,而Map对象是由一个对象是由一个MapFrame所持有,所持有,PageLayout对象至少拥有一个对象至少拥有一个M

7、apFrame对象,而每个对象,而每个MapFrame中也中也拥有一个拥有一个Map。GIS开发与应用ArcEngine方法Map 对象和PageLayout 对象显示的数据除了地理数据之外,另一种即为元素(Element)数据如图所示。GIS开发与应用ArcEngine方法IActiveView接口接口 u定义了定义了Map对象的数据显示功能。通过使用该接口可以在对象的数据显示功能。通过使用该接口可以在Map上绘制图形,上绘制图形,改变视图的范围,获取改变视图的范围,获取ScreenDisplay对象的指针,刷新视图。对象的指针,刷新视图。AE中中 Map和和PageLayout对象都实现这

8、个接口,分别代表两种不同的视图:数对象都实现这个接口,分别代表两种不同的视图:数据视图和布局视图。在任何时刻都只能有一个视图处于活动状态。据视图和布局视图。在任何时刻都只能有一个视图处于活动状态。IActiveView pActiveView=pMap as IActiveView;IActiveView pActiveView=pPageLayout as IActiveView;uIActiveView的重要属性:的重要属性:Extent属性,返回属性,返回Map对象当前视图的范围,对象当前视图的范围,是一个是一个Envelope对象;对象;uFullExtent:返回视图的全图范围;:返

9、回视图的全图范围;uRefresh方法:一种刷新方式方法:一种刷新方式uPartialRefresh方法:部分刷新方式。方法:部分刷新方式。GIS开发与应用ArcEngine方法如何刷新显示如何刷新显示u使用使用IActiveView的的Refresh方法方法u刷新所有的显示(但是不刷新TOC表)u使用使用IScreenDisplay的的Invalidate的方法的方法u只刷新指定的范围(envelope)u也许你只需要刷新部分的显示区域也许你只需要刷新部分的显示区域u被新图形元素覆盖的区域u比直接刷新整个文档的效率高u使用使用IActiveView的的PartialRefresh方法方法u用

10、于 Layout 视图或者 Data viewu指定什么需要刷新(e.g.,graphics)u指定哪里需要刷新(an envelope)GIS开发与应用ArcEngine方法uIActiveView的的PartialRefresh(esriViewGeography,pLayer,null)用于刷新指定图层:用于刷新指定图层:uIActiveView的的PartialRefresh(esriViewGeography,null,null)用于刷新所有地理要素:用于刷新所有地理要素:uIActiveView的的PartialRefresh(esriViewGeoSelection,null,n

11、ull)用于刷新所选的地理要素:用于刷新所选的地理要素:uIActiveView的的PartialRefresh(esriViewGraphics,null,null)用于刷新所有的图形元素:用于刷新所有的图形元素:uIActiveView的的PartialRefresh(esriViewGraphics,pElement,null)用于刷新指定图形元素用于刷新指定图形元素uIActiveView的的PartialRefresh(esriViewGraphicSelection,null,null)用于刷新所选择的图元。用于刷新所选择的图元。GIS开发与应用ArcEngine方法6-11IDr

12、ive燃料加速刹车多态回顾多态回顾u许多不同的类可以支持相同的接口许多不同的类可以支持相同的接口u拥有相同的所有的方法和属性u可以有不同的执行方式和拥有不同的属性值许多许多ArcGIS的类的类都表现出都表现出多态的特多态的特性性,其特点是在几其特点是在几个个Classes中使用中使用同一个同一个Interface,但每一个但每一个Class却却执行不同的执行不同的methods and properties。GIS开发与应用ArcEngine方法IGraphicsContainer接口接口uIGraphicsContainer 接口管理Map 和PageLayout 对象上储存的元素,使用IG

13、raphicsContainer 接口可以添加,删除和更新位于Map 或PageLayout上的元素。IGraphicsContainer pGraphicsContainer=pMap as IGraphicsContainer;IGraphicsContainer pGraphicsContainer=pPageLayout as IGraphicsContainer;/PageLayout对象引用赋给IGraphicsContainer接口的对象变量,得到GraphicsContainer对象。AddElement:添加元素;用法:用法:pGraphicsContainer.AddEle

14、ment(pElement,0)UpdateElement:更新元素:,DeleteElement:删除元素;LocateElement:选择元素DeleteAllElements;LocateElementsByEnvelope:Map上拖曳一个矩形区域,选择区域内的元素uSpatialReference属性:设置图形元素的空间参考。空间参考是一个图形能够在一定范围内正确显示所必须设置的属性。GIS开发与应用ArcEngine方法对象模型图对象模型图GraphicElementFrameElement*PageLayoutElementMap*MapSurroundMxDocument*Ge

15、ometryLineElementMarkerElementTextElementMapSurroundFrameTableFrameScaleBarLegendMapFrameArcMap OMDGIS开发与应用ArcEngine方法5.4 Element对象对象Element对象是一个非常庞大复杂的对象集合如图对象是一个非常庞大复杂的对象集合如图,它主要分,它主要分为两大部分:图形元素为两大部分:图形元素(GraphicElement)和框架元素和框架元素(Frame Element)。图形元素可以被放在页面视图或地图上,但框架。图形元素可以被放在页面视图或地图上,但框架元素只能放在页面视

16、图上,如地图标题是放置于页面版面设元素只能放在页面视图上,如地图标题是放置于页面版面设计上的一个文本元素。计上的一个文本元素。IElement是所有图形元素是所有图形元素(GraphicElement)和框架元素和框架元素(Frame Element)都实现的接口,都实现的接口,通过通过IElement接口可以确接口可以确定定Element对象的对象的Geometry属性属性,同时,同时IElement接口也提供接口也提供了用于查找和绘制元素的方法。了用于查找和绘制元素的方法。Element是抽象类,开发中必须明确指定使用的是抽象类,开发中必须明确指定使用的Element类型。类型。IElem

17、ent和和ILineElement,ITextElement等并不是父子关系,等并不是父子关系,后者没有后者没有Geometry属性,只有属性,只有IElement有有Geometry属性。属性。GIS开发与应用ArcEngine方法GIS开发与应用ArcEngine方法图例GIS开发与应用ArcEngine方法元素元素(Elements)u有一些可以创建的对象有一些可以创建的对象u图形元素的种类图形元素的种类umarker,Line,polygonuText and picturesu框架元素(框架元素(FrameElements)u在PageLayout上使用uMap framesuNor

18、th arrows,legends,scale barsuTable framesElementIElementGeometryGraphicElementFrameElementBmpPictureElementTextElementMarkerElementLineElementGIS开发与应用ArcEngine方法5.4.1 图形元素图形元素(Graphic Element)图形元素包括以下对象,做为图形的形式存在,在视图上可见图形元素包括以下对象,做为图形的形式存在,在视图上可见:MarkerElement LineElementTextElementFillShapeElementG

19、roupElementPictureElementGIS开发与应用ArcEngine方法LineElement和和 MarkerElement对象(组建类)对象(组建类)uMarkerElement和和ILineElement是最简单的图形元素。在数据视图或布是最简单的图形元素。在数据视图或布局视图上表现为线和点的形式。局视图上表现为线和点的形式。ILineElement接口的接口的Symbol属性设置线属性设置线的符号。的符号。IMarkerElement接口的接口的Symbol属性设置点的符号。属性设置点的符号。u以以LineElement为例,把它添加到视图需要两个接口为例,把它添加到视

20、图需要两个接口IElement和和ILineElement。uIElement用于确定线元素的用于确定线元素的Geometry;uILineElement用于确定用于确定Symbol。u注意:注意:Symbol与与Geometry不能混用。不能混用。LineElement元素只能使用元素只能使用Line或或Polyine作为作为Geometry,使用通过,使用通过LineSymbol类型作为类型作为Symbol;MarkerElement使用的是使用的是Marker类型的类型的Symbol和点作为它的和点作为它的Geometry。GIS开发与应用ArcEngine方法要将图形元素显示在视图的一

21、般步骤如下:产生一个新的元素对象;确定元素显示时使用的Symbol(符号)和Geometry(几何形体对象);使用IGraphicsContainer:AddElement方法把元素添加到视图中;刷新视图,显示添加的元素。GIS开发与应用ArcEngine方法例子例子:创建一个新的图形元素并设置它的符号创建一个新的图形元素并设置它的符号IMarkerElement pMarkerElement;pMarkerElement=new MarkerElementClass();/创建一个新的元素创建一个新的元素ISimpleMarkerSymbol pMarkerSym;pMarkerSym=ne

22、w SimpleMarkerSymbolClass();/创建新符号创建新符号pMarkerSym.Style=esriSimpleMarkerStyle.esriSMSCircle /指定符指定符号的样式(风格号的样式(风格)pMarkerSym.Color=getRGB(255,0,0);/用函数设置符号的颜色为红色用函数设置符号的颜色为红色 /并把颜色赋给符号并把颜色赋给符号pMarkerElement.Symbol=pMarkerSym 把符号赋给元素把符号赋给元素GIS开发与应用ArcEngine方法定义一个元素的位置定义一个元素的位置u使用使用IElement 的的 Geometr

23、y属性属性u被所有Element的子类所支持u在地图(Map)或布局(layout page)上定位uGeometry可以指定为 point,line,envelope等IElement pElement;pElement=pMarkerElement as IElement QIIPoint pPoint;pPoint=new PointClass();pPoint.PutCords(65.751,-7.534);/Ipoint的的PutCoords方法:指定坐标点建立方法:指定坐标点建立PointpElement.Geometry=pPoint;GIS开发与应用ArcEngine方法把一个

24、元素添加到把一个元素添加到 map(或者或者 layoutpage)u使用使用 IGraphicsContainer:AddElementu指定添加的元素和它的序号u0号的序号是第一个(最顶部)的元素,序号从顶到底逐渐增加IMap pMap=new axMapControl1.Map;IActiveView pArctiveView=pMap as IArctiveView;IGraphicsContainer pGraphicsContainer=pMap as IGraphicsContainer;pGContainer.AddElement(pElem,0)0=top elementpA

25、ctiveView.Refresh();通过刷新屏幕来显示新添加的元素通过刷新屏幕来显示新添加的元素GIS开发与应用ArcEngine方法Envelope对象对象uEnvelope也称包络线(也称包络线(bounding box),是一个矩形区域。),是一个矩形区域。u定义了一个要素(定义了一个要素(feature)的空间范围,是每个几何体的)的空间范围,是每个几何体的最最小外接矩形小外接矩形u所有的几何对象都有所有的几何对象都有Envelop属性属性u主要接口 IEnvelope,CenterAt方法:通过改变Envelope的中心点来移动Envelope;PutCoords方法:指定坐标点

26、建立Envelope;IEnvelope pEnvelope pEnvelope=pLine.EnvelopeGIS开发与应用ArcEngine方法uIEnvelope pEnvelope=new EnvelopeClass();upEnvelope.PutCoords(1,1,2,2);uIElement pElement.Geometry=pEnvelope;FeatureGeometryEnvelope1 Polygon FeatureGIS开发与应用ArcEngine方法如何添加一个MarkerElement到Map中,它放在控件的MouseDown事件中。private void a

27、xMapControl1_OnMouseDown(object sender,ESRI.ArcGIS.MapControl.IMapControlEvents2_OnMouseDownEvent e)IMap pMap;IActiveView pActiveView;pMap=axMapControl1.Map;pActiveView=pMap as IActiveView;IPoint pPt;pPt=new PointClass();pPt.PutCoords(e.mapX,e.mapY);IMarkerElement pMarkerElement;pMarkerElement=new M

28、arkerElementClass();ISimpleMarkerSymbol pMarkerSymbol;pMarkerSymbol=new SimpleMarkerSymbolClass();GIS开发与应用ArcEngine方法pMarkerSymbol.Color=getRGB(11,200,145);pMarkerSymbol.Size=2;pMarkerSymbol.Style=esriSimpleMarkerStyle.esriSMSDiamond;IElement pElement;pElement=pMarkerElement as IElement;pElement.Geo

29、metry=pPt;pMarkerElement.Symbol=pMarkerSymbol;IGraphicsContainer pGraphicsContainer;pGraphicsContainer=pMap as IGraphicsContainer;pGraphicsContainer.AddElement(pMarkerElement as IElement,0);pActiveView.PartialRefresh(esriViewDrawPhase.esriViewGraphics,null,null);GIS开发与应用ArcEngine方法TextElement 对象对象(组

30、建类组建类)地图的标注有两种形式:一种是保存在地理数据库中以标注类地图的标注有两种形式:一种是保存在地理数据库中以标注类的形式存在,另一种是使用文字元素。的形式存在,另一种是使用文字元素。TextElement 对象实现了对象实现了ITextElement接口,提供了接口,提供了3个属性;个属性;.ScaleText属性属性 设置设置TextElement的文字尺寸的文字尺寸.Text属性属性 设置设置TextElement的字符的字符.Symbol属性属性 设置设置TextElement的文字符号的文字符号GIS开发与应用ArcEngine方法 /设置字体(font)IFontDisp pF

31、ontDisp;pFontDisp=new stdole.StdFontClass();pFontDisp.Name=Arial;pFontDisp.Bold=True;pFontDisp.Underline=True;/Setup TextSymbol that the TextElement will draw with ITextSymbol pTextSymbol=new TextSymbolClass();pTextSymbol.Font=pFontDisp;pTextSymbol.Color=getRGBColor(255,0,0);pTextSymbol.size=25;/set

32、 the size of the text symbol here,rather than on the font /设置文本元素 ITextElement pTextElement=new TextElementClass();pTextElement.Text=我的地图;pTextElement.ScaleText=30;pTextElement.Symbol=pTextSymbol;GIS开发与应用ArcEngine方法FillShapeElement对象对象(抽象类抽象类)FillshapeElement是抽象类抽象类,它的子类有:RectangleElement(矩形要素);Circ

33、leElement(圆形要素);EllipseElement(圆形要素);PolygonElement(多边形要素);这些对象的共同特点是它们的Geometry属性都是一个二维的封闭图形。FillShapeElement类实现了类实现了IFillShapeElement接口接口,通过接,通过接口提供的口提供的Symbol属性设置元素的样式,属性设置元素的样式,Symbol必须是必须是IFillSymbol对象。对象。GIS开发与应用ArcEngine方法 /产生一个线符号 ISimpleLineSymbol pSimpleLineSymbol;pSimpleLineSymbol.Color=g

34、etRGBColor(255,0,0);pSimpleLineSymbol.Width=2;/设置填充符号属性 ISimpleFillSymbol pSimpleFillSymbol;pSimpleFillSymbol.Color=getRGBColor(255,100,80);pSimpleFillSymbol.Outline=pSimpleLineSymbol;pSimpleFillSymbol.Style=esriSimpleFillStyle.esriSFSSolid;/设置填充元素符号属性 IFillShapeElement pFillShapeElement;pFillShapeE

35、lement=new PolygonElementClass();pFillShapeElement.Symbol=pSimpleFillSymbol;GIS开发与应用ArcEngine方法IElement pElement;pElement=pFillShapeElement as IElement;IPolygon pPolygon;pPolygon=axMapControl1.TrackPolygon()as IPolygon;/Object.TrackPolygon()在某个对象上画个多边形;/Object.TrackRectangle()在某个对象上画个矩形;pElement.Geo

36、metry=pPolygon;pGraphicsContainer.AddElement(pElement,0);pActiveView.PartialRefresh(esriViewDrawPhase.esriViewGraphics,null,null);GIS开发与应用ArcEngine方法GroupElement对象(组建类)对象(组建类)uGroupElement对象可以将多个元素编为一组作为一个实体使用。如果用户需要对多个要素进行相同的操作,如同时移动多个要素的时候,可以将它们编为一组。uGroupElement类实现IGroupElement接口,它定义了操作GroupEleme

37、nt的方法和属性。AddElement方法:把一个元素添加到GroupElements对象中,ClearElements:清空GroupElement中的所有元素;DeleteElement;ElementCount:返回GroupElement中的元素数目。PictureElement对象(抽象类)对象(抽象类)u该对象有7个子类,如BmpPictureElement,GifPictureElement JpgPictureElement TifPictureElement EmfPictureElement,它们分别用于往版式视图中插入bmp,gif,Jpg,tif和emf文件。每个子类都

38、实现的接口IPictureElement,使用它可以用于操作一个图片元素。GIS开发与应用ArcEngine方法5.4.2 框架元素(框架元素(Frame Element)框架元素(框架元素(Frame Element)包括:)包括:MapElement,MapSurrundFrame,OleFrame和和TableFrame等,作为不可见的容器存在。等,作为不可见的容器存在。所有的框架元素都实现所有的框架元素都实现IFrameElment接口接口;MapFrame对象是对象是Map的容器的容器,用于管理,用于管理Map对象;实现对象;实现IMapFrame接口,接口,CreateSurrou

39、ndFrame方法方法:获得一个:获得一个MapSurroundFrame对象。对象。MapSurroundFrame对象是对象是MapSorrund的容器的容器,是一种用于管理,是一种用于管理MapSorrund对象的框架元素对象的框架元素,该对象包括比例尺,比例文本,指北针,图该对象包括比例尺,比例文本,指北针,图例等例等;MapSorrund对象自动与某个地图对象关联,随着地图视图的变化而变化。对象自动与某个地图对象关联,随着地图视图的变化而变化。MapSurroundFrame对象实现对象实现IMapSurroundFrame接口。接口。每个每个MapSurroundFrame对象都与

40、一个对象都与一个MapFrame相联系,如果相联系,如果MapFrame被删除,与其相连的被删除,与其相连的MapSurroundFrame对象都绘被删除。对象都绘被删除。GIS开发与应用ArcEngine方法框架元素框架元素FrameElementu属于属于 PageLayout 的附属的附属uMapSurroundFrame elementsuMapSurrounds对象的容器(e.g.,Scalebars)u内容动态更新IElementGraphicElementFrameElementTextElementMapFrameMapSurroundFrame*PageLayoutEleme

41、ntMap*MapSurroundScaleBarMapSurroundFrameMapSurroundGIS开发与应用ArcEngine方法5.5 MapSurround 对象(地图整饰对象)uMapSurround指指图例,北针、比例尺、比例文本图例,北针、比例尺、比例文本等对象;等对象;uMapSurround 对象并不是简单的图形,而是直接和地图动态连接。它并不是简单的图形,而是直接和地图动态连接。它与一个地图对象关联的用于修饰地图的辅助图形元素对象如图所示。它的形状或内容会随着Map 属性的变化而自动改变。uMapSurround并不是直接被加入到页面布局中去的,而是被加入到某一并不

42、是直接被加入到页面布局中去的,而是被加入到某一特定类型的框架元素中,这一框架元素称为特定类型的框架元素中,这一框架元素称为MapSurroundFrame。如Map 视图范围改变后比例尺(ScaleBar)也会自动调整比例,比例尺文本(ScaleBarText)也会相应改变它的比例值。MapSurround 对象由MapSurroundFrame 对象管理,所有的MapSurround 对象添加在布局视图上。所有的MapSurround 对象都实现IMapSurround 接口:IMapSurround:Name 属性:获得MapSurround 对象的名称;IMapSurround:FitT

43、oBound 方法:设置一个MapSurround 对象的大小。GIS开发与应用ArcEngine方法GIS开发与应用ArcEngine方法图例GIS开发与应用ArcEngine方法Ledend图例对象图例对象u图例图例Legend是一个与是一个与Map对象中图层的渲染相关的对象,通对象中图层的渲染相关的对象,通过渲染对象在地图上产生专题地图。过渲染对象在地图上产生专题地图。uLegend类主要实现类主要实现ILegend接口,提供获得和修改属性的属接口,提供获得和修改属性的属性与方法性与方法:uAddItem 添加图例;添加图例;uClearItems:清除图例;:清除图例;uAutoAdd

44、为为true时,时,Map对象加入新图层后,与对象加入新图层后,与Map关联的关联的图例对象会响应图例对象会响应Map图层变化,增加一个条目。图层变化,增加一个条目。GIS开发与应用ArcEngine方法MakerNorthArrow指北针对象指北针对象uMakerNorthArrow指北针(组建类):继承指北针(组建类):继承NorthArrow抽抽象类,用于指示地图空间方位的图形,是一个象类,用于指示地图空间方位的图形,是一个MapSurround对象。对象。u该对象实现了两个接口:该对象实现了两个接口:IMarkerNorthArrow 和和INorthArrow;uIMarkerNor

45、thArrow:设置指北针对象的一般属性,如颜色,:设置指北针对象的一般属性,如颜色,尺寸和位置等;尺寸和位置等;uINorthArrow:定义一个属性:定义一个属性MarkSymbol,用于设置指北,用于设置指北针的符号;针的符号;GIS开发与应用ArcEngine方法ScaleBar 比例尺对象比例尺对象u地图上的图形与现实空间地物之间存在着一定的比例关系,通过比例尺来地图上的图形与现实空间地物之间存在着一定的比例关系,通过比例尺来说明地图上的单位长度,代表着现实世界的实际长度。说明地图上的单位长度,代表着现实世界的实际长度。uScaleBar对象是一种对象是一种MapSurround对象

46、,该类泛化出多个子类,如对象,该类泛化出多个子类,如ScaleLine,AlternatingScaleBar(交替双刻度比例尺),(交替双刻度比例尺),DoubleAlternatingScaleBar,HollowScalbar等,这些类都实现了等,这些类都实现了IScaleBar和和IScaleMarks接口。接口。uIScaleBar接口的属性介绍:接口的属性介绍:Division:设置比例尺的分割单位;:设置比例尺的分割单位;DivisionsBeforeZero:设置比例尺原点左侧显示的段数;:设置比例尺原点左侧显示的段数;Divisions:设置比例尺的总段数(包括原点左侧的段数

47、);:设置比例尺的总段数(包括原点左侧的段数);Subdivisions:设置主比例尺分为几个子段;:设置主比例尺分为几个子段;Units:设置比例尺的单位;:设置比例尺的单位;UnitLabel:String型,设置单位标签上的内容;型,设置单位标签上的内容;UnitLabelPosition:设置单位标签显示的位置;:设置单位标签显示的位置;LabelPosition:比例尺数字标签的显示位置;:比例尺数字标签的显示位置;LabelFrequency:比例尺数字标签的风格:比例尺数字标签的风格 GIS开发与应用ArcEngine方法ScaleText 比例尺文本比例尺文本u比例尺文本对象,

48、显示明确的比例数值,它是一个文本元素,比例尺文本对象,显示明确的比例数值,它是一个文本元素,显示的比例随着地图比例尺的变化而变化。显示的比例随着地图比例尺的变化而变化。u该类实现了该类实现了IScaleText接口,定义了文本的属性和方法,如接口,定义了文本的属性和方法,如Symbol和和text等。等。utext属性用来获取比例文本的字符;属性用来获取比例文本的字符;GIS开发与应用ArcEngine方法ArcEngine地图整饰对象添加的流程地图整饰对象添加的流程获取获取PageLayout对象对象:将将PageLayoutControl控件中的控件中的PageLayout对象赋给对象赋给

49、IPageLayout接口的对象变量;接口的对象变量;IPageLayout pPageLayout=new axPageLayoutControl1.PageLayout;获取与获取与PageLayout相关联的活动视图相关联的活动视图:IActiveView pActiveView=pPageLayout as IActiveView;获取与获取与PageLayout相关联的图形容器相关联的图形容器(GrphicsContainer););IGraphicsContainer pGraphicsContainer=pPageLayout as IGraphicsContainer;使用使用

50、IGraphicContainer的的FindFrame方法方法查找与焦点(查找与焦点(Focus)地)地图相关联的图相关联的Map Frame对象对象;IMapFrame pMapFrame=pGraphicsContainer.FindFrame(pActiveView.FoucsMap)as IMapFrame;GIS开发与应用ArcEngine方法由由MapFrame对象通过对象通过CreateSurroundFrame(pID,pMapSurround)方法得到方法得到MapFrame对象对象。pID表示地图要素的类型,表示地图要素的类型,pMapSurround表示表示MapSur

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

当前位置:首页 > 办公、行业 > 各类PPT课件(模板)
版权提示 | 免责声明

1,本文(AE开发第五章地图整饰与输出11.15课件.ppt)为本站会员(三亚风情)主动上传,163文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。
2,用户下载本文档,所消耗的文币(积分)将全额增加到上传者的账号。
3, 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(发送邮件至3464097650@qq.com或直接QQ联系客服),我们立即给予删除!


侵权处理QQ:3464097650--上传资料QQ:3464097650

【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。


163文库-Www.163Wenku.Com |网站地图|