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

合集下载

ArcGIS常用功能和操作PPT课件

ArcGIS常用功能和操作PPT课件

30
熟悉ArcMap——属性表管理
查找替换 通过属性选择 清除选择 切换选择 全选 增加字段 打开字段 显示字段别名 缺省列宽
31
熟悉ArcMap——属性表管理
字段上右击:
升序 降序 高级排序 合计生成新表 统计 字段计算器 计算面积、长度、坐标 不显示字段 冻结/取消冻结列 删除字段 属性
32
导入txt文档,设置十进制分隔符(填写与 txt文档中坐标格式一样的数据即可)、导 出路径和坐标系,确定即可。
45
根据坐标生成图形
数据格式: 1、 Polyline后面不能有空格;(如果 要生成面,将Polyline改成Polygon ) 2、数据间的空格间隔只能是一个字符; 3、生成线的每一点要按顺序排列,按 不同顺序排列会生成不同的图像; 4、第一个点的序号从0开始编号; 5、若要生成多条线,对每条线要编号; 且要符合上述的要求,每条线的点重 新从0开始编号; 6、最后一行要加上END。
Personal Geodatabase:使用微软的Access数据库存储属性 表,存储小数据量的数据,数据库存储量最大为2GB。 (*.mdb)。
12
熟悉ArcGIS
坐标系统
投影坐标系统(平面) 地理坐标系统(球面)
13
熟悉ArcCatalog
➢ArcCatalog:是ArcGIS Desktop中最常 用的应用程序之一,它是地理数据的资源管 理器,用户通过ArcCatalog来组织、管理 和创建GIS数据。比如地图,数据集,模型, 元数据,服务等。
20
熟悉ArcCatalog——管理数据源
数据库 数据集
点 线
图层

21
熟悉ArcCatalog——导入数据

ArcGISEngine开发之地图显示和专题图制作分析

ArcGISEngine开发之地图显示和专题图制作分析

Color对象是一个抽象类,有5个颜色子类
Байду номын сангаас
CMYKColor、RGBColor、HSVColor、HLSColor、GrayColor
1.2 ColorRamp对象

ColorRamp类是一个抽象类,它包括4个子类分别是: RandomColorRamp(随机颜色带) PresetColorRamp(预设颜色带) AlgorithmicColorRamp(起止颜色带)

SimpleMarkerSymbol 简单类型的点状符号 五种类型:Square、Cross、Circle、X、Diamond

ArrowMarkerSymbol 箭头形式的符号


Length属性:箭头的顶点到底边的距离
Width属性:箭头底边的宽度 Style属性:箭头符号样式,esriAMSPlain
平排列方式、垂直排列方式和文本等内容。
2.5 3DChartSymbol对象


3DChartSymbol是一个抽象类,它拥有三个子类:
BarChart PieChart StackedChart 它本质上是一种Marker符号,一般用于ChartRenderer对象的着色,
而且这个着色方法常常是基于多个属性的。

StackedChartSymbol符号使用的柱是堆垒而成的。
3 使用ServerStyle

ArcGIS Desktop中的Style符号库文件,在ArcGIS Engine开发中
对应的是ServerStyle符号库,其体系如下图所示:

用于获取ServerStyle符号库中的符号主要涉及到以下接口如表所示:

ArcEngine开发教程:第3章地图操作基本功能 (1)

ArcEngine开发教程:第3章地图操作基本功能 (1)

