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

合集下载

ArcGIS Engine 中的地图组成及图层控制解析

ArcGIS Engine 中的地图组成及图层控制解析

湖南
一、 Element对象-Graphics Element 城市学院
❖ 2、MarkerElement
▪ 在Map视图或PageLayout视图中表现为点的形式。 ▪ MarkerElement实现了IMarkerElement接口,
IMarkerElement接口只提供了Symbol属性,用于设置点 的样式。
❖ 1、LineElement
▪ 在Map视图或PageLayout视图中表现为线的形式。 ▪ LineElement实现了ILineElement接口,ILineElement接
口只提供了Symbol属性,用于设置线的样式。
GIS二次开发—使用ArcGIS Engine 9.3
市政与测绘工程学院地理信息系统专业
湖南 城市学院
第六讲
地图组成及图层控制
GIS二次开发—使用ArcGIS Engine 9.3
市政与测绘工程学院地理信息系统专业
主要内容
湖南 城市学院
1
Element对象
2
MapGrid对象
3
MapSurround对象
4
Style对象
5
添加、删除图层数据
6
图层控制
GIS二次开发—使用ArcGIS Engine 9.3
GIS二次开发—使用ArcGIS Engine 9.3
市政与测绘工程学院地理信息系统专业
湖南
一、 Element对象-Graphics Element 城市学院
❖ 5、FillShapeElement
▪ FillShapeElement泛化出了CircleElement、 EllipseElement、PolygonElement和RectangleElement 等。

ArcGISEngine基础开发教程(7)——学习地图输出

ArcGISEngine基础开发教程(7)——学习地图输出

ArcGISEngine基础开发教程(7)——学习地图输出ArcGIS Engine基础开发教程(7)——学习地图输出本帖最后由 fxlcoco 于 2009-7-7 11:22 编辑7地图输出地图输出是一个GIS系统应有的功能,它分为两种类型:一种是地图的打印输出,即把地图的某一范围通过打印机或者绘图仪打印在纸质媒介上,如图1所示;另一种是地图的转换输出,即把地图的某一范围输出转换为不同的文件格式,如JPEG,PDF,SVG,TIFF以及Adobe AI等栅格或矢量图形文件,如图2所示。

7.1目标1.能够使用PageLayout对象通过打印机或绘图仪出图。

2.能够在地图上画取一定范围直接将该范围的地图数据导出为矢量或栅格图形文件(AI,JPEG等)。

图1图23评分次数huashuigiszouzoutingtingmm5566收藏分享评分努力不一定成功,放弃就一定失败。

学习是一种信仰(In learning we trust)!回复引用订阅报告道具 TO Pfxlcoco版主帖子1409精华142#发表于 2009-7-7 10:37 | 只看该作者本帖最后由 fxlcoco 于 2009-7-7 10:47 编辑7.2Printer 类ArcGIS Engine 中对于地图打印使用的是Printer 类是个抽象类,它有三个子类:EmfPrinter,ArcPressPrinter 和PsPrinter 这三种类对象都支持各自类型的硬拷贝设备,开发者选择需要的打印对象不是随意决定的,二取决于程序使用的打印设备类型和驱动程序的类型。

它们都实现了IPrinter 接口,IPrinter 接口定义了所有打印对象的一般方法和属性。

如IPrinter 的Pager 属性用于初始化与系统关联的打印机。

IPrinter 的StartPrint 方法用于返回一个打印设备的hDC,Irinter 的FinishPrinting 用于清除打印后的缓存对象。

ArcEngine中的图层对象创建

ArcEngine中的图层对象创建

图层 。当我们生成简单的地图时 ,最有效的方法就是 在地图内简单地生成需要的地图图层 。但当我们与 其他人共享图层时 ,最好以独立图层文件的形式来生 成图层 。 3. 1 图层是对地理数据的概括 (抽象 )
图层只是对一系列地理数据的“引用 ”,实质上它 并不存储地理数据 。这样的工作方法有以下好处 :
1 引言
人类已经步入信息社会 ,各种各样的信息系统已 经建设或正在建设或即将建设 ,其中地理信息系统 ( GIS)是发展最快 、应用最广的系统之一 。
地理信息系统 ( Geographical Information System , 简称 GIS) ,是 20世纪 60年代开始迅速发展起来的地 理学研究技术 ,是多种学科交叉的产物 ,是一种特定 而十分重要的空间信息系统 。它是在计算机硬件 、软 件系统的支持下 ,以地理空间数据库为基础 ,采集 、存 储 、管理 、分析和描述整个或部分地球表面 (包括大气 层在内 )与空间和地理分布有关的数据 ,为地理研究 和地理决策服务的空间信息系统 。地理信息系统处 理 、管理的对象是多种地理空间实体数据及其关系 , 包括空间定位数据 、图形数据 、遥感图像数据 、属性数 据等 ,用于分析和处理在一定地理区域内分布的各种 现象和过程 ,解决复杂的规划 、决策和管理问题 。
开发者可以在他们自己选择的集成开发环境下 , 开发 A rcGIS Engine应用程序 ,例如 :
对 W indow s开发者来说有 M icrosoft V isual Studio 或 Delphi、VB6。
对 Java开发者来说有 ECL IPSE, Sun ONE Studio 或 Borland’s JB uilder。
4 与其他系统图层的区别
在这里 ,以 map info系统中的图层为例进行比较 。 在 M ap info中 ,图层是一个透明层 ,每个图层对应 的是一个可以地图化的表 。在地图窗口中 , M ap info 把表按图层的方式一层层地叠加在一起 ,构成一副完 整的地图 。地图图层就像地层一样 ,一层层叠加就构 成了地球 。当打开一个或多个地图表后 ,用户就可以 在图层控制对话框中对图层进行控制 ,如添加 、删除 、 排序 、可 /不可显示 、可 /不可编辑等操作 。在 map info 系统中要创建一个图层要通过创建相应的地图化表 来实现 ,每创建一个图层就要创建一个地图化的表 , 修改图层属性也即是要修改对应的地图化表 ,比较麻 烦。 而在 A rcGIS中 ,图层只是对一系列地理数据的 “引 用 ”, 实 质 上 它 并 不 存 储 地 理 数 据 。它 是 利 用 shape文件来存储地图属性 ,同时也通过修改 shape文 件的字段属性来改变地图图层的属性 ,这样就增强了 图层的可修改性和可移植性 ,使图层的使用更加灵 活 、方便 。这也是引入 shape文件的优越性 。

