ArcGIS.docx

上传人:b****7 文档编号:10304893 上传时间:2023-02-10 格式:DOCX 页数:43 大小:51.61KB
下载 相关 举报
ArcGIS.docx_第1页
第1页 / 共43页
ArcGIS.docx_第2页
第2页 / 共43页
ArcGIS.docx_第3页
第3页 / 共43页
ArcGIS.docx_第4页
第4页 / 共43页
ArcGIS.docx_第5页
第5页 / 共43页
点击查看更多>>
下载资源
资源描述

ArcGIS.docx

《ArcGIS.docx》由会员分享,可在线阅读,更多相关《ArcGIS.docx(43页珍藏版)》请在冰豆网上搜索。

ArcGIS.docx

ArcGIS

ArcGISWORD文档使用说明:

ArcGIS来源于PDFWORD

本WOED文件是采用在线转换功能下载而来,因此在排版和显示效果方面可能不能满足您的应用需求。

如果需要查看原版WOED文件,请访问这里

ArcGIS文件原版地址:

ArcGIS|PDF转换成WROD_PDF阅读器下载

ArcGISEngine二次开发实习初级讲义

ArcEngine二次开发实习初级讲义

目录

1ArcGIS、ArcObjects和ArcGISEngine简介....................................................................-3ArcGIS简介................................................................................................................-3ArcObjects简介..........................................................................................................-4ArcGISEngine简介....................................................................................................-52ArcGIS控件介绍....................................................................................................................-7ArcGIS控件简介........................................................................................................-7重要控件简介...............................................................................................................-93ArcGISEngine二次开发入门............................................................................................-16ArcGISEngine开发起步――第一个简单的地图显示程序..................................-16属性查询....................................................................................................................-23空间查询....................................................................................................................-27BaseCommand开发实例..........................................................................................-36BaseTool开发实例....................................................................................................-38通过代码添加图层.....................................................................................................-42基于比例尺显示地图.................................................................................................-44构建一个简单的GIS应用........................................................................................-464.问题解决方法及帮助文档的使用........................................................................................-58使用ArcObjects开发帮助系统...............................................................................-58阅读对象模型图(ObjectModelDiagram).........................................................-62-

-2-

ArcEngine二次开发实习初级讲义

1ArcGIS、ArcObjects和ArcGISEngine简介、

ArcGIS简介

ArcGIS提供了一个可伸缩的框架,可以为独立用户或者多用户,既可以在桌面端也可以在服务器端提供GIS。

ArcGIS9是用来构建一个完整GIS应用的GIS软件产品集成。

它是基于共享的GIS软件组件――ArcObjects。

ArcGIS9由以下四部分组成:

ArcGISDesktop――高级GIS应用的集成ArcGISEngine――根据应用程序接口来构建基本应用的嵌入式GIS组件库ArcGISServer――在企业级或者网络框架下构建服务器端GIS应用的平台,用来构建Web服务和Web应用ArcIMS――通过公开的因特网协议来发布地图、数据和元数据的GISWeb服务器

图1ArcGIS产品结构图每一个GIS框架同样包含ArcSDE网关,这是在关系数据库(RDBMS)上组织地理数据的接口。

ArcGIS是构建地理信息系统的平台。

ArcGIS9在地理数据处理、3D可视化表达和开发工具方面做了新的扩展。

两个新的产品――ArcGISEngine和ArcGISServer在这个版本中发布,是ArcGIS成为一个应用程序及服务端开发的完整产品。

使用ArcGIS能够开发出一系列的产品,开发者可以:

配置/定制ArcGIS的应用,例如ArcMap和ArcCatalog扩展ArcGIS的结构和数据模型利用ArcGISEngine在其他应用程序中嵌入地图和GIS功能

-3-

ArcEngine二次开发实习初级讲义

使用ArcGISEngine构建并部署桌面版应用程序使用ArcGISServer构建Web服务和应用ArcGIS系列产品是通过称之为ArcObjects的软件组件加以构建和扩展的。

ArcObjects包括一系列不同的程序组件,从高度封装的组件(例如独立的geometryobjects)到低级组件(例如能够同已有的ArcMap文档集成的地图组件)这些组件为开发者集成了大量的GIS。

功能。

ArcGIS9的全线产品都具备开发功能(Engine,Server和Desktop)。

