AO入门闲谈

来源于中国3S吧,版权属于作者暗黑杀手,出处:http://www.3s8.cn!  

1、选择开发语言

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

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

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

2、选择学习资料

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

中国3S吧 3s8.cn


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

3、GIS理论知识的学习

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

4、Q&A 积累

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

5、ArcGIS操作

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

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 ...

Addin:VB6 Interface Implementor,VB6 Compile and Register Addin,.NET Component Category Registrar...
专业的3S站 3s8.cn


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

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

8、其它

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

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

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

MetaIDChecker?

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

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

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

win32Util.bas?

Util3D.bas?

tinUtil.bas?

stringsUtil.bas?

miscUtil.bas?

geomUtil.bas?

dbUtil.bas?

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

9、关于在网寻求帮助

凭什么别人会回答你的问题!? 我想这是大家都该思考的。

中国3S吧 3s8.cn



很多人在BBS发帖寻求帮助,通过QQ组找人帮助也好,最好把问题能说得尽量详细一些,使人能了解你真正的意思,问的不清不楚,当然回答的也就不对题了。

在论坛发帖求助时,最好先搜索一下,是否有与自已问题相同或相似的,是否已经有其它人解决了这个问题,本来以前都有N篇相关的问题了,还要一味的发相同问题的帖子,会让人觉得你这个人很懒, 也会很反感。另外同一问题在同一catlog也不要发很多篇,哈。。

当问题解决了,最好回个帖,如果高兴分享你的成果呢,就把解决方法发上来,与大家共享,不愿意也不会有人强求你。

无论谁见到这样的帖子,估计都不会回,比如说:这里的XX都死光了吗? .. 难道这么XX 的问题都没人会吗?... 至少我不会回,我也不会理。虽然我水平很烂, 很碰巧地解决了这个问题,但是我讨厌这种语气。

10、没什么说的了,凑足十条,哈。

希望大家都能把自已开发AO的心得写出来和大家分享,希望大家的水平飞快的涨,工资也飞快的升,当然也希望论坛问问题的越来越多,解决问题的也越来越多,这个论坛也越来越热闹。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值