用ArcEngine的工具条添加图层要素

用ArcEngine的工具条添加图层要素
8. 缓冲区的创建 16
9. C#制作鹰眼全过程(引自ESRI中国社区) 18
10. ArcEngine中拓扑的使用- - 20
11. 为什么使用接口编程{转载} 23
12. ArcEngine中闪烁目标 26
13. 创建多个ArcSDE实例 29
14. Geometry 对象浅析 30
spaceEdit.StartEditing(false);
spaceEdit.StartEditOperator();
//添加一个Feature
IFeature newFea=feaClass.createFeature();
//为Feature 添加属性 设置图形
newFea.Store();//保存属性和图形
IFeatureCursor 是一个游标 提供访问数据的接口和修改数据的接口
IFeature 是对象的代表 我们要编辑的目标
编辑的过程如下:
1.添加一个Feature
//假设space是一个IWorkspaceEdit
//参数表示是否需要使用Undo/Redo功能,该功能的粒度是EditOperator.
1. 目录
1. 目录 1
2. 用ArcEngine的工具条添加图层要素 2
3. ArcEngine中对Feature的编辑 5
4. Feature的概念 6
5. 如何实现经度纬度到平面坐标的相互转换?(转载) 7
6. ArcEngine 最短路径分析(源码) 9
7. ArcEngine中使用上下左右键移动地图功能的实现 15
private void Form1_Load(object sender, System.EventArgs e)

ArcGISEngine基础开发教程

ArcGISEngine基础开发教程

ArcGISEngine基础开发教程部门: xxx时间: xxx整理范文,仅供参考,可下载自行编辑ArcGIS Engine基础开发教程1.创建ArcGIS Engine桌面应用程序ArcGIS Engine9.3提供了丰富的GIS组件方便用户快速的定制开发一个GIS应用程序,无需写代码即可实现GIS数据加载,地图操作等功能甚至可以实现高级编辑以及空间分析功能。

接下来使用ArcGIS Engine9.3提供了MapControl Application模块来创建第一个ArcGIS Engine桌面应用程序,并为桌面应用应用程序提供编辑功能。

1.1目标1.创建第一个ArcGIS Engine桌面应用程序2.为应用程序添加编辑功能。

1.2准备工作1.IDE:Visual Studio 2005/20082.ArcGIS Engine Developer kit 9.33.制作ArcGIS实验数据地图文档MXD1.3设计流程图1.4制作地图文档在ArcMap中加载数据后,点击保存生成一个*.mxd地图文档,如图1所示:b5E2RGbCAP图11.5创建第一个ArcGIS Engine桌面应用程序在Visual Studio2008中新创建项à选择àArcGISàEngineàMapControl Application,点击确定,如图2所示:p1EanqFDPw图2可以看到在Visual Studio中看到在新创建的工程中自动加载了ToolBarControl、TocControl、LicenseControl、MapControl四个ArcGIS Engine控件以及一个.NET ToolStripMenuItem菜单控件,如图3所示:图31.6加载MXD地图文档数据单击F5键运行程序,然后单击打开MXD地图文档按钮打开MXD地图文档,如图4所示:图4可以看到应用程序把MXD地图文档加载到MapControl地图上,可以使用ToolbarControl提供的常用GIS功能如:放大,缩小,信息查询等功能。

ArcGIS Engine基础开发教程(3)

ArcGIS Engine基础开发教程(3)

ArcGIS Engine基础开发教程(3)——学习地图和地图布局Engine, ArcGIS, 教程, 地图, 基础本章是ArcGIS Engine基础开发教程的第三章,主要给大家大致讲解了,地图和地图布局的相关对象。

这些对象非常重要,如果这些基本对象都不熟悉就开始搞ArcGIS Engine开发是不科学的也走不远的。

3地图和地图布局3.1地图3.1.1Map对象Map对象是ArcGIS Engine的主要对象,本章将给大家介绍地图组成结构,如何创建地图,如何对组成地图的对象进行操作,在介绍这些内容时尽量结合ArcMap学习效果会更好。

在Map对象上能显示的图形有两类一类是地理数据,一类是元素。

地理数据包括矢量类型的要素数据,栅格数据,Tin等表面数据等,这些数据都保存在Geodatabase或数据文件如shapefile中,它们是用于GIS分析制图的源数据;图1而元素是另一种可以显示在Map上的对象,它分为两部分一类是图形元素,一类是框架元素,图形元素可以显示出来,而框架元素充当了“容器”的角色。

在ArcMap中可以使用“Draw”工具在Map上直接绘制一个矩形,圆形,文本等对象,在布局视图上也可以给地图添加指北针,图例,比例尺等图形对象,这些都是图形元素。

图2在ArcMap中Map对象是由MXDocument对象的MapFrame对象管理,MapFrame是一个框架元素。

Map对象有双重身份,一方面是数据的管理容器,可以加载地理数据和图形元素,扮演了数据管理器的角色,另一方面它又可以让用户看到这些数据即扮演了数据显示器的角色,当加载数据到Map对象的时候,Map对象是数据的管理者;当改变视图范围,刷新地图的时候它是数据的显示者。

Map对象主要实现的接口由IMap,IGraphicContainer,IActiveView,IMapBookmark等接口。

IMap接口主要用于管理Map对象中的Layer对象,要素选择集对象,MapSourround对象,空间参考等对象。

ArcGIS Engine基础实战

ArcGIS Engine基础实战
组件
Engine 库 – 制图、绘制、选择、编辑等 Control 库 – 地图控件、布局控件、工具条等
APIs
COM、.NET、Java、C++
工具
文档、开发工具
ArcGIS Engine功能框架
基本服务 数据访问 地图分析
应用层需要用到的 ArcObjects 核心对象 几何图形的操作与显示 地理数据集,矢量,栅格数据
IQueryFilter、 IRaster、IRasterCursor、IRasterDataset、IRelationship、
IReplica、 ISelectionSet、ISurface、ITin、ITopology、 IVersion、
主要类库介绍—GeodataBase
DataSourcesFile
包含了为支持的矢量数据格式提供的工作空间工厂和工作空间。
ICoverageFeatureClass、ICadDrawingLayers、 IGPLayer、 ArcInfoWorkspaceFactory、CadWorkspaceFactory、SDCWorkspaceFactory、 ShapefileWorkspaceFactory、TinWorkspaceFactory、VpfWorkspaceFactory
PageLayoutControl、SceneControl、Snapping、Symbology、
TOCControl、ToolbarControl、ToolbarItem、、、
主要类库介绍—Display
Display
显示库包含了支持在输出设备上显示图形的组件,屏幕显示, 符号,颜色等都在这个库中定义。 BalloonCallout、ScreenDisplay 绘图跟踪器:EngineRotateTracker、EnvelopeTracker、 字体、颜色: RgbColor、CmykColor 点、线、面符号样式:简单符号、图片符号、专题符号 制图表达:RepresentationRule、 符号库:ServerStyleGallery、ServerStyleGalleryItem