3.数据加载
• 3)加载栅格数据
• 栅格数据是GIS的数据源之一,主要有卫星影像、航空影像、扫描的地图、 照片等。常见的栅格数据格式有*.bmp、*.tif和*.jpg等,这几种栅格数据 的工作空间是其所在的文件夹。添加栅格数据主要用到IRasterPyramid3、 IRasterLayer等接口。
• IMapDocument接口定义了操作和管理地图文档对象的方法和属性。使用 这个对象可以获取、更新一个文档的内容,设置文档文件的属性以及读、 写和保存一个文档文件等。IMapDocument接口同时扮演着数据显示和数 据容器的双重身份,可以通过ActiveView获得Map数据视图,通过 FocusMap属性获得当前正在使用的Map对象的数据容器身份。一个文档 对象可能拥有多个Map对象(相当于ArcGIS中的数据框Data Frame),但 是在同一时刻内只能有一份Map处于使用状态。
2. MapControl控件接口
• 1)IMapControlDefault接口
• IMapControlDefault接口是MapControl控件的缺省接口,是代表当前版本的最新接口,开发环境自动使用这个接口定 义的属性和方法。
• 2)IMapControl2接口
• IMapControl2接口提供了一系列的属性和方法,如设置MapControl控件的显示属性、控件外观、添加和管理数据图层 和地图文档、在控件上绘制图形和返回几何对象等。
核心代码
3.数据加载
• 通过MapControl的AddShapeFile方法加载ShapeFile文件
• 用MapControl控件的AddShapeFile方法同样可加载ShapeFile文件,这样省 去了建立工作空间、数据集等步骤。调用该方法需要传入两个参数,分 别是文件路径和不带扩展名的文件名,调用方法如下: • mainMapControl.AddShapeFile(string Path,string fileName);

第八章 ArcEngine的基本知识

第八章 ArcEngine的基本知识

4.ArcEngine类库
4.ArcEngine类库
1. System类库: System类库是ArcGIS体系结构中最底层的
类库.System类库包含给构成ArcGIS的其他类库提供服务 的组件.System类库中定义了大量开发者可以实现的接口. AoInitializer对象就是在System类库中定义的,所有的开发 者必须使用这个对象来初始化ArcEngine和解除ArcEngine 的初始化.开发者不能扩展这个类库,但可以通过实现这 个类库中包含的接口来扩展ArcGIS系统.
用专题方法为要素着色 动态显示实时或时间序列数据 通过地理编码地址或街道交叉口在地图上查找位置 转换地图数据的坐标系统 在要素几何形状上执行几何操作以创建缓冲区,计 算差异,发现交叉,合并或反交叉 处理要素形状或反旋转地图 创建和更新地理要素及其属性
2.3 ArcEngine功能
编辑要素:使用ArcEngine开发工具包建立能在地理数据库
2.3 ArcEngine功能
显示具有多个图层 地图漫游和缩放 识别地图上的要素 搜索和查找地图上的要素 显示字段值的文本标注 绘制航空相片或卫星影像 绘制描述性文本 用线,框,区域,多边形和圆选择要素 选择与某些要素的距离在一定范围内的要素 用SQL表达式查找和选择要素
2.3 ArcEngine功能
4.ArcEngine类库
3. Geometry类库:该类库处理存储在要素类中的要素几何
图形或形状或其他图形元素.大多数用户会遇到的基本几 何图形对象为Point,MultiPoint,Polyline和Polygon.除 了这些顶级实体外,就是作为多义线和多边形的组成部分 的几何图形,是组成几何图形的子要素,它们是Segment, Path和Ring. GIS中的实体指的是现实世界中的要素.现实世界中要素的 位置由一个带有空间参考的几何图形来定义.空间参考对 象,包括投影坐标和地理坐标系统,都包含在Geometry类 库中.开发者可以通过添加新的空间参考和投影来扩展空 间参考系统.

牟乃夏ArcEngine教程-第3章_地图操作基本功能

牟乃夏ArcEngine教程-第3章_地图操作基本功能

1. 空间数据与工作空间
• 工作空间
• 数据加载需要先打开相对应的工作空间。 • IWorkspace接口:IWorkspace接口定义了访问工作空间各种属性的方法,如工作 空间的连接属性等。通过IWorkspace接口可实例化现有数据集和创建新数据集。 由于WorkSpace是一个普通类,要获得WorkSpace,需要通过工作空间工厂 (WorkspaceFactory)来创建。 • IWorkspaceFactory接口:IWorkspaceFactory接口定义了创建、打开工作空间的方 法和对工作空间工厂信息成员的访问。用户可通过工作空间工厂管理不同类型 的工作空间,所有的工作空间对象都可通过此接口产生。 • IWorkspaceFactory接口的Create方法可产生一个新的工作空间对象,不同类型的 WorkspaceFactory对象,其Create方法产生的工作空间对象是不同的。 • IWorkspaceShapefileFactory接口的Open方法和OpenFromFile方法可以用于打开一 个已经存在的工作空间,Open方法用于打开一个SDE数据库,OpenFromFile方法 用于打开一个文件类型的数据,如*据与工作空间
• 1.空间数据
• 在GIS软件中,空间数据有多种不同的存在形式。按照不同的划分标准可 以分为矢量数据和栅格数据、GIS格式的地理数据与非GIS格式的数据 (如CAD格式等)、空间数据库数据(如个人数据库、ArcSDE数据库等) 和文件数据(ShapeFile格式、Coverage格式)等。
核心代码
3.数据加载
• 使用ControlsOpenDocCommandClass加载地图 • 使用ArcGIS Engine中封装好的类库资源 ControlsOpenDocCommandClass实现地图文档的加载的核心代码如 下:

