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

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

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

在GIS中,對於數據格式的分類,咱們通常會將其分爲柵格數據和矢量數據兩種類型。柵格數據是將空間看作離散的像元,由二維數組或者其餘數據組織方式來進行表達。矢量數據偏偏相反,它將空間當作是連續的,用要素(點、線、面)來進行表達。數組

咱們把柵格數據和矢量數據的特色概括以下:微信

(1)柵格數據是離散的,矢量數據是連續的。因此柵格數據多用二維數組(行、列)的方式組織。而矢量數據能夠理解爲一種向量,它用平面座標(X、Y)的有序幾何來組織。優化

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

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

(4)拓撲關係是基於矢量數據的。繼承

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

2.由理論引起的推論

首先我一樣先提出幾個問題:圖片

(1)WebGIS中,地形圖自己是柵格數據仍是矢量數據?get

(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/

                                                                 若是您以爲本文確實幫助了您,能夠微信掃一掃,進行小額的打賞和鼓勵,謝謝 ^_^

                                

相關文章
相關標籤/搜索