ArcGIS Engine 中的地图组成及图层控制

ArcGIS Engine 中的地图组成及图层控制

湖南 城市学院
GIS二次开发—使用ArcGIS Engine 9.3
市政与测绘工程学院地理信息系统专业
一、 Element对象-Graphics Element
4、GroupElement
GroupElement对象就是将多个Element对象编为一组, 作为一个整体使用。 GroupElement对象实现了IGroupElement接口,该接口 定义了6个属性和方法。
IPersistStream (System) IPropertySupport (System) IQuerySize IReadingDirection ITransformEvents (Display)
GIS二次开发—使用ArcGIS Engine 9.3
市政与测绘工程学院地理信息系统专业
三、 MapSurround对象-图例对象
湖南 城市学院
Graphics Element都是作为图形的形式而存在,在Map 视图或者PageLayout视图上是可见的; Frame Element是作为不可见的容器而存在的。 Map对象或者PageLayout对象可以通过IElement接口和 IGraphicsContainer接口来管理Element对象。 IGraphicsContainer接口—添加、删除、更新Element; IElement—确定Element对象的Geometry属性。
市政与测绘工程学院地理信息系统专业
一、Element对象
湖南 城市学院
GIS二次开发—使用ArcGIS Engine 9.3
市政与测绘工程学院地理信息系统专业
一、 Element对象
如何理解Element对象?
在Map对象和PageLayout对象显示的数据除了地理数据 之外,另一种即为元素数据(Element对象)。

ArcEngineIMap接口使用方法

ArcEngineIMap接口使用方法

ArcEngineIMap接口使用方法使用IMap接口显示各种数据源的数据。

IMap接口的成员ActiveGraphicsLayer:活动图形图层,如果没有将创建一个基本memory graphics layer。

AddLayer:向地图中添加单个图层。

AddLayers:向地图中添加多个图层。

AddMapSurround:向地图中添加map surround。

AnnotationEngine:地图使用的注记(标签)引擎。

AreaOfInterest:地图的感兴趣区域。

Barriers:barriers列表和标签权重。

BasicGraphicsLayer:基本图形层。

ClearLayers:从地图中移除所有图层。

ClearMapSurrounds:从地图中移除所有旁注。

ClearSelection:清除地图选择。

ClipBorder:ClipGeometry周围一个可选边界。

ClipGeometry:地图图层中一个要剪切的形状。

ComputeDistance:计算地图上两个点的距离并返回结果。

CreateMapSurround:创建并初始化一个map surround。

从样式集中指定一个可选样式。

DelayDrawing:暂停绘制。

DelayEvents:将操作按批组合来减少通知。

DeletLayer:从map中删除图层。

DeleteMapSurround:从地图中删除map surround。

Description:地图描述。

DistanceUnits:地图的距离单位。

Expanded:指出地图是否可以扩张。

FeatureSelection:地图中选择的要素。

GetPageSize:获得地图的页面大小。

IsFramed:指出地图是否在一个框架内而不是在整个窗口中绘制。

Layer:给定序号的layer。

LayerCount:地图中图层的数目。

Layers:以uid表明类型的地图图层。

如果recursive是true,将以layers的形式返回layers。

ArcGIS Engine 添加地图标记

ArcGIS Engine  添加地图标记