第3章 地图组成与图层控制

第3章 地图组成与图层控制

河南水利与环境职业技术学院
@谢灿软件
图形元素对象GraphicElement
河南水利与环境职业技术学院
@谢灿软件
屏幕显示对象ScreenDisplay
MapControl中的每个视图都有一个ScreenDisplay对象,用于控制视图中 的阁形绘制。ScreenDisplay是一个与窗体相联系的显示设备,除了管理 窗体屏幕的显示属性外,也管理缓存和视图屏幕的变化等。很多对象 都是由ScreenDisplay去管理与它们相关的可视化窗体。通过IActiveView 接口的ScreenDisplay属性,获取ScreenDisplay对象。 ScrecnDisplay对象都拥有DisplayTransformation对象,用于设备单位和地 图单位的转换。 ScreenDisplay 实现了 IDisplay 接口,可以通过该接口的 DisplayTransformation 属性获取该对象。每个 DisplayTransformation 都与 一个Map相关.它拥有地图的空间参考属性。 实例:像素与地图单位转换
实例:地图文档操作、添加书签、图形选择要素
河南水利与环境职业技术学院
@谢灿软件
图层对象Layer
Map 对象用来装载地理数据,这些数据是以图层的形式放入地图对 象的。Layer作为装载的单位,当第1个图层装载进Map对象时,Map 对象会自动设置空间坐标系为当前图层的空间坐标系,以后再装载 的图层都将使用 Map对象已经设置的空间参考。Layer对象本身没有 装载数据,其作用是获得数据的引用,用于管理数据源的连接,数 据始终在GeoDatabase 或地图文件中。 图层对象是一个抽象对象,它定义了所有图层的公共方法和属性, 它拥有很多子类,如FeatureLayer、RasterLayer、CadLayer、TinLayer 等。图层相当于要素的载体,当用ArcMap将要素类打开后就成为了 图层。 FeatureLayer用于承载要素数据,如点、线、面等,也是我们重点研 究的对象。

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控件编程详解

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课件讲述

3、ArcGIS 与 ArcObjects
ArcGIS是构建在ArcObjects组 件库之上。
ESRI 使用 ArcObjects来开发软
件和应用程序。 开发者使用ArcObjects去客户化
软件与创建自己的应用程序。 ArcObjects 是 ArcGIS 的核心。
目录
1 ArcGIS体系结构 2 ArcGIS Engine是什么 3 ArcGIS Engine的主要功能 4 ArcGIS Engine类库 5 ArcGIS Engine控件 6 接口的概念 7 对象模型图的阅读 8 什么是地理数据库 9 ArcGIS Engine开发环境与流程
ArcGIS Engine类库:4、Display
❖ 用于控制地图显示。 ❖ 包含用于显示GIS数据的对象。 ❖ 包含符号、颜色等用来控制显示的对象。 ❖ 包含交互操作时提供给用户显示回馈的对象,如
MoveEnvelopeFeedback。
ArcGIS Engine类库:5、Server
❖ 用来连接并操作ArcGIS Server。 ❖ 访问ArcGIS Server的ServerObjectsManager对
Engine Developer Kit
.NET C++ VB Java
ArcObjects
Server Developer Kit
Java ADF
.NET ADF
C++
Customization
JavaScript
XML
HTML/DHTML .NET
Services
JSP ActiveX (ASP) Java ColdFusion
目录
1 ArcGIS体系结构 2 ArcGIS Engine是什么 3 ArcGIS Engine的主要功能 4 ArcGIS Engine类库 5 ArcGIS Engine控件 6 接口的概念 7 对象模型图的阅读 8 什么是地理数据库 9 ArcGIS Engine开发环境与流程