作为一个开发者,您能够使用标准程序框架结合ArcObjects来扩张ArcGISDesktop;能够用ArcGISEngine定制应用;能够使用ArcGISServer构建企业级的GIS应用。

图2ArcGIS开发结构图ArcGISDesktop包含了一些列的Windows桌面应用程序(例如,地图、目录、工具箱、地球方面的应用)ArcGISDesktop包含了三种功能级别。

(ArcView,ArcEditor和ArcInfo),使用ArcGISDesktop开发包能够进行客户化和扩展。

ArcGISDesktop的软件开发包(softwaredeveloperkit,SDK)包含在ArcView,ArcEditor和ArcInfo内,支持COM(ComponentObjectsModel,组件对象模型)和.NET程序框架。

许多开发者利用DesktopSDK扩展功能,创建新的GIS工具,定制用户界面,完善ArcGISDesktop应用中专业GIS产品的扩展功能。

ArcGISServer不仅定义和实现了一系列标准的GISWeb服务(例如,地图、数据访问、地理编码等),同时还支持利用ArcObjects进行企业级的服务端应用开发。

ArcGISServer开发包让开发者能构建GIS服务器用来向多用户提供可供访问的GIS功能,能通过客户端对大型GIS中央服务器进行处理,能构建和分发GISWeb应用,能进行分布式GIS运算。

ArcObjects简介

ArcObjects是ArcGISDesktop的开发平台。

-4-

ArcEngine二次开发实习初级讲义

ArcGISDesktop是一系列GIS软件系统:

ArcInfo,ArcEditor和ArcView。

这些系统服务于GIS,例如地理数据组织、控件编辑、分级可视化等功能。

ArcGISDesktop系统包含一系列的应用,例如ArcCatalog、ArcMap、ArcToolBox和ArcScene,并且能够集成大量不同的扩展产品,例如ArcGISSpatialAnalyst(空间分析模块),ArcGISGeostatisticalAnalyst(地理统计分析模块),ArcGIS3DAnalyst(三维分析模块)等。

ArcObjects是使用微软的组件对象模型(ComponentObjectsModel,COM)书写。

因此,凡是支持COM标准的开发语言都能使用ArcObjects。

您能向ESRI(EnvironmentSystemResearchInstitute,环境系统研究所)的开发者一样,使用同样的方式来扩展ArcObjects中的任何一部分。

ArcGISEngine简介

ArcGISEngine是开发者用来构建应用程序的一整套嵌入式GIS组件。

使用ArcGISEngine,您可以将一些GIS功能嵌入到已有的应用程序中,这包括MicrosoftOffice产品,例如Word和Excel,建造有针对性的客户应用程序用来将高级GIS系统与他人分享。

ArcGISEngine由一个软件开发包(softwaredevelopmentkit,SDK)和一个给所有ArcGIS应用提供平台的运行许可(runtime)构成。

构成ArcGISEngine的五部分分别如下:

1)基本服务――几乎任何GIS应用都需要的核心GISArcObjects,例如几何(geometry),显示(display)等。

2)数据访问――ArcGISEngine提供许多栅格和矢量数据的访问方式,包括与geodatabase相当的能力和灵活性。

3)地图表达――ArcObjects使用符号、注记和专题地图来生成和表达地图。

4)开发组件――用来快速定制应用开发程序的高度封装用户接口以及开发过程中全面的帮助系统。

5)运行许可――ArcGISEngine运行许可可以部署标准功能或者加入一些附加的高级功能。

这中间除了运行许可之外的任何一部分,都打包集成到ArcGISEngine开发包(SDK)中。

ArcGISEngine运行许可及其选项,尽管是开发完整的GIS应用程序中的一部分,但包含了应用部署,所以被单独打包。

ArcGISEngineSoftwareDeveloperKitArcGISEngineSDK是用来开发和部署GIS及地图方面应用程序的组件化软件开发产品。

ArcGISEngineSDK不是终端产品而是共应用开发者使用的软件包。

它能构建基本的地图浏览或者全面的、动态的GIS编辑工具。

使用ArcGISEngineSDK,作为开发者,您在定制地图功能接口方面有空前的自由。

您可以使用许多API中的一些来构建独一无二的应用程序或者将ArcGISEngine组建与其他软件组建整合,来实现地图和用户需要的其他信息之间的完美结合。

