ArcGIS Engine 中的地图组成及图层控制解析
- 格式:ppt
- 大小:3.45 MB
- 文档页数:7
ArcGIS Engine控件编程详解一、主要内容1、在 VB 中使用 ArcGIS Engine 的四个常用控件 MapControl、PageLayoutControl、TOCControl和 ToolBarControl;2、向地图控件中装载地图文档、增加不同类型的图层;3、伙伴控件的设置;4、ToolBarControl的设置;5、VB 窗体大小变化的控制事件 Form_Resize 的设置。
二、学时安排:2 学时三、预习内容回顾 ArcGIS Engine 的四个常用控件 MapControl、PageLayoutControl、TOCControl 和 ToolBarControl 所实现的接口及所包含的属性和方法,了解一些相关的常量。
四、ArcGIS Engine 控件编程1、实验准备1)在 D 盘上建立一文件,命名为 EnginePractice;2)启动 VB,新建一工程,命名为 EngineControl,并将其保存到 EnginePractice中;3)在 Form1 窗体中分别引入 MapControl、PageLayoutControl、TOCControl、两个 ToolBarControl、一个 TabStrip 控件及一个 CommonDialog 控件。
ØTabStrip 控件的引入如下图:Ø CommonDialog控件的引入如下图:4)将控件布局到窗体 Form1 上,并添加菜单,如下图:5)菜单的添加—选择[Tools]菜单项选择[Menu Editor… Ctrl+E]如下图:Ø编辑[File]菜单各子菜单分别命名为:LoadMenu、SaveMenu、SaveAsMenu 、AddNewLayerMenu 、AddShapeMenu 、AddLayerMenuØ编辑[Edit]菜单各子菜单分别命名为:LabelEditMenu 、AutomaticMenu、ManualMenuØ编辑[Tool]菜单各子菜单分别命名为:SelectFeaturemenu 、ClearSelectMen2、ArcGIS Engine 许可初始化1)按照实验三的方式引入类库:ESRI System Object Library、ESRI SystemUI Object Library 等,如下图:2)定义初始化对象Option ExplicitPrivate m_pAoInitialize As IAoInitialize3)在 Form_Load 事件中添加许可初始化代码:Set m_pAoInitialize = New AoInitializeIf m_pAoInitialize Is Nothing ThenMsgBox "Unable to initialize. This application cannot run!"Unload LabelEditExit SubEnd If'Determine if the product is availableIf m_pAoInitialize.IsProductCodeAvailable(esriLicenseProductCodeEngine) = esriLicenseAvailable ThenIf m_pAoInitialize.Initialize(esriLicenseProductCodeEngine) <> esriLicenseCheckedOut ThenMsgBox "The initialization failed. This application cannot run!"Unload LabelEditExit SubEnd IfElseMsgBox "The ArcGIS Engine product is unavailable. This application cannot run!"Unload LabelEditExit SubEnd If3、ToolBarControl 设置1)ToolBarControl1的设置使用属性对话框进行设置,单击[Add…]命令按钮进行添加,找到作用于 MapControl 控件的对象,Item 选项为:1-esri3D,如图:2)ToolBarControl2的设置使用属性对话框进行设置,单击[Add…]命令按钮进行添加,找到作用于 PageLayoutControl控件的对象,Item选项为:1-esri3D,如图:3)将 ToolBarControl1 和将 ToolBarControl2叠置在一起4、TabStrip 容器控件的设置在 Form_Load 事件中添加如下代码:TabStrip1.Tabs(1).Caption = "MapControl"TabStrip1.Tabs.Add 2, , "PageLayoutControl"Set TabStrip1.SelectedItem = TabStrip1.Tabs(1)5、TabStrip1_Click 事件设置用鼠标双击 TabStrip1 控件,将会显示 TabStrip1_Click 事件,在该事件中添加如下代 码(本段代码主要用于伙伴控件的设置):Private Sub TabStrip1_Click()'Toggle control visiblity and set the buddyIf TabStrip1.SelectedItem.index = 1 ThenPageLayoutControl1.Visible = FalseMapControl1.Visible = TrueToolbarControl1.Visible = TrueToolbarControl2.Visible = FalseTOCControl1.SetBuddyControl MapControl1ToolbarControl1.SetBuddyControl MapControl1ElsePageLayoutControl1.Visible = TrueMapControl1.Visible = FalseToolbarControl1.Visible = FalseToolbarControl2.Visible = TrueTOCControl1.SetBuddyControl PageLayoutControl1ToolbarControl2.SetBuddyControl PageLayoutControl1End IfEnd Sub6、MapControl1_OnMapReplaced 事件的设置此段代码是用于控制当 MapControl1 的内容改变时 PageLayoutControl1 的内容也随之 改变。
一、ArcGIS Engine 简介ArcGIS Engine 是ESRI 公司最新GIS 软件ArcGIS 9.0下新增的基于ArcObject 的一个面向开发的新产品。
该产品基于ArcObject 构建,并提供跨平台的C ++组件技术框架用于构建ArcGIS 。
通过ArcGIS Engine,用户可以自由地搭建及配置ArcGIS 解决方案,而不需要在同一机器上安装ArcGIS 的桌面应用环境。
ArcGIS Engine 支持全部标准开发环境,包括.net,组件对象模型(COM ),Java 和C ++以及所有主流操作系统(Windows,Unix,Linus )。
Arc GIS Engine 可以帮助用户实现的功能如图1所示:Arc GIS Engine 提供的专题图有:单值图、颜色渐变分类图、尺寸渐变分类图、点密度图、饼基于ArcGIS Engine 的专题地图制作陈大鹏(黑龙江农业工程职业学院黑龙江哈尔滨150088)摘要:由于用户对专题地图的制作不需要其他复杂的功能,ArcGIS Engine 提供了开发组件。
ArcGISEngine 有着非常丰富的专题地图的制作功能,它改善和优化了地图制图过程,提高了制图效率和现有数据利用率。
使用专题渲染在地图上显示数据时,在数据列表中几乎无法显现的样式和趋势可以清晰地展现在人们面前。
本文就如何应用ArcGISEngine 制作专题地图结合实例进行了介绍。
关键词:专题地图;ArcGISEngine ;渲染作者简介:陈大鹏(1985-),男,黑龙江七台河人,大学本科学历,黑龙江农业工程职业学院教师,助教,从事研究地理信息与测绘技术方向研究。
图1Engine 功能图状图、柱状图、叠加柱状图等。
基于Arc GIS Engine 实现专题图的关键是对图层进行符号化。
符号化功能将图层的内部渲染实现及算法进行了很好的包装,用户制作或显示专题图时只需选择欲进行符号化的图层、渲染方式、渲染色带、渲染字段,并处理好数据源的数据即可。
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 )对象:系统中用来描述客观事物的一个实体,构成系统的一个基本单位。