嵌入式GIS:ArcGIS Engine
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
嵌入式GIS:ArcGIS Engine
在许多情况下,用户不仅需要通过高端的专业GIS桌面或连接到互联网服务器的浏览器访问GIS,还需要通过介于两者之间的一种中间方式访问GIS——如:辅助式应用,面向GIS的应用和移动设备等。
GIS 客户端可以是从简单的浏览器到专业的GIS 桌面,
如ArcV iew 和ArcInfo 的任何应用
典型的中间GIS应用方式是通过定制应用访问GIS功能,这种应用介于简单的Web浏览器和高端GIS桌面之间。例如:
作为嵌入Web浏览器内的辅助应用
通过将GIS功能嵌入字处理文档和电子表格中
面向GIS的应用,它们与ArcView类似,但是只支持特定的部分高级功能(类似于一个定制的ArcView的便捷版本)。
这些软件要求简单、有针对性的用户界面。他们通过高级的GIS逻辑执行一些具体的任务。例如,很多组织只需要简单的数据编辑器而不是一个完整功能的桌面GIS。客户化的GIS应用也要具有高度灵活的可定制性。用户界面是为了给不熟悉GIS的用户使用GIS功能。因此,软件开发者需要有一个可编程的GIS工具包,在构建应用时提供常规的GIS功能。
ArcGIS Engine提供的工具可以满足这些需求。它提供了嵌入式的GIS组件,能用来在一个组织内建立应用,为用户提供有针对性的GIS功能。ArcGIS Engine是为每个用户的特定需求提供有针对性的GIS功能实现的基础。
什么是ArcGIS Engine ?
ArcGIS Engine是用于构建定制应用的一个完整的嵌入式的GIS组件库。利用ArcGIS Engine,开发者能将ArcGIS功能集成到一些应用软件,如:Microsoft Word和Excel中,还可以为用户提供针对GIS解决方案的定制应用。
ArcGIS Engine 流域分析
ArcGIS Engine可以在Windows,UNIX,和Linux桌面上运行并支持一系列的应用软件开发环境,例如:Visual Basic 6,Microsoft V isual Studio .NET,和各种Java开发环境,像ECLIPSE和JBuilder。
ArcGIS Engine 用于构建定制的应用,并部署在多个地方
ArcGIS Engine开发包
ArcGIS Engine包含一个构建定制应用的开发包。程序设计者可以在自己的计算机上安装ArcGIS Engine开发工具包,工作于自己熟悉的编程语言和开发环境中。ArcGIS Engine 通过在开发环境中添加控件、工具、菜单条和对象库,在应用中嵌入GIS功能。例如:一个程序员可以建立一个应用程序,里面包含一个ArcMap的专题地图、一些来自ArcGIS Engine的地图工具和其他定制的功能。
上图是一个定制的ArcGIS Engine 应用的例子,它是用Visual Basic
开发的。在VB 的窗体里添加了一个地图控件,一个内容控制列表控件,
一个菜单和一个工具条。这个地图控件与一个ArcMap 地图文档相关联
( 一个.mxd 文件) ,它用来交互式地显示和查询地图。
对编程语言和框架的开放支持
除了支持COM环境之外,ArcGIS Engine还支持C++,.NET,和Java,使开发者能够跨操作系统、选择多种开发构架,通过ArcGIS Engine进行开发。
ArcGIS Engine 支持一系列操作系统平台和编程语言
ArcGIS Engine 的组成
ArcGIS Engine开发包包括三个关键部分:
∙控件
∙工具条和工具
∙对象库
包含控件、工具条和对象的ArcGIS Engine 应用示例
控件
控件是ArcGIS用户界面的组成部分,你来展示可以嵌入并在你的应用程序中使用。例如:一个地图控件和一个内容表控件可以加在应用中和交互式运用地图。
工具条和工具
工具条是GIS工具的集合,在应用程序中用它来和地图和地理信息交互。如,工具包括:平移、缩放、点击查询和与地图交互的各种选择工具。工具在应用界面上用工具条的方式展现。通过调用一套丰富的常规的工具和工具条,建立定制应用的过程被简化了。开发者可以很容易的将选择的工具拖放到定制应用中或创建自己定制的工具来实现与地图的交互。
地图浏览工具条包含一组用于放大,平移,全屏和前一屏的交互式工具对象库
对象库是可编程ArcObjects组件的集合,包括几何图形到制图、GIS数据源和geodatabase 等一系列库。在Windows,UNIX,和Linux平台的开发环境下使用这些库,程序员可以开发出从低级到高级的各种定制的应用。相同的GIS库也是构成ArcGIS桌面软件和ArcGIS Server软件的基础。
对开发者来说这些ArcObjects库支持所有的ArcGIS功能,并且可以通过大多数通用的开发环境来访问(例如:Visual Basic 6,Delphi,C++,Java,VisualBasic .NET,和C#)
ArcGIS Engine 包含一组用于构建定制应用的可嵌入的GIS 逻辑,
包括用户界面组件(控件和工具)和可编程对象库
ArcGIS Engine 运行时选项
ArcGIS Engine有四种运行时选项,可以为应用增加额外的编程能力。这些附加的运行时选项提供的功能与ArcGIS桌面扩展相类似,且需要具备Engine的运行时席位。
Spatial( 空间分析) 选项
在ArcGIS Engine运行环境中,Spatial(空间分析)选项扩展增加了栅格空间处理功能。这些附加功能需要通过访问空间分析对象库来实现。
3D (三维)选项
在标准的ArcGIS Engine运行环境中,3D选项扩展增加了3D分析和可视化功能。附加功能包括Scene和Globe开发控件和工具条,此外还包括一套针对Scene和Globe的3D对象库。
Geodatabas 更新选项
利用ArcGIS Engine应用软件,Geodatabase更新选项扩展增加了对Geodatabase的写入