http://www.gissky.net- GIS空间站

我要投稿 投稿指南 RSS订阅 网站资讯通告:
搜索: 您现在的位置: GIS空间站 >> 技术专栏 >> ArcGIS >> ArcObjects开发 >> 正文

ArcGIS Engine简介

作者:沈百玲编…    文章来源:ESRI中国(北京)有限公司    点击数:    更新时间:2006-12-13
摘要:

ESRI在ArcGIS 9版本中新增了面向开发人员的开发产品ArcGIS Engine,这对那些用ArcObjects开发和定制GIS功能的软件开发人员来说无疑是一个惊喜。在我们能正在体会ArcGIS Engine这个产品的具体功能之前,让我们先从以下四个方面简单地认识一下这个产品。

1. 如何理解ArcGIS Engine

我们说ArcGIS是构建地理信息系统的一个平台化产品,那么直到ArcGIS 9.0,ArcGIS才成为一个完整的系统,开发人员通过ArcGIS不仅能实现客户端应用的开发,同时能够进行服务器功能的开发。

总的来说,开发人员通过ArcGIS能够做到:

  • 配置/定制ArcGIS应用产品,例如ArcMap、ArcCatalog
  • 扩展ArcGIS构架和数据模型
  • 在其它的应用中嵌入地图和GIS功能
  • 构建和部署定制的桌面应用
  • 构建Web服务和应用

如此强大的ArcGIS是在ArcObjects组件基础之上构建和扩展的系统。其中,ArcObjects是一组本地C++组件,为ArcGIS提供了强大的GIS功能。在ArcGIS 9中,所有的产品(Engine,Server和桌面产品)具有共同的开发环境——Engine开发包,这个开发包主要定位于通过ArcObjects构建和部署定制的应用.

ArcGIS Engine这个新产品为开发人员提供了一种新的部署策略和资源,它是由一组核心ArcObjects包组成,其对象是平台无关的,能够在各种编程接口中调用,开发人员能够通过它提供的强大的工具构建定制的GIS和制图应用。

2. ArcGIS Engine能够做什么

对于开发人员来说,你能够通过Engine开发包实现以下的功能:

  • 多图层(例如道路、河流和边界)显示地图
  • 地图的漫游和缩放
  • 点击查看地图要素
  • 查询和搜索要素
  • 通过字段标注文本
  • 显示航片或卫星影像
  • 编辑显示图形要素(点、线、圆和多边形等)
  • 绘制描述性文本
  • 通过线选择要素,或者通过面等选择在其内的要素
  • 通过指定距离选择要素
  • 通过SQL表达式选择和查找要素
  • 通过专题图方法渲染要素,比如按值渲染、分类渲染以及点密度渲染等
  • 动态显示实时数据和时间序列的数据
  • 通过提供的街道地址和交叉口来定位
  • 空间运算生成缓冲区、计算差异,或者查找相交部分、联合或反选相交部分等
  • 操纵地图的形状或角度
  • 编辑地理要素和属性数据

ArcGIS Engine即适合构建基本的制图应用,也可以构建高级的GIS应用。

3. ArcGIS Engine开发包

对于开发人员来说,ArcGIS Engine开发包软件能够使你在已有的应用中增加动态制图和GIS功能,或者构建定制的制图和GIS解决方案。ArcGIS Engine开发包使你具有空前的灵活性来创建定制的地图界面,你可以在各种工业标准的编程环境中用它来创建独立的应用或将Engine的组件嵌入到其它的软件组件中来实现地图和你或你的用户管理的其它信息之间的协同关系。

ArcGIS Engine的开发包中也包括协助开发的开发资源。一个集成的开发帮助系统中提供了各种API(COM,Java,.NET和C++)、对象模型图和各种示例代码。

ArcGIS Engine开发包不是针对最终用户的,只能给开发应用的开发人员使用。开发人员能够通过ArcGIS Engine开发应用,然后提供给最终用户使用。构建的程序能够部署在Windows Intel个人计算机上,也可以部署在UNIX(Solaris,IBM和HP)和Linux(Red Hat)上。ArcGIS Engine的一个重要的特色是:地图可以是你程序中的一个偶然的或中心化的元素。这个特色使得ArcGIS Engine能够很好地适应纵向市场应用。例如,如果你的应用定位于商业信息数据库,Engine能够将从数据库中查询到的感兴趣商业位置在表格中显示的同时,在地图上高亮显示出来。

Engine开发包不仅提供了ArcObjects集合包,也提供了几个开发控件,用来创建高质量的地图用户界面。Engine开发包中包括下面这些可视化的组件:

  • MapControl
  • PageLayout控件
  • ToolbarControl
  • ReaderControl
  • Table of Contents控件

这些组件将会是ActiveX控件、Visual JavaBean、.NET Windows控件和Motif Widget。Engine开发控件可以和其它的控件和组件组合在一起创建定制的用户应用。

4. ArcGIS Engine运行库

所有用ArcGIS Engine构建的应用需要ArcGIS Engine运行库,Engine运行库提供了ArcGIS应用的核心功能。ESRI在桌面应用和服务器应用中使用了Engine运行库,这与你构建部署你的应用的方法是一样的。标准的Engine运行库可以通过增加专门的读写扩展,来增加对Geodatabase的读写支持,同样适用于空间分析扩展和3D分析扩展。

标准的Engine运行库中提供了对多种不同栅格和矢量数据格式的操作功能。Engine能够显示和制作地图、通过执行各种空间查询和属性查询来查看数据,同时提供了基本的制图、数据编辑和GIS分析功能。Engine运行库的Geodatabase R/W扩展能够创建和更新多用户的Geodatabase,定位于编辑应用,增加了Geodatabase的建模和版本功能。

空间分析提供了强大的基于栅格数据的生成、查询和分析功能。在Engine中通过空间分析扩展可以从已有数据派生新的信息、明确空间关系、查找最佳位置,以及计算两点之间的旅游累计成本等。

3D分析可以将你的数据可视化直观地在三维中和全球中显示。这个扩展可以从多个角度来查看表面,分析可视区域等。Scene和Globe开发空间需要3D扩展。

Engine运行库也包括美国街道图和欧洲街道图扩展。街道图的扩展提供了街道图制图和地址匹配功能,街道图图层的自动管理、标注和绘制功能,例如本地地标、街道、公园、水体和其它要素等。所有的数据包括在CD-Rom中。

不同级别功能的获得是由许可文件控制的,可以根据最终用户或开发人员配置。

Tags:ArcGIS Engine  
责任编辑:gissky
关于我们 - 联系我们 - 广告服务 - 友情链接 - 网站地图 - 中国地图