使用ArcGIS Engine 开发自定义GIS应用
- 格式:doc
- 大小:4.53 MB
- 文档页数:87
使用ArcGIS Engine开发自定义GIS应用 ByESRI中国社区北斗星使用ArcGIS Engine 开发自定义GIS应用第一讲全面了解ArcGIS Engine的产品。
----------------------------------<3>第二讲ArcGIS Engine9.2特性和变化---------------------------------------<10>第三讲使用ArcGIS Engine开发应用程序(自定义或嵌入).--------<14>第四讲开发Engine 应用程序的基本原理----------------------------------<19>第五讲关于mapping Controls的开发---------------------------------------<38>第六讲:3D controls的开发与配置--------------------------------------------<64>第七讲:定制并扩展控件--------------------------------------------------------<81>第八讲:配置ArcGIS Engine 程序(未开讲)第一部分一、简介二、ArcGIS Engine简介三、用ArcGIS Engine进行开发四、配置与授权ArcGIS Engine应用软件五、ArcGIS开发资源六、结论第一部分主要是讲ESRI的白皮书,主要是考虑这个白皮书简单而又充分地说明了ArcEngine是一个什么产品以及其能实现的功能等,具有很明显的意义。
对于了解了ArcEngine开发的朋友,可以跳过第一部分。
这里主要内容是<<Arcgis Engine白皮书>>,你也可以参看中的<<Arcgis Engine白皮书>>一书.一、简介1、为何对发布自定义GIS或嵌入式应GIS用软件感兴趣?当面对海量的原始信息时,组织机构应充分意识到地理分析和空间可视化的重要性,因为这可以提高机构内部的运行效率及决策制定。
可以称之为商业智能、分析应用软件或决策支持,知识分子可从软件应用中获益,因为这些软件可为迅速而准确估测形势和行为提供信息支持。
有许多潜在的增强型GIS应用软件用户,他们不是GIS专业人员;而且没有经过系统学习,不会有效地利用市场上可得到的综合工具。
为了向非GIS专业的用户提供空间分析方案,开发人员需要具有构建领域专用且易于使用的应用软件的能力,该软件需将广泛应用的GIS技术与友好用户的经验结合起来。
这些软件如果从头开始构建,将是一项繁冗的开发工作,会很耗费时间,并且成本不菲,所以为了构建原有功能基础上的GIS部分,才能大量使用ArcEngine来构建我们的GIS应用,并能应用到我们的各行各业中。
2、高效GIS开发的解决方案对于繁冗的GIS开发工作而言,理想的解决方案是一个基于组件的开发框架的实用性,且该框架允许解决方案提供商或机构内部开发人员快速构建行业专用GIS应用软件。
一个GIS开发框架应提供应用软件所需的必要的空间分析功能,并允许软件开发人员集中精力构建软件的特定逻辑。
ESRI公司的ArcGIS Engine就是这样一个GIS框架,它是为响应ESRI用户的请求而创建的,可以把丰富的ArcGIS技术按产品进行分类,并将其空间分析功能嵌入新的或已有应用软件中。
这本白皮书主要是对ArcGIS Engine产品的概述,将会引起编程人员和项目管理人员的特别注意,因为他们想要将制图与GIS功能性嵌入新的或已有的自定义应用软件中,并可能在一个跨平台环境中,以一种适宜成本的方式来配置这些应用软件。
3、ArcGIS开发概述ArcGIS是一组集成家庭式的GIS软件产品,可在单项工程、工作组以及企业级项目中用于发布完善的、可升级的GIS系统。
它是基于一个可共享的GIS组件——ArcObjects的公用库来构建的。
ArcGIS包括以下几个主要组成部分:ArcGIS Desktop:一套集成的高级GIS产品(ArcReader,ArcView,ArcEditor,ArcInfo,ArcGIS扩展模块等);ArcGIS Engi n e:嵌入式GIS组件库,可使用C++,COM,.NET和Java来构建自定义的、面向行业的应用软件;ArcGIS Server:GIS软件对象的共享库,用于构建企业和网络计算框架内的应用软件。
它使用.NET/ASP和Java/JSP来构建基于SOAP的网络服务和网络应用程序;ArcIMS:GIS网络服务,通过开放的因特网协议发布地图、数据和元数据;ArcSDE:在大量的数据库管理系统(DBMSs)中进行地理数据管理的界面。
ArcGIS系统利用ArcObjects组件进行构建和扩展。
ArcObjects是由平台独立的C++ 软件对象组成的,这些对象在Windows和UNIX平台下均可运行,并具有多个开发应用程序接口(API),包括COM,.NET,Java和C++等。
开发人员可以利用这些应用程序接口(API)和ArcObjects功能构建应用程序。
ArcObjects是ArcGIS产品——ArcGIS Desktop、ArcGIS Engine和ArcGIS Server的核心,它提供了一个贯穿所有ArcGIS产品的共同开发经验。
利用ArcGIS进行开发时存在多种可能,开发人员可以:配置/ 定制ArcGIS Desktop产品;扩展ArcGIS结构与数据模型;使用ArcGIS Engine在其他应用软件中嵌入制图和GIS功能;使用ArcGIS Engine构建和配置自定义桌面应用程序;使用ArcGIS Server构建网络服务和应用程序。
ArcObjects是ArcGIS产品的基本组件技术。
ArcGIS Engine为开发人员提供了新型改良工具,以及新的配置选项和资源。
ArcGISEngine是一组打包的核心ArcObjects组件,开发人员可以用来构建自定义GIS和制图应用程序。
这些对象是平台独立的,可以从不同的平台来访问。
开发人员可以扩展对象库,并且完全控制应用软件用户界面的外形和感觉。
我们可以从下面的ARCGIS产品结构图中清楚地知道ArcGIS Engine在整个ARCGIS休系中是一个什么位置二、ArcEngine介绍1、ArcGIS Engine是一组完备的并且打包的嵌入式GIS组件库和工具库,开发人员可用来创建新的或扩展已有的桌面应用程序。
使用ArcGIS Engine,开发人员可以将GIS功能嵌入到已有的应用软件中,如自定义行业专用产品;或嵌入到商业生产应用软件中,如Mirosoftf Word和Excel;还可以创建集中式自定义应用软件,并将其发送给机构内的多个用户。
使用ArcGIS Engine构建的应用软件可以授权并分配给终端用户ArcGIS Engine由两个产品组成:构建软件所用的开发工具包以及使已完成的应用程序能够运行的可再发布的Runtime(运行时环境)。
ArcGIS Engine开发工具包是一个基于组件的软件开发产品,可用于构建自定义GIS和制图应用软件。
它并不是一个终端用户产品,而是软件开发人员的工具包,适于为Windows、UNIX或Linux用户构建基础制图和综合动态GIS应用软件。
ArcGIS Engine Runtime是一个使终端用户软件能够运行的核心ArcObjects组件产品,并且将被安装在每一台运行ArcGIS Engine应用程序的计算机上。
在熟悉的软件程序中,许多用户需要集中式的行业专用GIS方法,他们的需求要比一般GIS产品要少得多,但他们却可能需要复杂的GIS逻辑方法。
ArcGIS Engine就提供了一种相对于一般GIS软件的选择方案,以防用户需要定制GIS方法。
ArcGIS Engine可用于:在自定义应用软件中嵌入GIS逻辑;有效构建和配置GIS应用软件;从简单的应用软件中提供高级GIS逻辑方法;在其他应用软件中嵌入GIS逻辑和制图;使用C++或Java构建跨平台应用软件。
作为一名开发人员,可以在用ArcGIS Engine开发工具包构建的程序中实现以下功能以及许多其他功能:显示具有多个地图图层(如公路,河流和边界)的地图。
漫游与缩放地图。
通过单击来识别地图上的要素。
搜索地图上的要素。
显示字段值的文本标注。
绘制来自于航空照片或卫星影像的图像。
绘制图形要素(如点、线、圆以及多边形)。
绘制描述性文本。
沿线或在方框、区域、多边形及圆内选择要素。
在其它元素的特定距离内选择要素。
使用SQL表达式查找并选择要素。
使用主题方法为要素着色(如值映射图、分类图和点密度图)。
动态显示即时或时间序列数据。
根据提供的街道地址或交点在地图上查找位置。
转换地图数据的坐标系统。
执行形状的几何操作,来创建缓冲区;计算差值;或查找形状的交集,联合或反转交集。
操作形状或旋转地图。
创建和更新几何特征及其属性。
交互操作个人地理数据库与主地理数据库。
ArcGIS Engine非常适合于构建高级GIS应用软件的基础制图。
在Visual Basic中构建ArcGIS Engine 房地产应用软件2、ArcGIS Engine的主要特征标准的GIS框架:ArcGIS Engine为开发GIS应用软件提供了标准框架。
世界上最受欢迎的软件产品(ArcView,ArcEditor和ArcInfo)就是由这套相同的软件对象构建的。
ArcGIS Engine既耐用,又具有可扩展性,而且其丰富的功能允许开发人员集中于解决机构问题,而不是从头开始构建GIS功能。
成本适宜的配置:ArcGIS Engine Runtime在每台计算机上都可得到授权。
这允许多个ArcGIS应用软件在同一台计算机上运行,因此只需要一个单用户运行时(runtime)授权成本。
开发控制器:ArcGIS Engine提供了一套公用的开发控制器,它允许开发人员轻松配置高性能的具有共同外形和感觉的应用软件。
一个普通用户的经验说明这可以缩短用户学习时所走的弯路,因而可以迅速在开发应用软件时得到回报。
跨平台功能:ArcGIS Engine及其所有相关对象与控制器可用于多种平台,包括Windows、Linux和UNIX。
自定义GIS应用软件将适用于标准计算环境;而不需要在目前的计算基础结构中改变或添加运行环境。
跨开发语言:ArcGIS Engine支持多种开发语言,包括COM,.NET,Java以及C++等。
这就允许使用大量的工具对对象进行编程,而且编程人员不需要学习一门新的或专用的语言。