ArcGIS二次开发 下载本文

内容发布更新时间 : 2024/11/18 13:59:55星期一 下面是文章的全部内容请认真阅读。

MapObjects(MO)

MO是ESRI推出的一个可嵌入的制图与地理信息系统组件集合,它包括一个OLE控件(OCX)并提供了40个OLE对象,可以插入到Visual Basic,Visual C++等支持工业标准的Windows开发环境中调用。 功能:

显示一张多图层地图(道路,河流,边界)。 放大,缩小,漫游。

生成、绘制图形元素,如点,线,圆,多边形。 绘制图形化文字。

可以用点击选择不同的对象(点、线、面)。 通过线,方框,区域,多边形,圆来拾取物体。 可以选择对象的指定位置。 通过SQL描述来选择物体。 对选取物体进行基本统计。

对所选地图元素的属性进行更新,查询。 绘制专题图。

用特殊方法渲染图层,如数值、类别、密度、图表、事件或Z值。 从航片或卫星图片上截取图像。 动态显示实时或系列时间组数据。 在图上标注地址或定位。 把数据投影到不同的坐标下。

ArcObeject(AO)

AO是ESRI公司ArcGIS家族中应用程序的开发平台,它是基于Microsoft COM技术所构建的一系列COM组件集。应该澄清的是到目前为止,AO还不是一个独立的应用产品, 是依附在你的ArcGIS Desktop产品中的软件开发包。 功能:

强大的符号库系统;

地理要素的交互式显示、查询检索、编辑和分析; 根据属性信息创建并分析各种专题图和统计报表;

空间查询、空间分析功能;

高质量的制图和地图输出功能(PageLayoutControl); 允许用户为其他图像格式提供支持,具备基本的图像处理功能; 矢量数据与栅格数据的叠加;

空间数据管理和维护,超强的编辑功能,单用户环境下支持短事务的对象编辑及其撤销/重复,支持与逻辑网络关联的网络元素的编辑和分析; 丰富的三维显示(SceneViewer)和三维分析功能; 对动态目标的追踪功能; 特点:

采用面向对象思想,丰富灵活的空间特征和先进合理的数据结构; 基于组件技术,技术的先进性与开放性; 支持广泛的空间数据格式; 具有强大的GIS功能;

ArcObjects是基于组件技术开发出来的功能强大的组件式GIS开发产品,它具有庞大的体系结构。ArcObjects共提供了11个控件、11大类25个组件库、1500多个类、1600多个接口。其中常见的控件包括MapControl、PageLayoutControl和Scene Viewer;而11大类组件库是根据具体ArcGIS的体系结构和功能来划分的。

ArcGIS Engine(AE)

AE是一个创建定制的GIS桌面应用程序的开发产品。ArcGIS Engine包括构建ArcGIS产品ArcView, ArcEditor, ArcInfo, 和 ArcGIS Server.的所有核心组件。使用ArcGIS Engine可以创建独立界面版本(stand-alone)的应用程序,或者对现有的应用程序进行扩展,为GIS和非GIS用户提供专门的空间解决方案。ArcGIS Engine 提供了COM、.NET和C++的应用程序编程接口(API)。这些编程接口不仅包括了详细的文档,还包括一系列高层次的组件,使得临时的编程人员也能够轻易的创建ArcGIS应用程序。 特点:

标准的GIS框架和用于建立ArcGIS家族的ArcObjects。

节省成本的配置,每台电脑只需要一个ArcGIS Engine Runtime或者ArcGIS桌面许可(license)。

可用于ActiveX、.NET和Java的开发者控件,以简化应用程序的开发。

多种标准开发语言的选择,包括COM, .NET, Java, 和 C++。 丰富的开发者资源,包括对象模型、工具集、范例和文档。

三者的联系:

它们都是ESRI公司开发的,用于空间地理信息程序开发操作的组建,都具备了基本的地图操作功能,均能够满足简单的小型的系统开发。AE包括核心 AO的功能,其是对AO中的大部分接口、类、库进行封装所构成嵌入式组件。AE中的组件接口、方法、属性与AO是相同的。

三者的区别:

1 . 功能完善程度不同:三者当中AO 最为完善,包括了所有的类库,其中有ArcMap、ArcMapUI、ArcCatalog、ArcCatalogUI等组件库。而AE为它的一个缩减,AE版本的控件只有MapControl和PageLayoutControl两个,所以使用AE开发的软件,在AO环境中使用没有问题,但是AO开发的程序,如果使用的组件库不被包含在AE中,就无法使用,比如IIdentifyDialog对象,就是只有在AO中才能使用。MO功能最简单,主要面向小型的系统开发如地图浏览,查询系统等等,或结合MIS系统运行。

2. 开发环境要求不同。基于AO的开发需要安装ArcGIS Desktop全套软件,而AE是独立的嵌入式开发平台,无须ArcGIS Desktop支持。MO也无须ArcGIS平台支持 3. 构建成本。AO最为昂贵,AE次之,MO最低廉。