ArcGIS Engine开发第四章 地图显示

ArcGIS Engine开发第四章 地图显示
Байду номын сангаас
通过AddShapeFile方法加载图层的代码演示
Private Sub Form_Load() MapControl1.AddShapeFile "d:\data\world\", "country.shp" MapControl1.AddShapeFile "d:\data\world\", "rivers.shp" MapControl1.AddShapeFile "d:\data\world\", "cities.shp" End Sub
移动图层
通过MapControl类的MoveLayerTo方法可以实现图层的移 动
MoveLayerTo方法的具体用法:
object.MoveLayerTo (fromIndex, toIndex ) 其中: fromIndex :表示要进行移动操作的图层的索引 toIndex :表示移动操作后图层的新索引
newMapExtentYmax = .YMin - (pRectangle.YMin - .YMin) * zoomInHei ghtFactor + newMapExtentHeight
pEnvelope.PutCoords newMapExtentXmin, newMapExtentYmin, ne wMapExtentXmax, newMapExtentYmax
4.1.1 使用属性向MapControl中添加图层
(1)加载ArcGIS Engine控件
打开Visual Basic,新建一个工程,在【工程】菜单中选中 【部件】菜单,在对话框中选中“ESRI Controls”复选框,点 击“确定”按钮完成ArcGIS Engine控件的加载

ArcGis地图逻辑架构图

ArcGis地图逻辑架构图
Web GIS(地图展示)
农田环境专题数据 控制专题数据 显示或不显示 查询与定位 叠加显示各种分辨率 遥感影像源自农田环境信息统计分析
ArcGIS Server(地图服务接口)
JavaScript模板接口 创建地图接口 调用工具栏接口
创建标注接口
切换视图接口
创建多图层接口
ArcGIS地图基础数据
农田环境地理信息数据库
数据库
资源信息包括历史气象信息(年平均降水量、月平均降水量 、年平均气温等) 农田环境信息(农田地块、土壤肥力、土壤质地环境等) 资源信息(机井、水源、井房建筑、管道分布)、农田环 境专题数据(如:土壤肥力、土壤重金属含量等) 行政边界 河流 湖泊 水库 道路 地标等完备分层数据
数据库
数据库
数据库

基于ArcGISEngine的专题地图制作

基于ArcGISEngine的专题地图制作

一、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 实现专题图的关键是对图层进行符号化。

符号化功能将图层的内部渲染实现及算法进行了很好的包装,用户制作或显示专题图时只需选择欲进行符号化的图层、渲染方式、渲染色带、渲染字段,并处理好数据源的数据即可。

ARCgis各模块知识

ARCgis各模块知识
(ArcToolbox 在 ArcCatalog、ArcMap、ArcView、ArcEditor、ArcInfo 中用)
-5-
ArcToolbox 具有许多复杂的空间处理功能,包括的工具有: 数据管理 数据转换 Coverage 的处理 矢量分析 地理编码 统计分析
ArcToolbox 应用基础
ArcMap
(ArcMap 可将地图组成页面以便打印和印刷)
-1-
ArcMap 是 ArcGIS Desktop 中制作地图的程序:制图、地图分析和编 辑。
ArcMap 提供两种类型的地图视图:地理数据视图和地图布局视图。 (1)地理数据视图中,对地理图层进行符号化显示、分析和编辑 GIS 数 据集。内容表界面(Table Of Contents)帮助你组织和控制数据框中 GIS 数据图层的显示属性。数据视图是任何一个数据集在选定的一个区域内的地 理显示窗口。
ArcToolbox(GIS 是一套空间处理工具)
3、GIS 是空间数据处理分析工具集:从空间处理的角度看,GIS 是一套 用来从现有的数据集获取新数据集的信息转换工具。这些空间处理功能从已 有数据集提取信息,然后进行分析,最终将结果导入到数据集中。
这三部分是组成一个完整 GIS 的关键内容,并被用于所有 GIS 应用中。
ArcView
提供全面的制图、数据使用及分析、简单的编辑与数据处理功能。 ArcView 具有核心的简单数据的加载、转换,以及基础的分析工具。 ArcView 中的 ArcToolbox 包含的工具超过 80 种。
ArcEditor
-7-
具有 ArcView 的全部功能、此外包含高级的编辑功能、可实现对 Shape 文件和 Geodatabase 地理数据库的编辑。 ArcEditor 增加了少量的 geodatabase 的创建和加载的工具。rcEditor 中的 ArcToolbox 包含的工具 超过 90 种

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 )对象:系统中用来描述客观事物的一个实体,构成系统的一个基本单位。

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

