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的心得寫出來和大家分享,希望大家的水平飛快的漲,工資也飛快的升,當然也希望論壇問問題的越來越多,解決問題的也越來越多,這個論壇也越來越熱鬧。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章