從Grid控制項到GIS軟體

來源:互聯網
上載者:User
故事從很久以前的1993年說起,這一年,蓋茨大叔的微軟發布了Visual Basic 3.0,VB 3.0增加了最新的ODBC2.0的支援,Jet資料引擎的支援,通過Grid控制項和資料控制項能夠建立出色的資料視窗應用程式,從此,VB一路走紅,終於成為這個世界使用人數最多的語言。

話題還要更久遠些,1970的6月,IBM聖約瑟研究實驗室的進階研究員埃德加·考特 (Edgar Frank Codd) 在Communications of ACM 上發表了《大型共用資料庫資料的關聯式模式》一文,註定了資訊時代的資料都是儲存在一個一個的二維的資料表裡,而這個時代都會圍繞這些關聯式資料庫運轉,猶如心臟。

為了顯示關係資料,就必須有Grid控制項,Grid控制項也就成了所有RAD開發工具的標配。如VB,如Delphi,以及無數第三方控制項。

以上是閑話。資料要顯示在Grid裡,最簡單的辦法是通過代碼把這個Grid畫出來,比如在VB裡,很多很多人使用Textbox或者Label控制項來類比 Grid(天知道誰教他們那麼搞),或者在VC裡一五一十的在paint方法裡用GDI畫一個Grid。這些都是史前人類的做法,雖然還有很多人這樣搞。

終於,程式員說,要Grid,於是就有無數的Grid控制項。所有的控制項都滿足,資料來源或者是一個資料庫連接,例如ADO的Recordset;或者 Grid暴露介面,程式按照需要填充;或者使用原始的方法,2重for迴圈,一個儲存格一個儲存格填補值。第一種辦法在於簡單,第二種辦法在於靈活,而且不犧牲效率,程式可以自己按需擷取需要的資料並填充這些Grid。如果有一個Grid控制項說,要使用我,必須把資料轉換為我的私人格式,那麼他肯定會死的很難看,並且成為飯後的談資,哪怕這個控制項的效率有多高。

回到GIS世界,如果有人說,MapX的顯示效率比較高,效果比較好,能不能使用ArcGIS的底層分析功能,通過MapX來顯示地圖呢。

可以嗎?

不可以嗎?

答案是,這樣不是不可以,但是,要使用一種史前人類的做法,我們需要把ArcGIS的資料通過n次遍曆,然後通過代碼動態添加到MapX裡,和前面提到的第三種使用Grid控制項的方法類似,對於Grid控制項,這種時候,一般都是顯示百十條資料。

空間技術相關領域一直是一個特殊世界,這個世界裡,大家往來困難,有些人和別人老死不相往來,例如地圖擠死。這種事情就好像你在美國有個親戚,要讓他給你講講ArcGIS的使用,你必須坐飛機到美國,然後聽他講完後再飛回來。沒有電話、沒有書信、更沒有QQ和MSN。

終於,在偉大的ArcGIS 9.2裡,增強了資料互操作的功能,這個功能可以讓ArcGIS無須轉換格式,直接讀取(或寫入)百十種其他資料格式,終於向開放世界前進了一大步。

所謂沒有無緣無故的愛,也沒有無緣無故的恨,搞GIS的也不會無緣無故就這樣白癡或者混蛋。那麼,是什麼造成了現在的局面呢,惟一的答案大概就只能是空間資料的特殊性。GIS並不是惟一可以表達空間資料的東東,CAD是古已有之的東東,而且現在還混的比GIS好。有這樣的前輩,GIS就更強調海量資料管理、空間分析等著眼點,反過來,CAD在繪圖、成圖方面的優勢導致了很多GIS資料是CAD做出來,然後轉換為GIS格式。

在CAD領域,不知道什麼時候開始,AutoDesk就一家獨大了,而AutoCAD格式就成了類似行業標準的東西(AutoCAD格式是否開放?)。和現在的MS Office成為Office市場的標準一樣。

早些年的GIS,是類似Matlab、SPSS這樣的東東,屬於學術範圍內的研究工具,或者特殊部門的特殊工具,無所謂開放或者不開放,那時候,使用GIS 的都是高手,興之所至,寫個程式把這個binary檔案轉換為另一個檔案格式手到擒來。這樣的高手,後來就索性做了GDAL,OGR。但隨著行業的發展,對空間資訊的需求也增加了,GIS更多的用來構建所謂的資訊系統,而不是作為類似Office或者AutoCAD這樣的工具,不過,沒有和其他資訊技術領域,GIS選擇了另外一條道理,一條包辦底層資料庫、中間分析引擎、上層顯示等等的一體化解決方案。

如果一家獨大,也許這條路還可以走通,前面說過的ArcGIS Reader會成為一個行業標配,但實際上沒有誰在這個市場可以成為主導。需求和供應開始產生矛盾,矛盾的焦點主要在於資料,在於互操作。

於是,人們說行業需要標準,就有了OGC規範。

這個世界有被很好執行的規範,比如北京的交通規則,也有沒有怎麼執行的規範,如武漢的交通規則,還有OGC規範。一筐筐的規範就那樣放著,很多人看著可惜,有能力的,就把這些東西加入了開源GIS。

現在,我們看到PostGIS越來越好,看到主流的資料庫系統都開始增加自己空間資料支援,看到有了專門空間資料運算的JTS和NTS,有資料發布的GeoServer,有資料顯示的OpenLayers,所以,我們有理由相信,這個行業的Grid控制項會越來越好用。

對於傳統的GIS軟體供應商,前面也許有2條路,要麼,適應時代潮流;要麼向Matlab、SAS這樣的專業軟體發展,為地理資訊科學研究服務。

最後,聲明一下,本文杜絕任何轉載,需要轉載請聯絡3snews或者Mars。

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.