ArcGISEngine中的地图组成及图层控制接口函数全解
14
图层对象 -要素图层 -IFeatureLayer
IFeatureLayer接口的主要属性和方法: ? DataSourceType-返回图层的数据源属性; ? Search-返回一个ICursor的对象。
例:IFeatureLayer接口的Search方法(P87)
15
图层对象 -要素图层 -IFeatureLayer
? 教学重点:各对象、接口及接口的重要属性、方法
? 教学难点:在实际开发中运用各对象进行图层添加与删除 、各种设置等
? 教学课时:6
? 学术前沿:
湖南城市学院 GIS专业
地图对象
? IMap接口 ? IGraphicsContainer 接口 ? IActiveView 接口 ? IActiveViewEvents 接口 ? IMapBookmark 接口 ? ITableCollection 接口
DataSourceType的类型:
16
图层对象 -要素图层 -IGeoFeatureLayer
IGeoFeatureLayer接口继承了ILayer接口和 IFeatureLayer 两个接口,CadFeatureLayer 、 FeatureLayer、GdbRasterCatalogLayer 等3个图层类实 现了该接口。主要属性和方法有: ? SearchDisplayFeature-只显示复合查询要求的要素,
件中的文字可以使用 CadAnnotationLayer 对象 来操作。
下面的代码展示了在 ArcEngine 9.3中如何加载 DWG 文件:
using ESRI.ArcGIS.Geodatabase; using ESRI.ArcGIS.DataSourcesFile; private void AddCadLayers(string strCadPath, string strCadName, AxMapControl pMapControl)

牟乃夏ArcEngine教程-第5章_地图制图详述

牟乃夏ArcEngine教程-第5章_地图制图详述
SimpleMarkerSymbol用与设置简单类型的点符号,该类实现了 ISimpleMarkerSymbol接口。其Style属性用于设置点类型的样 式,它有五种类型,并存储在esriSimpleMarkerStyle变量中, 分别是圆形、矩形、十字形、X型、菱形。
CharacterMarkerSymbol可以将点要素显示为字符,该类实现了 ICharacterMarkerSymbol接口,Font属性设置字体类型, Characterindex属性用于设置或返回要显示的字符。设置显示 的字符由ASCII码决定。
•{

return pRgbColor;
•}
• pRgbColor = new RgbColorClass();
• pRgbColor.Red = intR;
• pRgbColor.Green = intG;
• pRgbColor.Blue = intB;
• return pRgbColor;
•}
下面代码是封装的获取HSV颜色值的方法
• intV < 0 || intV > 100)
•{

return pHsvColor;
•}
• pHsvColor = new HsvColorClass();
• pHsvColor.Hue = intH;
• pHsvColor.Saturation = intS;
• pHsvColor.Value = intV;
用于RGB 颜色模型的一些规则: 如果所有的RGB值相等,则产生的颜色是灰色调的 如果所有的RGB值为0,则产生的颜色为黑色 如果所有的RGB值为255,则产生的颜色为白色
2)CMYK颜色模型

第二讲ArcGISEngine控件详解

第二讲ArcGISEngine控件详解
的每个工具条命令项的外观与其底层命令的Enabled、Bitmap和Caption属性同步。 更新频率由UpdateInterval属性控制, UpdateInterval为0时会停止自动更新, 这时可 以调用Update方法刷新每个工具条命令项的状态。 • 通过设置ToolbarControl的Customize属性可以使ToolbarControl处于定制模式, 开发 人员可以编程启动非模态定制对话框( CustomizeDialog), 定制对话框列出了所有的 控件命令以及任何自定义命令、工具集和菜单, 终端用户则可以打开对话框对 ToolbarControl上的命令添加、删除及改变命令项外观等。 • ToolbarControl维护着一个操作栈, 以便实现命令项的撤销( undo) 和重做( redo) 功 能。
MapControl、TOCC ontro l与Too lbarControl
• MapControl实现了接口ITOCBuddy 和接口IToolbarBuddy。ITOCBuddy 通过方法 GetActiveView( )返回IActiveView, TOCControl 通过方法SetActiveView( )设置 ActiveView, 这样MapControl与TOCControl就达到了交互。例如当从MapControl删 除一个图层时, 该图层也会从TOCControl删除,同样当从TOCControl中取消某个图 层的Visibility复选框时, 该图层在MapControl也不再可视。IToolbarBuddy 用于设 置MapControl的CurrentTool属性,ToolbarControl也维护着一个CurrentTool属性, 当
用于生成一幅成品地图
• 实现了IMxContent接口, 可写入地图文档
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

