`
hi_ajg
  • 浏览: 82965 次
  • 来自: 北京
社区版块
存档分类
最新评论

添加图例、比例尺、指北针

 
阅读更多

代码中有注释,直接上

 

    指北针

public void AddNorthArrow(IPageLayout pageLayout)
       {
            IGraphicsContainer container = pageLayout as IGraphicsContainer; 
            IActiveView activeView = pageLayout as IActiveView; 
            // 获得MapFrame
            IFrameElement frameElement = container.FindFrame(activeView.FocusMap);
            IMapFrame mapFrame = frameElement as IMapFrame;
            //根据MapSurround的uid,创建相应的MapSurroundFrame和MapSurround
            UID uid = new UIDClass();
            uid.Value = "esriCarto.MarkerNorthArrow";
        IMapSurroundFrame mapSurroundFrame = mapFrame.CreateSurroundFrame(uid, null);
            //设置MapSurroundFrame中指北针的点符号
            IMapSurround mapSurround = mapSurroundFrame.MapSurround;
            IMarkerNorthArrow markerNorthArrow = mapSurround as IMarkerNorthArrow; 
            IMarkerSymbol markerSymbol = markerNorthArrow.MarkerSymbol;
            markerSymbol.Size = 18;
            markerNorthArrow.MarkerSymbol = markerSymbol;
            //QI,确定mapSurroundFrame的位置
            IElement element = mapSurroundFrame as IElement;
            IEnvelope envelope = new EnvelopeClass();
            envelope.PutCoords(0.2, 0.2, 5, 5);
            element.Geometry = envelope;
            //使用IGraphicsContainer接口添加显示
            container.AddElement(element, 0);
            activeView.Refresh();
 }

 

   比例尺

public void AddScalebar(IPageLayout pageLayout)
        {
            IGraphicsContainer container = pageLayout as IGraphicsContainer; 
            IActiveView activeView = pageLayout as IActiveView;
            // 获得MapFrame
            IFrameElement frameElement = container.FindFrame(activeView.FocusMap);
            IMapFrame mapFrame = frameElement as IMapFrame;
           //根据MapSurround的uid,创建相应的MapSurroundFrame和MapSurround
            UID uid = new UIDClass();
            uid.Value = "esriCarto.AlternatingScaleBar";
      IMapSurroundFrame mapSurroundFrame = mapFrame.CreateSurroundFrame(uid, null);
            //设置MapSurroundFrame中比例尺的样式
            IMapSurround mapSurround = mapSurroundFrame.MapSurround;
            IScaleBar markerScaleBar = ((IScaleBar)mapSurround);
            markerScaleBar.LabelPosition = esriVertPosEnum.esriBelow;
            markerScaleBar.UseMapSettings();
            //QI,确定mapSurroundFrame的位置
            IElement element = mapSurroundFrame as IElement;
            IEnvelope envelope = new EnvelopeClass();
            envelope.PutCoords(0.2, 0.2, 1, 2); 
            element.Geometry = envelope;
            //使用IGraphicsContainer接口添加显示
            container.AddElement(element, 0);
            activeView.Refresh();
   }

 

   图例

 private void AddLegend(IPageLayout pageLayout)
        {
            IActiveView pActiveView = pageLayout as IActiveView;
            IGraphicsContainer container = pageLayout as IGraphicsContainer;
            // 获得MapFrame
        IMapFrame mapFrame = container.FindFrame(pActiveView.FocusMap) as IMapFrame;
            //根据MapSurround的uid,创建相应的MapSurroundFrame和MapSurround
            UID uid = new UIDClass();
            uid.Value = "esriCarto.Legend";
        IMapSurroundFrame mapSurroundFrame = mapFrame.CreateSurroundFrame(uid, null);
            //设置图例的Title
            ILegend2 legend = mapSurroundFrame.MapSurround as ILegend2;
            legend.Title = "地图图例";
            ILegendFormat format = new LegendFormatClass();
            ITextSymbol symbol = new TextSymbolClass();
            symbol.Size = 4;
            format.TitleSymbol = symbol;
            legend.Format = format;
            //QI,确定mapSurroundFrame的位置
            IElement element = mapSurroundFrame as IElement;
            IEnvelope envelope = new EnvelopeClass();
            envelope.PutCoords(2, 2, 8, 8);
            element.Geometry = envelope;
            //使用IGraphicsContainer接口添加显示
            container.AddElement(element, 0);
            pActiveView.Refresh();
  }
 

 

分享到:
评论

相关推荐

    ArcGIS Engine在PageLayout插入MapSurround对象(指北针、图例、比例尺)

    C#开发ArcGIS Engine中在PageLayout插入指北针、图例、比例尺等

    ArcGIS 二次开发--出图工具:添加图名、比例尺、指北针、图例,导出图片或文件、打印地图

    在这个小Demo中,我们将探讨如何利用ArcGIS的API来实现添加图名、比例尺、指北针和图例等功能,同时介绍导出图片、保存文件以及打印地图的操作流程。 首先,我们需要了解ArcGIS的开发环境,通常我们会使用...

    专题图制作的源代码,包括指北针,图例,比例尺

    本资源包含了一系列用于创建专题图的源代码,涵盖了指北针、图例、比例尺等关键元素,这些都是地图制作不可或缺的部分。 首先,让我们详细了解一下这些元素: 1. **指北针**:在地图上,指北针是用来指示地理北方...

    Arcengine二次开发源代码

    (1) 常用功能 测量 (2) 空间分析 ...(7) 出版制图(打印输出,添加文本,添加图例、比例尺、指北针) (8) 失栅转换(栅格转矢量、矢量转栅格) (9) 右键菜单 (10) 鹰眼 (11) 符号渲染

    surfer形变图制图之基本要素添加

    - 指北针的添加需要先创建一个点,然后更改其样式为指北针样式。你可以根据需要进一步自定义指北针的样式,例如改变颜色、大小或指针形状。 5. **坐标轴(Grid Coordinates)**: - 坐标轴的显示通常位于地图的四...

    SuperMap iObjects .NET 8C 动态修改布局元素指北针

    在GIS中,布局是地图的一个可视表示,它包含了地图、图例、比例尺、指北针等辅助元素,这些元素共同构成了一张完整的地图作品。布局元素的属性可以包括位置、大小、颜色、透明度、文字样式等,其中指北针通常用于...

    AE地图要素的插入汇总

    这些要素包括但不限于文字、指北针、比例尺、图例等。通过这些元素的合理布局与设计,不仅能够提升地图的视觉效果,还能为用户提供更为准确的信息指引。本文将详细介绍如何在ArcGIS Engine (AE) 中插入这些地图要素...

    Openlayers学习之地图比例尺控件

    本篇文章将详细介绍如何在OpenLayers应用中添加和使用地图比例尺控件。 首先,我们需要了解OpenLayers的基本结构。OpenLayers是一个开源的JavaScript库,用于构建交互式的Web地图应用程序。它提供了丰富的地图操作...

    wxh 《指北针,标题设置的打印程序代码.zip

    《指北针,标题设置的打印程序代码》是一款专门针对地图或者图表的打印程序,它提供了灵活的标题设定功能,能够帮助用户在打印输出时精确地控制和展示地图或图表的相关信息。通过分析提供的压缩包文件,我们可以了解...

    ArcGIS:出图.doc

    本文档将指导您如何使用 ArcGIS 生成一个完整的图形输出,包括添加标题、图例、比例尺、指北针等元素。 添加标题和文本 在 ArcGIS 中添加标题和文本是非常简单的。您可以在图形显示窗体右下角选择出图模式,然后...

    ArcGIS教程:为地图册添加动态文本

    地图旁注是指在地图上为了方便阅读和理解地图内容而添加的各种辅助性信息,包括但不限于图例、标题、格网、经纬网、比例尺、比例文本、指北针以及空间参考信息等。此外,地图旁注还涵盖了其他图形和文本项,这些都是...

    Engine pageLayout

    本文将深入探讨如何在Visual Studio 2005与ArcEngine 9.2环境下设置“Engine pageLayout”,包括图例、指北针、比例尺、边框以及符号的配置。 "Engine pageLayout"指的是ArcEngine中的页面布局引擎,它允许开发者...

    地形图图例大全

    此外,地形图图例中还包括了地图的基准信息,比如比例尺、图例说明、指北针、经纬度网格等,这些是地图阅读的基础。比例尺表示地图上的距离与实际距离的比例关系,指北针指示了地图上方向与实际方向的关系,而经纬度...

    手绘室内平面图图例及平立图绘制.docx

    室内平面图图例是指在绘制室内平面图时使用的各种符号和线条,包括剖切符号、指北针符号、内视符号等。这些符号的使用能够帮助设计师快速地绘制出室内平面图,并且使图纸更加清晰易懂。 1. 剖切符号:剖切符号是指...

    mapgis图例制作

    在MAPGIS中,图例可以分为几种常见的类型,如连续图例(适用于表示连续变量,如温度、高度等)、分类图例(适用于表示离散变量,如土地利用类别、人口类别等)和特殊图例(如比例尺、指北针等)。 4. **图例的高级...

    手绘室内平面图图例与平立图绘制.pdf

    指北针尾部的宽度宜为 3mm,指北针头部应注“北”或“N”字。需用较大直径绘制指北针时,指针尾部的宽度宜为直径的 1/8。 三、视符号 视符号是指在平面图上的视点位置、方向及立面编号的符号。符号中的圆圈应用细...

    M_Map 用户指南(中文版).pdf

    5. **自定义轴和地图元素**:M_Map 允许用户自定义网格线、标签、标题、图例框、比例尺、指北针等。这使得地图更具个性化和专业性。 6. **添加数据和绘制**:用户可以绘制线条、文本、箭头、补丁、影线、斑点、轮廓...

    ArcGIS_Engine_C#实例开发教程.pdf

    文档描述强调了教程的主要内容是地图制图的开发实践,具体包括添加指北针、图例和比例尺等组件。这些组件在地图制图和GIS应用中十分关键,能够帮助用户更好地理解地图信息。 在标签部分,我们看到了"C# ArcGIS AE ...

    遥感集中实习指导.pdf

    2. 专题图制图:将分类结果制成专题图,附带图例、比例尺、指北针、各地类面积等信息。 五、任务要求 1. 实习报告:提交实习报告一份,附带融合后的影像结果和分类结果图。 2. 结果图:提交分类结果图,附带图例、...

Global site tag (gtag.js) - Google Analytics