• 2004-11-28

    arcobject说明 - [六個偶然]

    版权声明:转载时请以超链接形式标明文章原始出处和作者信息及本声明
    http://xieq.yourblog.org/logs/282404.html

    第一章 了解ArcObjects 1.1AO是什么? AO是ESRI公司ArcGIS? 家族中应用程序ArcMap?, ArcCatalog? 和 ArcScene?的开发平台,它是基于Microsoft? COM技术所构建的一系列COM组件集。应该澄清的是到目前为止,AO还不是一个独立的应用产品, 是依附在你的ArcGIS DeskTop产品中的软件开发包。也就是说,你购买了ArcGIS Desktop的任何一个产品,不管是ArcView还是ArcInfo,你都有了这套强大的AO组件集,利用AO提供的组件对 象来进行应用开发。 1.2AO的功能 通过AO你可完成以下甚至更多的GIS功能: ?空间数据的显示、查询检索、编辑和分析; ?创建各种专题图和统计报表; ?高级的制图和输出功能; ?空间数据管理和维护; …… 其实是ArcMap、ArcCatalog和ArcScene这三个应用程序都是由AO搭建起来的,因此从理论上讲这些应 用程序能完成的任务,通过AO同样可以完成(但重新搭建一个ArcMap式的应用程序先不考虑其代价,就可靠性和稳定性而言就值 得怀疑,在以后的内容里我会谈到这个问题)。我们现在绝大部分时候要做的---就是要利用ESRI提供的这些AO组件来进行积木 式的组装任务。 AO已经提供了许多底层的基本功能,而你的任务是按照应用需求将这些底层功能组装集合成一个更强大的COM对象。我们现在知道A O是基于微软的COM技术来构建的,因此它的开放性和扩展性很强大。这儿的开放性是指在开发环境的选择上可以有VBA、VB、V C++、DEPHI等多种支持COM标准的开发工具,而扩展性是指AO组件没有提供的功能,如需要定义一种新的数据格式,你就可 以利用COM技术来写自己的COM组件,对AO组件库进行扩展补充。在ESRI的文挡中曾经看过类似‘用AO开发功能是没有限制 的,这取决于你的想象力’这样的话,是不是觉得有些很狂妄。喔,不要理解错啊,AO的确非常强大 ,看看ArcMap给我们展现出来的功能就知道了。由于采用了COM技术,因此你不但可以在AO的基础上构造自己的COM组件, 而且可以自己来完成一个COM组件来对AO进行补充。至于为什么AO会基于COM技术,就我个人而言,目前和以后GIS的发展会 和主流IT技术融合的越来越紧密,毕竟任何一个软件产品最终是要拿来用的,所以除了提供专业的GIS功能外,从易用性和扩展性来 说也是极其重要的,而COM技术提供了一个解决之道。是不是有些罗嗦,强调其重要性的理由无非是在开始我们对AO的开发前先需要 您打针兴奋剂,虽然功能强大、使用方便的应用程序从来不是简单的几行代码和控件的拖来拖去就可以搞定的,还需要您不断地学习和掌 握更多的新的东西,但对于一个开发人员而言这些投入是值得的,对于尝试利用AO做开发的人员也是如此。那我们还不开始吗? 1.3需要的技术基础 如何进入AO软件的领域开发?对于高级的AO程序设计人员我想必须跨越四大技术障碍: 1.面向对象技术思想; 2.COM技术; 3.AO各组件对象的层次组织和相互关系; 4.支持COM的各种开发工具及其环境(如VB、VC、DEPHI等) 真正属于ESRI自己的东西无非就是这套AO组件库。对于初次进入AO开发领域的人员来说,我个人觉得(至于COM还有其它暂时 可以先放一边,照猫画虎完成许多任务还是没有问题的了)可以先从ArcGIS Desktop的应用开始,对AO的层次及相关概念有一个了解(如Map、Layer、View、Label、支持的数据格式等 ),否则等看到AO的示例时可能会一下子云里雾里,两厢印证我觉得最有可能豁然贯通吧。 1.4AO开发工具包 AO开发工具包的安装可以选择在安装ArcGIS Desktop时,也可以任何时候使用安装光盘下的\ArcGIS\ArcObjects Developer Kit目录下的Setup.exe文件进行安装。下面是AO开发包安装完成后的目录结构: Arcobjects Developer Kit Help --- 包含开发帮助文件:AODev.chm, ArcObjects.chm等 Kits --- 附加的开发者素材诸如投影引擎头文件,类别ID文件和ESRI 示例命令的源代码 (在最新的8.2版本中,该代码位置有所变化) Object Model Diagrams --- 包括所有的PDF格式对象模型图 Samples --- 包含所有示例工程文件的源代码 Utilities --- 包含ESRI 对象浏览器等工具 1.5AO开发资源 1.《ArcObjects Developer Help》 ----- 这是AO开发的首选资源,个人觉得一定程度上甚至可以和微软的MSDN相媲美。不管是AO的基础COM、AO的对象层次图都提供 了说明,此外还提供了大量的开发示例。 2.《ArcObjects Online》 ----- 提供了最新的AO组件库文档,其中有一个关于AO的技术论坛相信会让大家有很多意外的收获; 3.《Exploring ArcObjects》 -----一本很不错的AO技术文档,对AO的开发进行了很好的组织,而且有大量的示例,可以随时复制利用; 4.《Building a Geodatabase》 -----应用都是围绕数据来展开的,这本书主要是用来设计和创建Geodatabase的,但理解和掌握Geodatabas e的层次和建摸方法,对AO的开发是很好的补充。 5.《Microsoft MSDN》----即使你的AO开发工具不是微软的,也建议安装一套完整的MSDN,想多了解和应用COM进行设计开发,MSD N是个宝藏。 第二章 AO的基础-----COM 组件化程序设计思想在今天应用已经非常普及,那

    收藏到:Del.icio.us




    评论

  • 你好,不好意思,又打扰你了。目前我还在学习ao的开发,但是由于我的试验的关系,ao学习进度缓慢。有一个问题想请教你 IFeatureClassPtr ipFeatureClass(ipDataset) ;在c++能这么调用构造函数么?我看esri的代码都是这么定义对象的。据我所知(限于我的c++水平)定义一个对象
  • W. F:邮件回复,请查收。

    欢迎来访~-~
  • TO:水漾秋叶

    你好,我是学环境工程的,我想做有关AO开发的毕业论文,但是不知道从哪里学起.

    希望你能给我些建议.我使用VC6.0或VC.NET.用过ARCMAP画图.谢谢!

    W.F
  • 谢谢你去楚路小站!

    我想我们不仅是校友,还是一个专业的。

    ^_^
  • 你好,我看了你的文章,写给入门者很合适,很感谢,我也是个GIS学习者,希望能和你多交流,留下QQ方便的话交流QQ36046292

    邮箱:lori3996@yhaoo.com
  • 呵呵!谢谢你的夸奖和热情!

    我会经常来的!
  • 水漾秋叶,你也是学生啊

    你的专业我不大懂

    不过看你这么有专业精神

    相信以后一定可以造诣不浅

    今天快乐!!

    ^_^
  • 热烈欢迎晓汲清风,这么赋诗意的朋友,嘻嘻,你的诗让人觉得好亲切也很温馨哦,

    原来都是一家人讷,哈哈

    那以后你不来都不行啦呀,

    嗯,

    就这么定了,沙发沙发————我的:D



  • to:和烟



    我确切的说,还谈不上工作哦,只是学生而已,主修就是与地图有关的事情啦呵呵

    你忘了嘛 ?

    这最舒服的沙发早为你设好啦,看

    你还带来了新的朋友, 真开心!

    不过这周有点忙, 不能经常过来打点啦,

    不过还是会经常到你家坐坐,嘻~-~





  • 你好水漾秋叶!

    我是不请自到噢!

    第一次来到你的小屋,是沿着和烟的"脚印"来的!

    以后我也会常来的!欢迎吗?



    *水漾秋叶汲清风

    *************

    *晓汲清风空水烟

    *************

    *空水和烟漾秋叶

    *************









  • 你好水漾秋叶!

    清风不请自来了,欢迎吗?



    水漾秋叶荡清风



    晓汲清风空水烟



    空水和烟漾秋叶
  • 水漾秋叶,你是做什么工作的阿?



    和烟已经留下了你的地址

    以后会经常来串门

    准备好沙发等我哦 ^_^

发表评论

您将收到博主的回复邮件
记住我