湖南
一、 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 等。
▪ GroupElement对象实现了IGroupElement接口,该接口 定义了6个属性和方法。
GIS二次开发—使用ArcGIS Engine 9.3
市政与测绘工程学院地理信息系统专业
湖南
一、 Element对象-Graphics Element 城市学院
❖ 4、GroupElement
▪ 例:在PageLayout视图中添加GroupElement
GIS二次开发—使用ArcGIS Engine 9.3
市政与测绘工程学院地理信息系统专业
湖南
一、 Element对象-Graphics Element 城市学院
❖ 3、TextElement
▪ 地图标注存在两种形式: ✓ 一种是保存在地理数据库中的标注; ✓ 另一种是使用TextElement。
▪ TextElement实现了ITextElement接口,ITextElement提 供了三个属性:
IGraphicsContainer pGC = this.axPageLayoutControl1.PageLayout as IGraphicsContainer; IGroupElement pGroupElement; pGroupElement = this.pJtGrid.JtGrids; if (pGroupElement != null) { pGC.AddElement(pGroupElement as IElement,0); }
❖ MapFrame和MapSurroundFrame
▪ Frame Element主要有两个对象:MapFrame(地图框架) 和MapSurroundFrame(地图修饰框架)。
✓ MapFrame对象是Map对象的的容器,用于管理Map对象; ✓ MapSurroundFrame用于管理MapSurround(比例尺、
✓ IGraphicsContainer接口—添加、删除、更新Element; ✓ IElement—确定Element对象的Geometry属性。
GIS二次开发—使用ArcGIS Engine 9.3
市政与测绘工程学院地理信息系统专业
湖南
一、 Element对象-Graphics Element 城市学院
比例文本、指北针等)对象。
▪ MapSurroundFrame对象与MapFrame对象相连,当删除 MapFrame时, MapSurroundFrame也将被删除。
✓ ScaleText—文字尺寸; ✓ Text—字符; ✓ Symbol—文字符号。
GIS二次开发—使用ArcGIS Engine 9.3
市政与测绘工程学院地理信息系统专业
湖南
一、 Element对象-Graphics Element 城市学院
❖ 4、GroupElement
▪ GroupElement对象就是将多个Element对象编为一组, 作为一个整体使用。
GIS二次开发—使用ArcGIS Engine 9.3
市政与测绘工程学院地理信息系统专业
湖南
一、 Element对象-Graphics Element 城市学院
GIS二次开发—使用ArcGIS Engine 9.3
市政与测绘工程学院地理信息系统专业
湖南
一、 Element对象-Frame Element 城市学院
▪ FillShapeElement实现了IFillShapeElement接口,该接 口的Symbol属性,可以设置元素的样式。

GIS二次开发—使用ArcGIS Engine 9.3
市政与测绘工程学院地理信息系统专业
湖南
一、 Element对象-Graphics Element 城市学院
❖ 6、PictureElement
市政与测绘工程学院地理信息系统专业
湖南
一、Element对象
城市学院
GIS二次开发—使用ArcGIS Engine 9.3
市政与测绘工程学院地理信息系统专业
湖南
一、 Element对象
城市学院
❖ 如何理解Element对象?
▪ 在Map对象和PageLayout对象显示的数据除了地理数据 之外,另一种即为元素数据(Element对象)。
▪ Graphics Element都是作为图形的形式而存在,在Map 视图或者PageLayout视图上是可见的;
▪ Frame Element是作为不可见的容器而存在的。
▪ Map对象或者PageLayout对象可以通过IElement接口和 IGraphicsContainer接口来管理Element对象。
相关文档
最新文档