ArcObjects是ESRI公司ArcGis系列产品的开发平台,它是基于Microsoft COM技术所构建的一系列COM组件产品,ArcObjecs不是独立的应用产品,而是捆绑在用户购买的ArcGIS Desktop产品中的软件开发包。
ArcGis软件分为四部分:桌面版GIS,嵌入式GIS,GIS服务器和移动GIS
- 桌面版GIS:
ArcMap:数据的显示分析和制图
ArcCatalog:数据的管理
ArcToolBox:数据转换和空间运算(已是前两个程序的一部分)
三维分析软件ArcScene、ArcGlobe和用于阅读地图的ArcReader软件 - 嵌入式GIS:
ArcGis Engine(由于ArcObjects开发出来的程序无法脱离ArcGis平台,所以他们从ArcObjects中个的一些组件单独打包出来,并把它命名为AE,使用AE开发的程序不需要安装桌面版程序,它运行只需要单独的Runtime就可以了。除此之外,AE还提供了Java API供Java程序员使用) - GIS服务器:
ArcGIS Server:通常用于建构企业级别的互联网GIS应用。
ArcIMS:一个可定制扩展的,能够在网络上发布地理信息的网络地图发布系统。
ArcSDE:是一个空间数据引擎,用于管理关系数据库,以实现地理数据的海量存储等高级特性。 - 移动GIS:
提供了移动领域的GIS应用方案,ArcPad提供了地理信息创建到访问的功能。
-
对象模型图(Object Model Diagram,OMD)
-
类与对象
ArcObjects中有三种类型的类:抽象类(Abstract Class),组件类(CoClass),普通类(Class)
IA pa = new AClass();
A = B.writeA();
A = new D();
pa就是抽象类(接口),AClass就是组件类,而A就是普通类,其中A不能直接通过new的方法产生。而且A的生命周期也有产生它的对象B控制。 -
类与类的关系
依赖关系
关联关系
组合关系
类型继承
-
COM包装(COM Wrappers)
为了实现COM程序与.NET程序之间的互相调用,.NET提供了两个包装类:
1.运行时可调用包装(runtime callable wrapper,RCW)
2.COM可调用包装(COM callable wrapper,CCW)