1用Windows窗体和控件完成对标注界面的基本构建右键AreEngingHelper→添加→Windows窗体2接着打开工具箱拖动label,comBoxGroupBox ,button等控件完善标注界面字段类型name cbFielb 字体类型 cbFontType 字体大小 cbFontSize 字体类型 btnColor 2接着设置控件的名称和内容添加字体类型在属性→ltems→点击...打开后进入字体添加字体大小操作如上字体颜色的设置需要用到ColorDialog控件,将它拖至如下的位置3完成以上操作后再右键AreEngingHelper→添加→类名称为StructHeleper输入如下代码{public string FieldName; //字段名称public stdole.IFontDisp FonDisp; //字体类型public int LabelSize; //字体大小public IRgbColor LabelColor; //字体颜色}4接着打开设计的标注界面即LabelForm窗口,双击空白区域进入代码输入如下代码namespace AreEngingHelper{public partial class LabelForm : Form{IActiveView m_View = null;IMap m_Map = null;ILayer m_Layer = null;TxetSymbolStruct m_Struct;public LabelForm(IActiveView nView, IMap nMap, ILayer nLayer){InitializeComponent();m_View =nView;m_Map = nMap;m_Layer = nLayer;}5接着进行字段名称字体大小字段类型等设置双击字段名称的comBox 弹出代码输入如下代码m_Struct.FieldName = cbFielb.SelectedItem.ToString();字体类型操作如上m_Struct.FonDisp = new stdole.StdFont(){Name = cbFontType.SelectedItem.ToString()} as stdole.IFontDisp;字体大小m_belSize = Convert.ToInt32(cbFontSize.SelectedItem.ToString()); //把字符串类型转换为int型字体颜色也是双击如图所示区域,进入代码if (colorDialog1.ShowDialog() == System.Windows.Forms.DialogResult.OK){Color pColor = colorDialog1.Color; //colorDialog1为选中的颜色,即刚才添加的控件ColorDialogm_belColor = new RgbColor(){Red = pColor.R,Green = pColor.G,Blue = pColor.B};btnColor.BackColor = pColor;}6添加arcgis工具接着在右键AreEngingHelper→添加。

ArcGIS Engine 中的地图组成及图层控制中的显示对象

ArcGIS Engine 中的地图组成及图层控制中的显示对象

例:IFeatureLayer接口的Search方法(P87)
5
图层对象-要素图层-IFeatureLayer
DataSourceType的类型:
6
图层对象-要素图层-IGeoFeatureLayer
IGeoFeatureLayer接口继承了ILayer接口和
IFeatureLayer两个接口,CadFeatureLayer、 FeatureLayer、GdbRasterCatalogLayer等3个图层类实 现了该接口。主要属性和方法有: • SearchDisplayFeature-只显示复合查询要求的要素,
选择集。
8
图层对象-要素图层-ILayerFields
ILayerFields接口提供了Field、FieldCount、
FieldInfo和FindField等属性和方法,用于获取要素类 的字段信息。
9
图层对象-要素图层-IIdentify
IIdentify接口定义了一个方法Identify,用于获取图层
集的属性和方法。 • Add-将本图层的一个要素添加到图层的选择集中; • SelectFeatures-使用一个过滤器把符合要求的要素放 入图层的选择集中;
• Clear-把图层的所有选择集清空。
注:选择集有两种,要素选择集和元素选择集, PageLayout只有元素选择集,Map则有元素选择集和要素
地图及图层控制 (2 )
主要内容
A. 图层对象 B. 屏幕显示对象 C. 页面布局对象 D. 地图排版 E. Element对象
• • • • • ILayer接口 要素图层 CAD文件 TIN图层 GraphicsLayer
• • • •

ArcEngine地图基本操作的实现

ArcEngine地图基本操作的实现
WorkspaceFactory、FeatureWorkspace、
FeatureClass、FeatureLayer等组件类或者抽象类。
三 地图基本操作实现
1.加载图层数据——ShapeFile文件
Workspace类
Workspace类表示工作区,它是空间数据和非空间数据集的容器,它是 一个类,因此不能被直接创建,而只能从别的对象那里获得;它提供 了使用和创建新的数据集的方法。根据esri Workspace的不同, Workspace可以分为以下几种:
一 使用ArcEngine控件开发
2. MapControl和PageLayoutControl
• MapControl和PageLayoutControl对应于ArcMap桌面应用程 序的“数据”和“布局”视图。用ArcMap创作的地图文 档可以装载到这两个控件中。 • 地图文档可在设计时通过这两个控件的属性页设置,控件 可以被设置为“链接”或“包含”地图文档;地图文档也 可以使用LoadMxFile方法通过编程装载到控件中。 • MapControl和PageLayoutControl不仅可以读取地图文档, 还可以写入地图文档(*.mxd)。
• ToolbarControl要与一个“伙伴控件”协同工作。“伙伴 控件”可在设计时通过ToolbarControl属性页设置或在驻 留ToolbarControl的容器被显示时用SetBuddyControl方 法通过编程设置。 ToolbarControl可以驻留操作其“伙伴 控件”显示的命令、工具和菜单。
axTOCControl1.SetBuddyControl(axMapControl1); axToolbarControl1.SetBuddyControl(axMapControl1);

ArcEngine复习指导

ArcEngine复习指导

GIS开发与应用GIS开发与应用——ArcEngine方法独立开发模式宿主型开发模式(组件式GIS 基本思想)组件式GIS 开发模式第1章GIS 二次开发概述1.1 GIS 开发模式GIS开发与应用——ArcEngine方法1.2 组件式GIS组件式 GIS (ComGIS) :采用了面向对象技术和组件式软件的GIS 系统(包括基础平台和应用系统)。

COM是组件式对象模型是组件式对象模型(Component Object Model) 的英文缩写。

GIS开发模式包括:开发模式包括:独立开发模式、宿主型开发模式、组件式GIS 开发模式。

组件式GIS 开发平台的结构有三种:基础组件、高级通用组件、行业性组件。

GIS开发与应用——ArcEngine方法基础组件——面向空间数据管理,提供基本的交互过程。

面向空间数据管理,提供基本的交互过程。

高级通用组件——面向通用功能。

行业性组件——抽象出行业应用的特定算法,固化到组件中,进一步加速开发过程。

GIS开发与应用——ArcEngine方法第二章 ArcEngine 基础2.1 ArcObjects 与ArcEngine 区别与联系2.2 ArcEngine 功能2.4 组件对象模型COM2.5 理解对象模型图OMD2.6 ArcEngine 类库结构GIS开发与应用——ArcEngine方法ArcEngine 从功能层次上分为五部分:1.基本服务—由GIS 核心ArcObjects 构成,几乎所有GIS应用程序都需要,如要素几何体(Feature geometry)和显示(Display)。

2.数据存取—ArcGIS Engine 可以对许多栅格和矢量格式进行存取,包括强大的地理数据库(Geodatabase)。

3.地图表达—创建和显示带有符号和标注的地图。

4.开发组件—用于快速开发应用程序的界面控件。

5.运行时选项—ArcGIS Engine 运行时可以与标准功能或其它高级功能一起部署GIS开发与应用——ArcEngine方法6-72.4.1 基本概念对象和类( Objects and Class )对象:系统中用来描述客观事物的一个实体,构成系统的一个基本单位。

arcgis操作步骤

arcgis操作步骤

arcgis操作步骤
ArcGIS 是一套地理信息系统(GIS)软件,用于处理、分析和可视化地理数据。

以下是一般情况下在ArcGIS 中进行基本操作的一些步骤:
一、启动ArcGIS:打开ArcGIS 软件。

二、创建新地图文档(Map Document):在ArcGIS 中创建一个新的地图文档,用于存储地图和相关的地理数据。

三、添加数据(Add Data):将要分析或显示的地理数据添加到地图文档中。

可以是矢量数据(点、线、面)、栅格数据(影像、地形)等。

四、设置地图投影(Define Projection):确保地图文档中的各个数据集使用相同的地理投影,以确保数据在地图上正确对齐。

五、制作地图(Map Layout):在地图文档中创建地图布局,包括地图的标题、图例、比例尺等元素。

六、进行空间分析(Spatial Analysis):使用ArcGIS 工具进行空间分析,如缓冲区分析、空间查询、网络分析等。

七、制作图表和统计(Charts and Statistics):使用ArcGIS 工具制作地理图表,进行数据统计和可视化。

八、输出地图(Export Map):将制作好的地图导出为图像文件、打印文档或其他可用形式。

九、保存和分享(Save and Share):定期保存地图文档,并根据需要分享或分发地图。

十、关闭ArcGIS:完成工作后关闭ArcGIS 软件。

这只是一般情况下的一些基本步骤,具体操作可能会因任务和数据类型而有所不同。

根据具体的需求和工作流程,ArcGIS 提供了丰富的工具和功能来支持地理信息系统的各种应用。

gis二次开发地图整饰与输出

gis二次开发地图整饰与输出

IDrive
燃料
加速 刹车
GIS开发与应用——ArcEngine方法
6-7
Map IMap QI
ClearLayers DeleteLayer
IActivewView
QI IGraphicsContainer
Extent
Clear
DeleteElement AddElement
GIS开发与应用——ArcEngine方法
TableFrame Legend
GIS开发与应用——ArcEngine方法
GIS开发与应用——ArcEngine方法
图例
GIS开发与应用——ArcEngine方法
元素(Elements)
有一些可以创建的对象 图形元素的种类
marker , Line, polygon Text and pictures
IActiveView的重要属性:Extent属性,返回Map对象当前视图的范围, 是一个Envelope对象; FullExtent:返回视图的全图范围; Refresh方法:一种刷新方式 PartialRefresh方法:部分刷新方式。
GIS开发与应用——ArcEngine方法
GIS开发与应用——ArcEngine方法
Map组件类主要接口IMap: IMap pMap = axMapControl1.Map;
GIS开发与应用——ArcEngine方法
9.2 PageLayoutControl页面布局(版式)控件
PageLayoutControl对应ArcMap中的布局视图(Layout View),它封装了PageLayout对象,并提供了额外的属性、 方法、事件用于:
PageLayout IPageLayou t QI

arcgis layout view范围-概述说明以及解释

arcgis layout view范围-概述说明以及解释

arcgis layout view范围-概述说明以及解释1.引言1.1 概述在开始介绍ArcGIS Layout View范围之前,先简要概述一下ArcGIS 的基本概念和功能。

ArcGIS是一款由美国Esri公司开发的地理信息系统软件,它集成了各种地理信息处理工具和功能模块,能够帮助用户进行地图制作、地理空间分析、数据管理等工作。

ArcGIS Layout View是ArcGIS软件中的一个重要模块,它是用于地图输出和制作的视图界面。

在ArcGIS中,我们可以通过ArcMap或ArcGIS Pro打开Layout View,进而创建专题地图、制作报告、设计海报等等。

Layout View能够帮助用户将地图以更加美观、规范的方式呈现出来,使得地理信息可以更好地传达给观众和利益相关者。

Layout View提供了丰富的地图布局和元素编辑工具,用户可以根据需要灵活地添加和调整地图元素,比如添加图例、比例尺、指北针、文本注释等等。

通过这些功能,用户可以将地图中的信息和内容进行整合和展示,使得地图具备更好的可读性和专业性。

同时,ArcGIS Layout View提供了多种导出和打印选项,用户可以根据需要将地图输出为高分辨率的图片文件或打印到纸质媒介上。

这对于制作专题地图、报告和展示材料来说十分重要,能够满足用户对地图输出的不同需求。

综上所述,ArcGIS Layout View是ArcGIS软件中的一个重要模块,它提供了丰富的地图布局和元素编辑工具,并支持多种输出和打印选项。

通过ArcGIS Layout View,用户可以轻松制作出高质量、专业规范的地图产品,为地理信息的传达和应用提供了重要的支持和保障。

在接下来的章节中,我们将更加详细地介绍ArcGIS Layout View的定义、功能和应用场景。

1.2 文章结构本文将按照以下结构进行论述:1. 引言:首先给出对ArcGIS Layout View 范围的概述,介绍本文的目的和文章结构。

ArcGIS中Spatial Join应用

ArcGIS中Spatial Join应用

ArcGIS中Spatial Join应用2011-05-06 17:591.1百度百科中的实例现在,有两份shp文件。

一份是点文件,我给它命名为:景点;另一份是面文件,命名为:行政区划。

两份文件中相对应的表字段如下:其中,Name各为景点名称和区县名称,Adress为景点地址,Density为行政区划人口密度。

问题:假设有5000条景点的属性数据和100条行政区划的属性数据,请根据行政区划的名称,对景点进行分类,使处在不同行政区划上的点以不同的颜色表示。

(若给点提示,则可以这么问:要求给景点数据增加一个字段,用来表示景点所在的行政区,并且根据这个增加的字段给属于不同行政区划的景点设置不同的颜色。

)方法:要先给景点数据增加一个字段,用来表示景点所在的行政区。

故我们在进行Spatial Join时,Target Feature 选择景点层,Join Feature选择行政区划层,Match Operation选择intersects或者is_within,最后第二行默认0,Field Map of Join Feature中一定要留着区县的名称,区县其他字段可删。

单击OK,便出现一个新的图层,乍看之下没什么变化。

但是打开新的点层的属性表,就会发现最后一列多了行政区划的名称字段。

接下来就很简单了,在新的点层上右键依次选择Properties→Symbology,再根据这个增加的字段给属于不同行政区划的景点设置不同的颜色。

1.2Spatial Join介绍Target FeatureTarget Feature中的对象要素为结果中得到的要素,即Target Feature中若为点要素,则得到的为从此文件中筛选的点要素。

Join FeatureJoin Features相当于参照物,比如,筛选出点与线距离在50m范围之内的点。

筛选对象为点要素,故点层为Target Feature,筛选所用的参照物为线要素,故线层为Join Feature。

《ArcGISEngine开发从入门到精通》第2章ArcGISEngine中的控件资料

《ArcGISEngine开发从入门到精通》第2章ArcGISEngine中的控件资料

CurrentTool。放大工具的实现过程是:通过 ToolbarControl获取其“伙伴控件”,然后在 MapControl上提供显示终端用户拉动鼠标所画的框, 并改变MapControl的显示范围。
ToolbarControl一般要与一个“伙伴控件”协同工作,并 有一个控件命令选择集,以便快速提供功能强大的 GIS应用程序。ToolbarControl不仅提供了部分用户界 面,而且还提供了部分应用程序框架。ArcGIS Desktop 应用程序,如ArcMap、ArcGlobe和ArcScene等具有强 大而灵活的框架,包括诸如工具条、命令、菜单、泊 靠窗口和状态条等用户界面组件,这些框架使终端用 户可以通过改变位置、添加和删除这些用户界面组件 来定制应用程序。
第2章 ArcGIS Engine中的控件
Forwithy New
为了快速构建一个GIS应用程序,ArcGIS Engine给开 发者提供了一些可视化控件,如制图控件、3D控 件、框架控件等。ArcGIS控件可以通过两种方式 建立应用程序,其一,ArcGIS控件可以嵌入到现 有的应用程序中以增强制图功能;其二,ArcGIS 控件可用于创建新的独立应用程序。
息。 • Object:返回MapControl控件。
IMapControl2 mapControl2; mapControl2 = axMapControl1.Object as IMapControl2;
mapControl2 = axMapControl1.GetOcx() as IMapControl2; IMapControl3 mapControl3; mapControl3 = axMapControl1.Object as IMapControl3; mapControl3 = axMapControl1.GetOcx() as IMapControl3;

003第三讲 MapControl与PageLayoutControl同步《ArcGIS Engine+C#实例开发教程》

003第三讲 MapControl与PageLayoutControl同步《ArcGIS Engine+C#实例开发教程》

throw
new
Exception("ControlsSynchronizer::ActivatePageLayout:\r\nEither
MapControl
or
PageLayoutControl are not initialized!");
ቤተ መጻሕፍቲ ባይዱ
//缓存当前 MapControl 的 CurrentTool if (m_mapControl.CurrentTool != null) m_mapActiveTool = m_mapControl.CurrentTool;
try {
if (m_pageLayoutControl == null || m_mapControl == null) throw new Exception("ControlsSynchronizer::ActivateMap:\r\nEither
MapControl or PageLayoutControl are not initialized!");
get { return m_pageLayoutControl; } set { m_pageLayoutControl = value; } }
/// <summary> /// 取得当前 ActiveView 的类型 /// </summary> public string ActiveViewType {
get {
if (m_mapControl == null || m_pageLayoutControl == null) throw new Exception("ControlsSynchronizer::ActiveControl:\r\nEither

ArcGIS.Engine.Demo.MapViewer

ArcGIS.Engine.Demo.MapViewer

ArcGIS Engine Demo: MapViewer载入Engine控件1、新建Engine项目:MapViewer;2、在Toolbox中添加如下控件:AxLicenseControl、AxMapControl、AxPageLayoutControl、AxTOCControl、AxToolbarControl;3、添加GIS参考:ESRI.ArcGIS.ADF、ESRI.ArcGIS.Carto、ESRI.ArcGIS.Display、ESRI.ArcGIS.Geometry、ESRI.ArcGIS.Output、ESRI.ArcGIS.System和ESRI.ArcGIS.SystemUI;将Engine控件放置到应用程序容器中4、重命名Form1,更名为MapViewer;5、以Design模式打开MapViewer窗体,双击Toolbox中的Menus & Toolbars栏目下的MenuStrip控件;6、双击LicenseControl,并添加MapControl、PageLayoutControl、TOCControl和ToolbarControl;7、调整MapViewer窗体大小,如下图所示:双击MapViewer窗体,导入GIS参考:Imports ESRI.ArcGIS.CartoImports ESRI.ArcGIS.ControlsImports ESRI.ArcGIS.DisplayImports ESRI.ArcGIS.GeometryImports ESRI.ArcGIS.SystemUIImports ESRI.ArcGIS.esriSystem初始化LicenseControl控件8、右击LicenseControl,选择ActiveX-Properties,打开LicenseControl属性页;9、选择产品许可级别,此处选择ArcGIS Engine;载入地图到PageLayoutControl和MapControl控件中10、选择Form_Load事件,输入以下代码:Private Sub MapViewer_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load 'Load a pre-authored map document into the PageLayoutControl using realative paths.Dim sFileName As String = "D:\arcgis\ArcTutor\ArcReader and Publisher\Gulf of St. Lawrence.mxd"If AxPageLayoutControl1.CheckMxFile(sFileName) ThenAxPageLayoutControl1.LoadMxFile(sFileName)End IfEnd Sub11、以Design模式显示MapViewer窗体,从属性窗口中选择axPageLayoutControl1控件,显示PageLayoutControl events,双击OnPageLayoutReplaced event,在代码窗口中添加一个event handler:Private Sub AxPageLayoutControl1_OnPageLayoutReplaced(ByVal sender As System.Object, ByVal e AsESRI.ArcGIS.Controls.IPageLayoutControlEvents_OnPageLayoutReplacedEvent) HandlesAxPageLayoutControl1.OnPageLayoutReplaced'Load the same pre-authored map document into the MapControl.AxMapControl1.LoadMxFile(AxPageLayoutControl1.DocumentFilename)'Set the extent of the MapControl to the full extent of the data.AxMapControl1.Extent = AxMapControl1.FullExtentEnd Sub设置TOCControl和ToolbarControl控件的buddy controls属性12、在Form_Load event中,输入以下代码:Private Sub MapViewer_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load 'Set buddy controls.AxTOCControl1.SetBuddyControl(AxPageLayoutControl1)AxToolbarControl1.SetBuddyControl(AxPageLayoutControl1)'Load a pre-authored map document into the PageLayoutControl using realative paths.End Sub13、Build and run the application!调整窗体大小14、以Design模式显示窗体,在属性窗口下选择axPageLayoutControl1,选择Anchor属性,使PageLayoutControl属性值为“top, left, bottom, and right of the form”:15、重复如上操作,改变MapControl控件的Anchor属性;16、选择MapViewer窗体,双击ResizeBegin event,添加代码:Private Sub MapViewer_ResizeBegin(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.ResizeBegin'Suppress data redraw and draw bitmap instead.AxMapControl1.SuppressResizeDrawing(True, 0)AxPageLayoutControl1.SuppressResizeDrawing(True, 0)End Sub17、选择MapViewer窗体,双击ResizeEnd event,添加代码:Private Sub MapViewer_ResizeEnd(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.ResizeEnd'Stop bitmap draw and draw data.AxMapControl1.SuppressResizeDrawing(False, 0)AxPageLayoutControl1.SuppressResizeDrawing(False, 0)End Sub18、Build and run the application! Resize!在工具栏中添加命令19、在Form_Load event中添加如下代码,放置在buddy control之前:Private Sub MapViewer_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load 'Add generic commands.AxToolbarControl1.AddItem("esriControls.ControlsOpenDocCommand", -1, -1, False, 0, esriCommandStyles.esriCommandStyleIconOnly)AxToolbarControl1.AddItem("esriControls.ControlsAddDataCommand", -1, -1, False, 0, esriCommandStyles.esriCommandStyleIconOnly)'Add page layout navigation commands.AxToolbarControl1.AddItem("esriControls.ControlsPageZoomInTool", -1, -1, True, 0,esriCommandStyles.esriCommandStyleIconOnly)AxToolbarControl1.AddItem("esriControls.ControlsPageZoomOutTool", -1, -1, False, 0, esriCommandStyles.esriCommandStyleIconOnly)AxToolbarControl1.AddItem("esriControls.ControlsPagePanTool", -1, -1, False, 0,esriCommandStyles.esriCommandStyleIconOnly)AxToolbarControl1.AddItem("esriControls.ControlsPageZoomWholePageCommand", -1, -1, False, 0, esriCommandStyles.esriCommandStyleIconOnly)'Add map navigation commands.AxToolbarControl1.AddItem("esriControls.ControlsMapZoomInTool", -1, -1, True, 0,esriCommandStyles.esriCommandStyleIconOnly)AxToolbarControl1.AddItem("esriControls.ControlsMapZoomOutTool", -1, -1, False, 0, esriCommandStyles.esriCommandStyleIconOnly)AxToolbarControl1.AddItem("esriControls.ControlsMapPanTool", -1, -1, False, 0,esriCommandStyles.esriCommandStyleIconOnly)AxToolbarControl1.AddItem("esriControls.ControlsMapFullExtentCommand", -1, -1, False, 0, esriCommandStyles.esriCommandStyleIconOnly)AxToolbarControl1.AddItem("esriControls.ControlsMapZoomToLastExtentBackCommand", -1, -1, False, 0, esriCommandStyles.esriCommandStyleIconOnly)AxToolbarControl1.AddItem("esriControls.ControlsMapZoomToLastExtentForwardCommand", -1, -1, False, 0, esriCommandStyles.esriCommandStyleIconOnly)'Add map inquiry commands.AxToolbarControl1.AddItem("esriControls.ControlsMapIdentifyTool", -1, -1, True, 0, esriCommandStyles.esriCommandStyleIconOnly)AxToolbarControl1.AddItem("esriControls.ControlsMapFindCommand", -1, -1, False, 0, esriCommandStyles.esriCommandStyleIconOnly)AxToolbarControl1.AddItem("esriControls.ControlsMapMeasureTool", -1, -1, False, 0, esriCommandStyles.esriCommandStyleIconOnly)'Set buddy controls.End Sub20、Build and run the application!给PageLayoutControl控件添加pop-up菜单21、添加成员变量:Public Class MapViewer'The pop-up menu.Private m_pToolbarMenu As IToolbarMenuEnd Class22、在Form_Load event中,添加如下代码,放置在工具栏命令之后,buddy control之前:Private Sub MapViewer_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load 'Add map inquiry commands.'Create a new ToolbarMenu.m_pToolbarMenu = New ToolbarMenuClass()'Share the ToolbarControl's command pool.m_mandPool = mandPool'Set the hook to the PageLayoutControlm_pToolbarMenu.SetHook(AxPageLayoutControl1)'Add commands to the ToolbarMenu.m_pToolbarMenu.AddItem("esriControls.ControlsPageZoomInFixedCommand", -1, -1, False, esriCommandStyles.esriCommandStyleIconAndText)m_pToolbarMenu.AddItem("esriControls.ControlsPageZoomOutFixedCommand", -1, -1, False, esriCommandStyles.esriCommandStyleIconAndText)m_pToolbarMenu.AddItem("esriControls.ControlsPageZoomWholePageCommand", -1, -1, False, esriCommandStyles.esriCommandStyleIconAndText)m_pToolbarMenu.AddItem("esriControls.ControlsPageZoomPageToLastExtentBackCommand", -1, -1, True, esriCommandStyles.esriCommandStyleIconAndText)m_pToolbarMenu.AddItem("esriControls.ControlsPageZoomPageToLastExtentForwardCommand", -1, -1, False, esriCommandStyles.esriCommandStyleIconAndText)'Set buddy controls.End Sub23、以Design模式打开MapViewer窗体,在属性窗口中选择axPageLayoutControl1控件,显示events,双击OnMouseDown event,添加如下代码:Private Sub AxPageLayoutControl1_OnMouseDown(ByVal sender As System.Object, ByVal e AsESRI.ArcGIS.Controls.IPageLayoutControlEvents_OnMouseDownEvent) HandlesAxPageLayoutControl1.OnMouseDown'Pop-up the ToolbarMenu.If e.button = 2 Thenm_pToolbarMenu.PopupMenu(e.x, e.y, AxPageLayoutControl1.hWnd)End IfEnd Sub24、Build and run the application!添加工具集25、在Form_Load event中,添加如下代码:Private Sub MapViewer_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load'Add map inquiry commands'Create a new ToolbarPalette.Dim pToolbarPalette As IToolbarPalette = New ToolbarPaletteClass()'Add commands and tools to the ToolbarPalette.pToolbarPalette.AddItem("esriControls.ControlsNewMarkerTool", -1, -1)pToolbarPalette.AddItem("esriControls.ControlsNewLineTool", -1, -1)pToolbarPalette.AddItem("esriControls.ControlsNewCircleTool", -1, -1)pToolbarPalette.AddItem("esriControls.ControlsNewEllipseTool", -1, -1)pToolbarPalette.AddItem("esriControls.ControlsNewRectangleTool", -1, -1)pToolbarPalette.AddItem("esriControls.ControlsNewPolygonTool", -1, -1)'Add the ToolbarPalette to the ToolbarControl.AxToolbarControl1.AddItem(pToolbarPalette, 0, -1, False, 0,esriCommandStyles.esriCommandStyleIconOnly)'Add commands to the ToolbarMenu.End Sub26、Build and run the application!管理TOCControl中的标注编辑功能27、在Form_Load的开头添加如下代码:Private Sub MapViewer_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load 'Set label editing to manual.belEdit = esriTOCControlEdit.esriTOCControlManualEnd Sub28、以Design模式打开MapViewer窗体,在属性窗口中选择axTOCControl1控件,显示TOCControl events,双击OnEndLabelEdit event,添加代码:Private Sub AxTOCControl1_OnEndLabelEdit(ByVal sender As System.Object, ByVal e AsESRI.ArcGIS.Controls.ITOCControlEvents_OnEndLabelEditEvent) Handles AxTOCControl1.OnEndLabelEdit'If the new label is an empty string, prevent the edit.If e.newLabel.Trim = "" Then e.canEdit = FalseEnd Sub29、Build and run the application!在MapControl中绘图30、添加成员变量:Public Class MapViewer'The envelope drawn on the MapControl.Private m_pEnvelope As IEnvelope'The symbol used to draw the envelope on the MapControl.Private m_pFillSymbol As ISimpleFillSymbol'The PageLayoutControl's focus map events.Private m_pTransformEvents As ITransformEvents_EventPrivate visBoundsUpdatedE As ITransformEvents_VisibleBoundsUpdatedEventHandlerEnd Class31、添加一个新的方法:CreateOverviewSymbol,用来创建MapControl中的符号,用来表现PageLayoutControl 控件中对应的地图显示范围:Private Sub CreateOverviewSymbol()'Get the IRGBColor interface.Dim pColor As IRgbColorpColor = New RgbColorClass'Set the color properties.pColor.RGB = RGB(255, 0, 0)'Get the ILine symbol interface.Dim pOutline As ILineSymbolpOutline = New SimpleLineSymbolClass'Set the line symbol properties.pOutline.Width = 1.5pOutline.Color = pColor'Get the ISimpleFillSymbol interface.m_pFillSymbol = New SimpleFillSymbolClass'Set the fill symbol properties.m_pFillSymbol.Outline = pOutlinem_pFillSymbol.Style = esriSimpleFillStyle.esriSFSHollowEnd Sub32、在Form_Load event开头添加代码,调出CreateOverviewSymbol方法:Private Sub MapViewer_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load 'Create the symbol used on the MapControl.CreateOverviewSymbol()End Sub33、添加OnVisibleBoundsUpdated方法,当地图范围发生改变时,该方法对应的事件也随之变化,用来设置新的地图范围。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
IMapSurround pMapSurround = pMapSurroundFrame.MapSurround;
IScaleBar pScaleBar = pMapSurround as IScaleBar;
IEnvelope pEnv = axPageLayoutControl.TrackRectangle();
IMap pMap;
public CPageLayoutInsert(AxPageLayoutControl axMPLC,IMap pM_Map)
{
axPageLayoutControl = axMPLC;
pMap = pM_Map;
pLegend.AutoReorder = true;
pLegend.AutoVisibility = true;
pLegend.Title = "图例";
IEnvelope pEnv = axPageLayoutControl.TrackRectangle();
UID uidArrow = new UIDClass();
uidArrow.Value = "{7A3F91DD-B9E3-11d1-8756-0000F8751720}";
IMapSurroundFrame pMapSurroundFrame = pMapFrame.CreateSurroundFrame(uidArrow, null);
{
IMapFrame pMapFrame = axPageLayoutControl.GraphicsContainer.FindFrame(axPageLayoutControl.ActiveView.FocusMap) as IMapFrame;
UID uidScale = new UIDClass();
IMapSurround pMapSurround = pMapSurroundFrame.MapSurround;
ILegend pLegend = pMapSurround as ILegend;
pLegend.AutoAdd = true;
axPageLayoutControl.ActiveView.PartialRefresh(esriViewDrawPhase.esriViewGraphics, null, null);
}
private void newpatch()
IElement pEle_Legend = pMapSurroundFrame as IElement;
pEle_Legend.Geometry = pEnv;
axPageLayoutControl.GraphicsContainer.AddElement(pEle_Legend, 0);
axPageLayoutControl.GraphicsContainer.AddElement(pEle, 0);
axPageLayoutControl.Refresh();
}
public void PageLayoutMouseDown_DrawLegend(object sender, IPageLayoutControlEvents_OnMouseDownEvent e)
uidLegend.Value = "{7A3F91E4-B9E3-11d1-8756-0000F8751720}";
IMapSurroundFrame pMapSurroundFrame = pMapFrame.CreateSurroundFrame(uidLegend, null);
pPatch.Geometry = pEnv as IGeometry;
pLegendFormat.DefaultAreaPatch = pPatch as IAreaPatch;
pLegend.Refresh();
pActiveView.PartialRefresh(esriViewDrawPhase.esriViewGraphics, null, null);
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using ESRI.ArcGIS.Controls;
using ESRI.ArcGIS.Display;
using ESRI.ArcGIS.Geometry;
IActiveView pActiveView = pPagelayout as IActiveView;
ILegend pLegend = pMap.get_MapSurround(0) as ILegend;
ILegendItem pLegendItem = pLegend.get_Item(0);
IElement pEle_ScaleBar = pMapSurroundFrame as IElement;
pEle_ScaleBar.Geometry = pEnv;
axPageLayoutControl.GraphicsContainer.AddElement(pEle_ScaleBar, 0);
pMNorthArrow.MarkerSymbol = pCMS;
IElement pEle = pMapSurroundFrame as IElement;
pEle.Geometry = pEnv;
pCMS.Font = pFont;
pCMS.CharacterIndex =173;
IEnvelope pEnv = axPageLayoutControl.TrackRectangle();
IMapFrame pMapFrame = axPageLayoutControl.GraphicsContainer.FindFrame(axPageLayoutControl.ActiveView.FocusMap) as IMapFrame;
axPageLayoutControl.ActiveView.PartialRefresh(esriViewDrawPhase.esriViewGraphics, null,outMouseDown_DrawScale(object sender, IPageLayoutControlEvents_OnMouseDownEvent e)
ICharacterMarkerSymbol pCMS = new CharacterMarkerSymbolClass();
IFontDisp pFont = new StdFontClass() as IFontDisp;
= "ESRI North";
}
}
}
}
public void PageLayoutMouseDown_DrawNorthArrow(object sender, IPageLayoutControlEvents_OnMouseDownEvent e)
{
IArrowMarkerSymbol pAMSymbol = new ArrowMarkerSymbolClass();
uidScale.Value = "{6589F140-F7F7-11d2-B872-00600802E603}";
IMapSurroundFrame pMapSurroundFrame = pMapFrame.CreateSurroundFrame(uidScale, null);
IMapSurround pMapSurround = pMapSurroundFrame.MapSurround;
IMarkerNorthArrow pMNorthArrow = pMapSurround as IMarkerNorthArrow;
ILegendFormat pLegendFormat = pLegend.Format;
IPatch pPatch = new AreaPatchClass();
IEnvelope pEnv = new EnvelopeClass();
using ESRI.ArcGIS.Carto;
using ESRI.ArcGIS.esriSystem;
using stdole;
namespace GIS1.Class
{
class CPageLayoutInsert
{
AxPageLayoutControl axPageLayoutControl;
{
IMapFrame pMapFrame = axPageLayoutControl.GraphicsContainer.FindFrame(axPageLayoutControl.ActiveView.FocusMap) as IMapFrame;
UID uidLegend = new UIDClass();
{
IPageLayout pPagelayout = axPageLayoutControl.PageLayout;
IGraphicsContainer pGraphicsContainer = pPagelayout as IGraphicsContainer;
相关文档
最新文档