使用ArcGISEngine,地图既能够作为应用程序的核心,也可以作为一个可选项。

例如,如果您的应用主要是数据库中的商务信息,当您查询数据库的时候,ArcGISEngine能够将您感兴趣的商业信息在地图上高亮显示定位出来。

ArcGISEngineSDK提供了大量的GIS组件,或者称为ArcObjects,按照之前的介绍,包括基本服务、数据访问和地图表达。

之前提到的ArcGISEngine的第四部分,也就是开发组件,也包含在SDK中间。

这些都是用来构建一个高质量地图接口的开发控件。

下面列

-5-

ArcEngine二次开发实习初级讲义

出的ArcGIS控件,或者说可视化控件,用来辅助应用程序开发(下文将针对控件进行更加详细的介绍)。

MapControlPageLayoutControlSceneControlGlobeControlToolbarControlTOCControlReaderControlToolbarControl中所用到的commands(命令)、tools(工具)和menus(菜单)ArcGISEngineRuntimeArcGISEngine的最后一部分是运行许可。

所有用ArcGISEngineSDK构建出的应用程序都需要不同级别的ArcGISEngine运行许可才能够正常运行。

ArcGISEngineRuntime是ArcGISDesktop(ArcGIS桌面版)构建的平台,如果得到ArcGISEngine应用开发许可,ArcGISDesktop的用户就能够执行基本的基于Engine的应用。

ArcGISEngineRuntime从标准功能到企业级功能之间有许多不同的选择。

ArcGISEngine的功能ArcGISEngine的功能十分强大。

作为ArcGISEngine开发者,您可以实现以下列出的和其他更多的功能,这包括:

用多个图层来显示地图,例如道路、水系、边界等地图的漫游和缩放地图上要素的确认地图上要素的查询和定位根据属性值显示注记根据航片或者卫片显示图像绘制几何图形,例如点、线、弧、多边形添加描述性的文字沿着线选择或者选择矩形、某一范围内、多边形等内部的要素选择距离在某一范围内的要素利用SQL语言来寻找和选择要素利用专题地图来渲染要素,如唯一值法、分级法和点状密度法动态显示实时地图或者时序数据根据地理编码来寻找位置转换您地图的坐标系根据几何操作来生成缓冲区、计算差值,或者进行求交、求并等运算编辑要素形状或者旋转地图创建并更新要素的几何形状及其属性编辑要素(EditingFeatures)ArcGISEngine开发包让您构建出能创建、修改和删除geodatabase中矢量要素或者shapefile文件的应用程序。

标准的ArcGISEngineRuntime能够让编辑shapefile文件或者personalgeodatabase中简单要素的程序运行。

然而,要构建企业级geodatabase的全部

-6-

ArcEngine二次开发实习初级讲义

功能,就需要ArcGISEngineRuntime中的GeodatabaseUpdate选项。

空间建模和分析通过增加ArcGISEngineRuntime中的Spatial选项,您能够扩展ArcGISEngine的功能。

这个选项(Spatial选项)能提供一系列强劲的空间建模和分析功能。

您能够创建、查询、表达和分析基于象元的栅格数据,能够集成栅格和矢量数据进行分析,能够从已有数据挖掘出新的信息,能够从多层数据中查询信息,能够在ArcGISEngine应用程序中完美集成基于象元的栅格数据和矢量数据。

例如,您能够:

将要素(如点、线或者面)转化成栅格图基于距离或者要素、栅格间的关系来创建栅格缓冲区根据点状要素生成密度图生成等高线、坡度、可视化区域、方向和山体阴影栅格图的分类及显示兼容TIFF,BIL,IMG,USGSDEM,SDTS,DTED等标准格式及多种其他格式数据三维可视化等ArcGISEngineRuntime中的3D选项让您通过使用Scene和Globe控件来有效的表达和分析区域及全球数据。

您能够从多个不同的视点查看表面;您能够查询表面,决定从某个选中的位置看,哪些要素是可见的;您能够将栅格和矢量数据贴在表面以构建真实的透视影像。

例如,您能够:

显示Scene和Globe文档展示交互性的透视图,包括漫游、缩放、旋转、倾斜、模拟飞行以便于表达和分析显示真实世界的表面要素,例如楼房展示视域和可见范围分析、场景高度内插、剖面分析和最短距离分析

