[原创]:我所知道的ArcObjects开发(一)

       接触ArcGIS也就一年的时间,学习ArcObjects开发也就从今年开始的,现在也就算基本入门了。学习过程中有很多感触,不吐不快。本人文笔不行,写不出优美的篇章,只有退而求其次用口语的风格描绘自己的感悟了,不过应该不会影响思想的交流的,呵呵。
      学习过程中遇到了很多困难,资料倒是很充足的,但是就因为资料太多了,不知道从哪里下手。我也很理解新手上路遇到的困难,所以想把自己学习过程中遇到的问题和收获呈现给大家。

      关于编程语言
       自从学习语言一来我都比较青睐VB的,所以到目前为止我也是在用VB开发,不过以后还是打算转到.NET开发的。其实我觉得语言不是重点,只要学好了一门语言,以后根据工作和兴趣的需要转到别的编译环境应该的比较容易的了,所以对于新手来说,就不要在选择语言方面犹豫不决了,选定一门语言以后,就一如既往的走下去,不要游离在编程语言上,浪费太多的时间,坚持!!!不过如果主要是做 ArcObjects开发的话,还是选择VB,VB.NET或者是C#.NET之一比较好。因为看看ESRI官方论坛上别人的提问就知道,跟别人学吧,我也说不出好的理由。但是ESRI对它们的支持应该是最好的了,有很多的示例代码可供模仿学习的。
       现在很流行一个论调就是VB没有技术含量,我就纳闷了。我觉得二次开发最重要的应该是效率问题,你能在有限的时间开发出你的产品用的实际工作中,这就是产品的价值,为什么还追求什么技术含量呢?难道那些不容易上手的,学习起来困难的东西就是技术含量?技术的发展最主要还应该看它的实用性,它实用,可以解决实际生活中的困难,我们就应该肯定它!

     关于GIS软件
      GIS软件很多,GIS二次开发平台也是很多,我学习的是ArcObjects,所以主要也是讲解ArcObjects的开发。
      我想附带的介绍下当前流传很广的开源GIS项目SharpMap(http://www.iter.dk/  SHARPMAP开源主页),访问主页可以下载到这个项目的源代码。
      关于这个项目的详细的介绍可以参考博客园Mars的自语的博客:
      http://www.cnblogs.com/maweifeng/archive/2006/02/24/337181.aspx
       所谓开源GIS,比如我们做ArcObjects的时候,用到了很多库(esriCarto.olb等等),都是ESRI封装好了的,我们只可以用它包含的接口和类,但是开源GIS就公开了这些库的代码,关于这些类库里面的接口和类的定义我们都可以查看到,所以对那些喜欢做底层开发的人来说是个好消息。
      ArcObjects开发的学习资源
        对于刚开始接触ArcObjects开发的人,以下的资源是很宝贵的了。 ArcGISHome代表的是你安装arcgis软件和开发包的路径,那么在ArcGISHome有个DeveloperKit文件夹就是开发资源库了。里面有个addins文件夹包含很多编程时的工具,双击RegisterVBAddIns.EXE注册这些文件,那么在你的编译环境下的addins相关目录下有这些功能的菜单了,比如自动给你的工程添加相关引用等等。Diagrams文件夹就是开发用到的很多接口和类的关系图,可以帮助你了解它们之间错综复杂的关系。包含sample字样的文件夹里面就是很多的示例代码,多读读别人的代码,模仿别人的代码是很有效的学习方法了。tools文件夹里面的工具,自己慢慢试试就知道了。
      还有就是开发帮助文档,要经常查看。从开始菜单->程序->arcgis->develop help下面有几个帮助文档,都打开看看。帮助文档的arcobjects library reference结点下的内容要经常看。
      这个是安装后的资源,我们还可以要好好利用网络资源。
      ESRI 北京论坛:要多去看看(http://bbs.esrichina-bj.cn/
      ESRI官方EDN(英文版):http://edndoc.esri.com/arcobjects/9.2/welcome.htm

       《我所知道的ArcObjects开发》这个专题,我会在以后不定时的更新,希望大家给予关注。我所知道的ArcObjects开发(二)我将主要讲述的是ESRI公司的arcgis软件的体系结构和产品的分类介绍,因为做它的开发的前提就是要了解它的桌面产品。
posted on 2007-06-09 14:22  GISAddictor  阅读(1740)  评论(4编辑  收藏  举报