(七)WebGIS中柵格、矢量圖層設計之柵格、矢量圖層的本質


文章版權由作者李曉暉和博客園共有,若轉載請於明顯處標明出處:http://www.cnblogs.com/naaoveGIS/

1.何為柵格數據,何為矢量數據?

在GIS中,對於數據格式的分類,我們一般會將其分為柵格數據和矢量數據兩種類型。柵格數據是將空間看做離散的像元,由二維數組或者其他數據組織方式來進行表達。矢量數據恰恰相反,它將空間看成是連續的,用要素(點、線、面)來進行表達。

我們把柵格數據和矢量數據的特點歸納如下:

(1)柵格數據是離散的,矢量數據是連續的。所以柵格數據多用二維數組(行、列)的方式組織。而矢量數據可以理解為一種向量,它用平面坐標(X、Y)的有序幾何來組織。

(2)柵格數據的最小單位是像素,矢量數據的最小單位是要素。

(3)柵格數據的屬性由像素的像素值來表示,矢量數據的屬性由要素的屬性來表示。

(4)拓撲關系是基於矢量數據的。

以下分別是一張柵格數據圖層和一張由點、線、面組成的矢量數據圖層組的截圖:

2.由理論引發的推論

首先我同樣先提出幾個問題:

(1)WebGIS中,地形圖本身是柵格數據還是矢量數據?

(2)用戶需要與圖層交互時,比如需要圖層響應點擊事件,返回點擊處的屬性,此時圖層是用柵格的數據方式顯示,還是矢量數據方式顯示?

(3)需要判斷兩個圖層的拓撲關系,比如判斷房屋圖層中哪些房屋落在了綠地圖層中的綠地里,此時是用柵格圖層還是矢量圖層?

等等。

先回答第一個問題,我們在前面反復講解了瓦片的獲取,並介紹了如何在前端最后拼接出一個完整的地形圖,顯而易見,這里的地形圖也就是由PNG或其他格式組成的一張圖片而已。圖片本身是由離散的像素在二維方向上組成的,而這正是柵格數據的組織方式,所以WebGIS中,我們得到的地形圖可以理解為一種柵格圖層。

第二個問題,鼠標點擊到圖層上的某處,需要返回此時點擊處的屬性。在第一節中我們已經提到,柵格數據是由像素值來表示屬性的,所以它是不能滿足用戶需求的。這里,我們只能用矢量圖層來完成這個需求。那么怎么完成呢?一般來說,有兩種方式,分別是前台實現需求和后台實現需求。具體實現原理在后面的矢量圖層設計時會給出。

第三個問題,同樣也只能選擇矢量圖層來完成需求。拓撲關系的判斷是只有矢量圖層可以進行的。

通過上面三個問題,我們可以歸納如下兩個推論:

(1)WebGIS中,地形圖等底圖,是由柵格圖層組成的。他們本身與用戶無法進行復雜的前端交互。

(2)矢量圖層可以滿足用戶的多種需求,在與要素屬性、拓撲關系等有關的需求里,它是不二之選。

3.矢量圖層在WebGIS中的表示方式

我們已經知道了WebGIS中的柵格圖層就是我們的地圖圖片,那么WebGIS中的矢量圖層又是什么呢?

我們用ArcMap打開一個shape格式的面圖層(矢量圖層)時,顯示框里就會繪出很多個面來,這些面我們可以選擇用不同的顏色來表示,我們的鼠標點擊到那些面時,這些面也會做出相應的反應。同樣,我們在WebGIS中也希望達到相同的效果,那么該如何實現?

首先,能夠響應鼠標點擊事件,用繼承了UIComponent的類是最易實現的。

其次,可以用不同的顏色來表示,並可以繪出不同的形狀。繼承了UIComponent的類,本身均有graphics屬性,在graphics上便可以隨意的畫出想畫的顏色和形狀。

於是,結論基本已經可以得出了,WebGIS中矢量圖層是用繼承了UIComponent的類來表示的。

但是,這里我還是要告訴大家,這個結論其實也只對了一半。真正的結論是:用繼承於UIComponent的類來表示要素,用將要素作為children的Canvas來表示矢量圖層。

這里,我再給大家提一個問題:

UIComponent中,我們如果要畫出要素的形狀,就必須首先得到要素的坐標集合,而要素的坐標集合我們是如何得到的呢?這個問題同樣我會在后面專門花一個章節來進行講解。

4.總結

這一章節里,我們講了WebGIS中的柵格圖層和矢量圖層的本質,從下一章開始,我們便要真正的開始探索如何來設計和實現柵格圖層以及矢量圖層了。下一章:柵格圖層的設計和優化,敬請關注。

我們以一張WebGIS中,柵格數據和矢量數據同時存在的地圖來作為本章的結束:

                                                        

 

 

寫幾句話送給我一個好朋友:

我們因為不同的原因,都有過絕望的時刻,想過徹底的逃離,無比的期望時間能快點翻到下一頁,翻到我們成熟了甚至老去了。我們知道這些事情都會是噩夢,你或許很久很久都無法擺脫,可是經歷過這些的,你的幾個朋友,到最后都慢慢的好起來了,生活着工作着,事情雖然不好,可是一定沒有你想的那么糟。My brother,you have many beautiful things,they will never leave you。

 

                                                        -----歡迎轉載,但保留版權,請於明顯處標明出處:http://www.cnblogs.com/naaoveGIS/

                                                                 如果您覺得本文確實幫助了您,可以微信掃一掃,進行小額的打賞和鼓勵,謝謝 ^_^

                                


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM