『公告』 预祝您龙年大吉,万事如意, 过节期间, 大家如需数据服务,请拨打400 或直接添加客服微信,再祝大家龙年,心想事成。
关注我们 新浪 腾讯

AO入门闲谈

AO入门闲谈

从程序员角度来说,要进行AO开发首先遇到的问题就是选择何种语言开发,ESRI支持VBC++.Net等等,各位兄弟姐妹拿手的语言也不同,有的C高手,有的VB强人,有的.Net 炉火纯青,哈。。对于任何语言都不是很好的也有。


       1、选择开发语言

       从程序员角度来说,要进行AO开发首先遇到的问题就是选择何种语言开发,ESRI支持VBC++.Net等等,各位兄弟姐妹拿手的语言也不同,有的C高手,有的VB强人,有的.Net 炉火纯青,哈。。对于任何语言都不是很好的也有。

       从个人角度觉得:主选语言VB,其它 C#.netVB.netC++ 看个人爱好及个人情况。VBA做些小的开发,功能测试。Delphi 虽然我也比较喜欢,但是开发AO我不想考虑。虽然可以用来进行AO开发的编程语言有多种,无疑使用VB语言开发AO是最简单快捷,也是最容易上手的语言。无论从AO提供的开发接口,还是提供的在线帮助、例子多数都是VBVBA,而且在网上的资源也以VB语言为主。

       因此,不管你选择.Net,还是C++ 还是其它语言进行AO开发,对于VB语言至少也达到了解的程度,要能读懂VBor VBA)示例代码,借助提供的VB相关资料来了解ESRI提供的AO接口,进而使其能在自已熟悉的语言环境中来实现。

       2、选择学习资料

       AO开发比较难上手的一个主要原因就是相关中文资料太少,而且在为数不多的出版书籍中介绍操作、GIS理论方面的居多。很多人都在网上寻找开发AO的中文书籍资料,当然目前是很难找到。听说中科永生有些相关的资料,没见过,但网友们的评价都不是很高,而且很贵。只有那些不花自已钱培训或者太依赖中文资料的兄弟们会买吧。

       学习AO开发,最好的帮助就是AO在线帮助(也就是 ArcGIS Developer Help)及一些PDF电子文档,这些已经足够了。目前国内的程序员还是大专本科生居多,而且近两年来加入这个队伍的研究生也成上升的趋势。一个软件的英文帮助还是难不倒的,虽然理解起来不如中文快速,但对于真正全面的理解AO系统是有好处的。ArcGIS在国内兴起也没多久时间,相信别人的翻译本不如用金山词霸一个词一个词的翻译来得好。

       3GIS理论知识的学习

       GIS理论的学习,对于开发AO来说也是很重要的。一些基本的GIS概念都没有,开发AO当然是上手很难了,在进行AO开发的同时,多了解一些GIS理论知识对于快速提高开发水平,理解AO是很有帮助的。就如同要开发一个银行的业务处理系统,对于很行业务操作流程,业务习惯必须了解一样。

       4Q&A 积累

       每个人在开发过程中都会遇到各种各样的问题,无论是通过咨询ESRI公司,在BBS上寻求帮助,或通过自已的努力最终将问题解决了。最好能有个问题及问题解决记录。随着开发的深入,遇到的问题也越来越多,越有挑战性,同时解决的问题也会越来越多。从公司角度出发也好,从开发人员自身角度出发也好,这样做都是有益的。自已遇到问题也许是和以前的问题有一定的相关性,或干脆就是解决过了的,到时候再去东拼西凑找资料,找帮助就太浪费时间了。

       5ArcGIS操作

       很多人一上手就进行开发,结果开发了一年半载之后,让其来操作ArcGIS都很困难。这样的情况也很多见,要做好AO开发,对于ArcGIS环境的熟悉,arcmaparccatlogarctoolboxarcscene ... 的操作也很关键,可以这么说,在ArcMapArcCatlog...)中能找到的功能基本上都能找到相关的接口。

       6、如何找到与自已所需功能相关的AO接口

      对于一个刚进行AO开发的程序员,经常是想处理一个功能,却不知道如何去找AO中提供的相关接口,这是很让人头疼的。为什么有的人,没有做过相关方面的接口开发,但让他去找,会很快找到的。除了和平时的积累有关外,另外的问题就是看哪些资料才能对这有所帮助,我想这也是一个新手比较关心的问题。ESRI 分门别类的提供了许多PDF格式的 ObjectModel Diagrams ,对于各个类,接口的定义等一目了然,熟悉这些diagrams 非常重要。另外一些library locator,object browser 等也可以用来做下补充。

       7、一些相关的工具

       ESRI提供了一些比较有用的工具或addin,比如说:

       独立工具:GUID tool,Register In Menu,Library Locator,Object Browser ...

       AddinVB6 Interface ImplementorVB6 Compile and Register Addin.NET Component Category Registrar...

       一些第三方工具:MIDL Compiler,OLE View,Dependency Walker,GUIDGEN,RegClean...

       这些工具也许会被许多人忽略,但有的时候对你也许会帮助很大。对于初学者来说,借助addin提供的功能向导,会便捷得多。

       8、其它

       1)除了上述中提到的一些工具,ArcGIS Desktop 提供的其它工具你是否用过?

       AdvancedArcMapSettings ?知道有些设置在哪里设置吗?运行这个工具看一下,能不能找到?

       MXDDoctor?你的mxd文件是不是会经常出问题,这个工具你用了吗?

       MetaIDChecker

       好象是与什么arcmis metadata 之类的东西相关,arcims 我不懂,哈。。。

       2developkit 中有那些现成的例子,你看了多少?

       3)这些文件你见过没有?

       win32Util.bas?

       Util3D.bas?

       tinUtil.bas?

       stringsUtil.bas?

       miscUtil.bas?

       geomUtil.bas?

       dbUtil.bas?

       如果你见过,你会发现,原来有很多东西是可以拿来用的,而且都按大类组得好了。

      京ICP备2025132830号-1 京公网安备 号