基于ArcGIS10.0和Oracle10g的空間數據管理平臺(C#開發)補充說明
開發這個系統開始最大的難點就是開發環境的搭建,VS2008、Oracle10g以及SVN這些資料比較多,也很容易就建立好了,所以難點就是在ArcGIS開發環境的搭建。ArcGIS搭建包括幾個方面,有安裝開發包、一些操作ArcGIS地圖的桌面工具以及基于某種特定關系數據庫的ArcSDE空間數據庫插件,ArcSDE空間數據庫插件主要用于管理空間數據,一般的屬性數據關系型數據庫就可以管理了,但是涉及到一些空間數據必須得用ArcSDE插件來管理,當然還有其他很多類似的產品,如國產的超圖,還有國外用的比較多的MapInfo,我第一次接觸GIS開發就是接觸的MapInfo。我這個項目當然是安裝基于Oracle10g的ArcSDE插件。ArcGIS有許多相關產品,包括不同級別的,所以產品的安裝和使用大家可以在google上查找,基于ArcGIS二次開發的開發環境搭建也可以在google找,不過很多可能不會成功,只有多嘗試,網上還是有很多可以成功搭建開發環境的。本博客主要講解怎樣開發一個完整的項目,當你把開發環境搭建好以后就可以根據本博客這一系列文章開發出完全屬于你自己的一個完整項目,如果你能夠很快融會貫通很多功能完全可以開發的比我優秀。
原本我開發的這個系統是很多系統的集合,比如元數據管理可能都是由幾個項目單獨構成(或者說是工具吧)。在講解整個系統開發的過程中會涉及到很多概念性的東西,有些我可能會解釋,但不表示所有概念我都會解釋,如果遇到有不懂的概念而且我又沒有詳細解說這個概念,為了更好的理解這個系統你完全可以google上查找,畢竟這是一個學習的好習慣和好方法。
目前本人不是做C#或者是GIS相關的工作了,這個項目都是以前做的,不過一直放在我的電腦里面,現在介紹GIS開發的資料不是很多,完整介紹一個項目開發的GIS資料就少之又少了,至少我在學習的時候沒有找到過,更多是介紹一些零散的知識點。如果學習一些零散知識點還是建議找一本書籍(網上找電子書也可以),這樣對所有的零散知識點也有一個全面的掌控,利于我們在開發系統的時候選擇合適的技術或是方法到達我們需求需要的功能,而且是最簡單和最高效。我以前因為了解這些知識不多后面對代碼的修改量都是很大的。
開發一個完整的項目其實難點是在對項目需求上面,因為需求如果理解不是透徹可能后期返工比較嚴重。只要你下決心去做去學我覺得做一個項目的技術應該不是太大的問題,畢竟不是人人都需要去發明新技術,既然不是新技術那么你肯定通過學習就能掌握,只是每個人的掌握需要用到的時間不同而已。
在簡單說說這個項目,大家在看到運行界面的時候發現和VS提供的界面不一樣,那是因為我使用了第三方的界面開發庫,在以后的文章中不會詳細講解每一個界面的設計,只會講解一點點基本的時候。因為第三方的界面庫有很多,有免費的也有付費的(當然可以用破解版)。我想說明的是不用我使用的這個第三方庫也可以實現所有功能,所以不用太在意界面的功能。
本項目用到很多知識點,而且很多知識點可以單獨去完成一些功能,如果你對項目中用到的某一個技術很感興趣而且對你做其他項目有幫助你也可以自己嘗試去測試這些技術,安裝項目里實現的思路自己去做一個demo程序應該是很簡單的,而且所有重點代碼我都會在博客中完整貼出。不過需要強調一點的是因為很多變量可能是和控件綁定在一起的,通過讀代碼應該能夠看出,我盡量會在代碼注釋中體現控件綁定的變量。
這個項目對于一個人開發可能比較大了,所以要完整通過博客還原整個系統開發過程需要大量的時間和文章,不過我相信我能夠堅持到最后把這個項目完整呈現在大家面前。
完成這個項目以后我打算還會分享一個C#結合Flash開發的一個項目(flash主要做界面展示,C#做后臺數據庫管理和邏輯控制),這其中還涉及到很多其他技術,例如在我們的窗口中嵌套word程序、在我們的窗口中嵌套googleearth、通過googleearth搜索到某一個具體的地名并導航過去等等。還有一個小型的基于組的復雜權限控制系統后面有時間也可以拿出來分享。
期待你們的關注!
浙公網安備 33010602011771號