2ArcGIS控件介绍

在ArcGISEngine的二次开发中,ArcGIS控件给我们提供了具体的开发环境和方法。

在ArcGISEngine中共有7个控件,另外在部署过程中还有一个LicenceControl。

下面将首先介绍ArcGIS控件,再详细介绍实习中可能用到的MapControl,TOCControl以及ToolbarControl。

ArcGIS控件简介

ArcGIS的控件是高度集成化的,首先能够让开发者构建和扩展ArcGIS的功能,其次能够提供图形用户界面(graphicaluserinterface,GUI)。

下列展示出的每一个ArcGIS控件都可以被作为ActiveX控件,.NET控件或者可视化的JavaBean:

MapControl――类似于“数据”PageLayoutControl

-7-

ArcEngine二次开发实习初级讲义

ToolbarControlTOCControl(TabletofContentsControl)SceneControlGlobeControlReaderControl使用ArcGIS控件,可以用两种方式来构建应用程序,首先,ArcGIS控件可以被嵌入到已有的应用程序中,将地图相关的功能作为辅助添加进去,或者其次,ArcGIS控件可以用来创建一个独立的应用程序。

不管使用哪种方式,一个独立的ArcGIS控件能够被嵌入到已有程序中或者TOCControl和ToolbarControl能够和其他ArcGIS控件联合使用,提供应用程序的部分框架。

对于所有的ArcGIS控件来说,有一些共同的主题、概念和应用方法等,在有效的使用这些控件来构建应用程序之前,有必要先有一定的理解。

嵌入式控件(嵌入式控件(EmbeddableComponents))每个ArcGIS控件都是一个可嵌入的控件,能被放置到提供可视化编程环境的窗体或者对话框内。

被放置之后,这些ArcGIS控件能够连同别的嵌入式控件(例如命令按钮,下拉列表框等)一样重新定义尺寸和位置以构建应用程序中的用户界面。

属性页(属性页(PropertyPages))当每一个ArcGIS控件被放置到窗体或者对话框中之后,鼠标右键点击控件,从弹出菜单中选择“Properties”(属性),都会分别弹出一系列的属性页。

这些属性页提供了控件的部分属性和方法,并且允许开发者不使用或使用极少的代码来完成应用开发。

ArcObjects每一个ArcGIS控件都封装了一些粗粒度(coarsegrained)的ArcObjects以简化用户的开发工作,但同时也提供了访问高粒度(finergrained)ArcObjects的方法。

例如,PageLayoutControl控件封装了PageLayout对象(PageLayoutObject)。

PageLayout对象包含了至少一个MapFrame元素,其中有一个包含有多层矢量图、要素或者通常所说的Layer对象的Map对象。

每一个ArcGIS控件提供了封装在ArcObjects中最频繁使用的属性和方法的访问方法。

例如,MapControl中的SpatialReference(空间参考)属性项,提供了设置地图对象中空间参考属性的方法。

每一个ArcGIS控件同时也有一些实现简单任务的方法。

例如,MapControl有AddShapeFile(用来添加ShapeFile文件)方法。

ArcGIS控件是典型应用开发的起点,不仅因为它们提供用户界面,同时也提供对象模型的直接方法。

事件(事件(Events))每一个ArcGIS控件都能相应终端用户的键盘和鼠标操作。

其他的事件用于相应控件内部的操作。

例如,当一个地图文件被载入到MapControl中时,会触发OnMapReplaced事件,或者说当一个对象被拖拽到MapControl上时,会触发OnOleDrop事件。

伙伴控件(BuddyControls)伙伴控件()ToolbarControl和TOCControl需要和其他“伙伴控件”协同工作。

通常说来,“伙伴控件”指的是MapControl,PageLayoutControl,ReaderControl,SceneControl或者GlobeControl。

“伙伴控件”可以在设计时通过控件的属性页来设置(在支持属性页的编译

-8-

ArcEngine二次开发实习初级讲义

环境中设置)或者在程序中用SetBuddyControl方法来设置。

控件命令(控件命令(ControlCommands))ArcGISEngine提供了与ArcGIS控件一起工作的一系列命令(commands),工具(tools)和菜单(menus)。

例如,MapControl和PageLayoutControl可

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

当前位置:首页 > 高等教育 > 军事

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1