天天干夜夜弄_黄毛片网站_2012中文版免费观看_久操视频在线_欧美日韩一区二区电影_日韩av片在线免费观看

  • Cehui8.com 測繪地理信息領(lǐng)域?qū)I(yè)門戶
  • 首頁 > 測繪論文 > GIS

    三維矢量GIS數(shù)據(jù)模型的建立

    2013-07-09 20:53:54 來源: 測繪論壇 作者:
    聊聊

    一、引 言
      到目前為止,三維GIS一直處于理論研究階段,雖然有三維GIS系統(tǒng)問世,但其功能遠(yuǎn)遠(yuǎn)不能滿足人們分析問題的需要,原因主要是三維GIS理論不成熟,其拓?fù)潢P(guān)系模型一直沒有解決,另外三維基礎(chǔ)上的數(shù)據(jù)量十分大,很難建立一個有效的,易于編程實現(xiàn)的三維模型。采用什么樣的數(shù)據(jù)模型對GIS空間拓?fù)潢P(guān)系的建立以及空間分析與操作至關(guān)重要。隨著在許多行業(yè)諸如煤炭、地質(zhì)、石油、礦山、城市地下管網(wǎng)、城市空間規(guī)劃等對三維GIS的需求日益迫切,三維GIS數(shù)據(jù)模型理論近來受到許多學(xué)者的關(guān)注,在八叉樹與三維邊界表示法基礎(chǔ)上提出了如基于八叉樹與TIN的混合結(jié)構(gòu)[1]、八叉樹與TEN的混合結(jié)構(gòu)[2]、面向?qū)ο蟮氖噶颗c柵格一體化結(jié)構(gòu)[3]以及其他結(jié)構(gòu)[4],盡管這些結(jié)構(gòu)在理論上有很大的進(jìn)展,但實現(xiàn)較困難,也難以與已有的二維GIS兼容。基于八叉樹結(jié)構(gòu)的缺點在于指針占用存貯空間大,重編碼費(fèi)時長且精度低,不宜于表示線面對象。而三維GIS中的矢量與柵格一體化在目前實現(xiàn)有相當(dāng)?shù)睦щy,且目前所提出的模型的可行性有待檢驗。三維GIS要比二維GIS復(fù)雜得多,如果GIS中拓?fù)淇臻g基本元素分為點、線、面,那么在二維空間的GIS中,GIS的主要元素點、線、面同處于一個平面上,點的第三維坐標(biāo)(高程)作為一個屬性值輸入,且一個面的描述只用其周邊即可確定。而在三維GIS中,面元素不再只是平面,而可能是極不規(guī)則的空間曲面。描述一個面元素不能再只用其邊線。面的生成與描述要用較復(fù)雜的方法,如用TIN、TEN或分塊Bezier曲面、分塊B樣條曲面合成的方法(后兩種算法適合于大面積較規(guī)則的曲面)。因而一個能直觀、全面、清晰地表達(dá)三維GIS中復(fù)雜的拓?fù)潢P(guān)系,并能簡捷地完成三維GIS空間數(shù)據(jù)分析和操作的數(shù)據(jù)模型成了人們研究探討的核心。這里筆者針對三維GIS拓?fù)淇臻g的復(fù)雜性,提出一種面向?qū)ο蟮娜SGIS空間矢量網(wǎng)狀數(shù)據(jù)模型,它以鏈表作為基本結(jié)構(gòu),把點、線、面、體看作是三維GIS的基本元素,以每個元素為對象設(shè)計數(shù)據(jù)結(jié)構(gòu)。這種結(jié)構(gòu)由面向?qū)ο蟮亩SGIS發(fā)展而來,符合人們處理GIS基本元素對象的習(xí)慣,能較直觀自然地表達(dá)三維GIS中各個對象間的拓?fù)潢P(guān)系,由面向?qū)ο蟮亩SGIS系統(tǒng)向面向?qū)ο蟮娜SGIS過渡也較易實現(xiàn)。
      二、面向?qū)ο笕S矢量GIS數(shù)據(jù)結(jié)構(gòu)
      按面向?qū)ο蟪绦蛟O(shè)計的風(fēng)格,對每一個基本元素定義一個類,拓?fù)潢P(guān)系包含在類的成員變量及成員函數(shù)中。這樣程序設(shè)計中只針對每個元素,運(yùn)用其成員變量,編寫其成員函數(shù),程序通過調(diào)用其成員函數(shù)即可實現(xiàn)拓?fù)潢P(guān)系的自動建立。用Visual C++可寫出三維矢量GIS數(shù)據(jù)模型如下:
      class CBasePoint //定義A基礎(chǔ)點元素類
      {
       struct point{  float x;//X坐標(biāo) 浮點型32位
               float y;//Y坐標(biāo) 浮點型32位
               float z;//Z坐標(biāo) 浮點型32位
               }point-element;//定義點類的坐標(biāo)結(jié)構(gòu)
       ……其他成員變量及成員函數(shù)。 };
      class CorPoint:CBasePoint //定義坐標(biāo)點元素類,由基礎(chǔ)點元素派生
      {
         Cpoly m-poly;//定義一個面元素變量標(biāo)識該點的歸屬,用來在輸入點后生成面
       ……其他成員變量及成員函數(shù)。 };
      class CnodPoint:CBasePoint //定義結(jié)點元素類,由基礎(chǔ)點元素派生 
      {
         LINELIST m-lines;// 定義一個線表用來管理以該點為結(jié)點的線元素
       ……其他成員變量及成員函數(shù)。 };
      class CBaseLine // 定義基礎(chǔ)線元素類
      {
       POINTLIST m-points;//定義一個表結(jié)構(gòu)用來管理構(gòu)成線元素的所有點元素。
       POINTLIST m-nodPoints;//定義一個表結(jié)構(gòu)用來管理該線元素的結(jié)點;
      ……其他成員變量及成員函數(shù)。};
      class CnodLine: CBaseLine //定義結(jié)線元素類,由基礎(chǔ)線類派生
      {
       POLYLIST m-poly;//定義一個表結(jié)構(gòu)用來管理以該線作為鄰邊的面元素。 
      ……其他成員變量及成員函數(shù)。};
      class Cpoly ///定義面元素類
      {
       LINELIST m-lineList;//定義一個表結(jié)構(gòu)用來管理構(gòu)成該面元素的所有線元素。
       LINELIST m-lineList2;//定義一個表結(jié)構(gòu)用來管理該面元素的所有邊線元素。 
       LINELIST m-nodLineList;//定義一個表結(jié)構(gòu)用來管理該面元素的所有結(jié)線。
       POINTLIST m-pointList;//定義一個表結(jié)構(gòu)管理用來生成該面元素的所有點元素。
       FORMLIST m-forms;//定義一個表結(jié)構(gòu)用來管理以該面元素為鄰面的體。
       ……其他成員變量及成員函數(shù)。};
      class Cform ///定義體元素類
      {
       POLYLIST m-polyList;//定義一個表結(jié)構(gòu)用來管理構(gòu)成該形體的所有面元素。
       POLYLIST m-nodPolyList;//定義一個表結(jié)構(gòu)用來管理該形體的所有公用面元素。
       TREELIST m-WeightPoint; //定義一個樹形結(jié)構(gòu)用來管理不均勻體中的插值點; 
       ……其他成員變量及成員函數(shù)。};
      以上表結(jié)構(gòu)用來保存指針,通過表結(jié)構(gòu)中的這種指針來表達(dá)空間拓?fù)潢P(guān)系。
      從上面的定義可以看出,每個基本元素類中包含了構(gòu)成它的基本元素,也包含了由它構(gòu)成的更高一級的元素。很顯然上面所描述的是一個具有網(wǎng)狀關(guān)系的數(shù)據(jù)模型。
      “構(gòu)成”是指上一級元素由下一級元素組成,“結(jié)線”是指多個面以此線為公共交線,“公共面”是指相鄰兩個體元素以此面作為公用面。“按算法生成”是指在許多情況下,一個曲面由輸入的線生成比較困難,而由點如用TEN(四面體格網(wǎng))進(jìn)行構(gòu)造生成一個曲面。“插值”是對不均勻體按已有點進(jìn)行插值用來表達(dá)不均勻體的空間特性,這些點按相鄰關(guān)系連接組成一個空間樹形。
      三、拓?fù)潢P(guān)系的構(gòu)造及生成原理
      上面所給出的數(shù)據(jù)結(jié)構(gòu)中,反映出的基本拓?fù)潢P(guān)系如下:
      點線關(guān)系(點為線結(jié)點,線由點構(gòu)成);點面關(guān)系(面由點通過算法生成,面包含點);線面關(guān)系(面由線擬合生成,線為面的結(jié)線);面體關(guān)系(體由面構(gòu)成,面為多體公用面)。隱含的關(guān)系有:線與線關(guān)系(多線共用結(jié)點——相交);面與面關(guān)系(多面共用結(jié)線——相交);體與體關(guān)系(多體相鄰或包含)。 
      這些關(guān)系基本上能全面反映已有的空間拓?fù)潢P(guān)系,由于以點、線、面、體基本對象構(gòu)建,故適合于面向?qū)ο蟮目臻g操作與分析。按上面數(shù)據(jù)模型有如下拓?fù)潢P(guān)系自動構(gòu)建過程,(以輸入數(shù)據(jù)為例,基本元素通過指針操作而非普通變量):
      到目前為止按矢量的方式,人們輸圖時是以點為基本元素輸入的,因而在建立拓?fù)潢P(guān)系之前,已有的基本元素只有點,所以拓?fù)潢P(guān)系的自動建立由點元素開始(在這里仍然沿用圖層的概念,同一類元素看作一層,并以層來管理同一類元素)。
      1.點的輸入
      每輸入一個點,如屬于某個面,按坐標(biāo)點類處理并在其關(guān)系表中加入特征值或編碼值,也可以是預(yù)先給定的面的編號,如屬于某條線則進(jìn)行線的生成。
      2.線的生成 
      加入一個新點,將此點加入到線的點表中,起點和終點作為結(jié)點加入到線的結(jié)點表中。 
      3.線線關(guān)系的建立
      每生成一個新線,與已有的所有可能相交的線進(jìn)行求交計算:交點作為結(jié)點加入到有關(guān)線的結(jié)點表中,新線也加入到有關(guān)結(jié)點類元素的線表中。
      4.面的生成
      對于規(guī)則的面(如平面)按二維處理。對于不規(guī)則的面,由一系列點按一定算法生成(用分塊B樣條曲面合成法或分塊Bezier曲面合成法,也可以用多曲線擬合法(適于直接由二維GIS中已有的等值線構(gòu)造曲面)),生成后的曲面再進(jìn)行填充、光照效果等處理后即可用來較真實地反映三維GIS中曲面實體。
      5. 線面關(guān)系的建立
      顯然通過面的生成,如果線在一個面內(nèi),線面關(guān)系已經(jīng)存在;當(dāng)一條線不屬于某一個面時則要進(jìn)行線面關(guān)系的處理。經(jīng)過復(fù)雜的計算可以確立如相交、相離等關(guān)系。對這種復(fù)雜關(guān)系使用相應(yīng)的成員函數(shù)動態(tài)地建立相應(yīng)的關(guān)系表(對已有的拓?fù)潢P(guān)系進(jìn)行進(jìn)一步完善)。
      6.面面關(guān)系的建立 
      確立面面關(guān)系,主要是進(jìn)行面面求交計算,得到新面與結(jié)線。在結(jié)線的面表中加入有關(guān)面元,在面元的結(jié)線表中加入有關(guān)線,這樣進(jìn)一步確立了線面關(guān)系,也得到了面面關(guān)系。
      7. 體的生成
      類似于二維中面的生成,按算法搜索閉合空間即構(gòu)成一個體元。體元生成后體與面的關(guān)系也已經(jīng)存在。這時可以進(jìn)行體與體之間的拓?fù)潢P(guān)系(如包含關(guān)系)的生成。這里體的搜索按空體進(jìn)行,對于實體用填充方法由空體得到。 
      
      四、空間數(shù)據(jù)庫的建立
      上面給出的結(jié)構(gòu)似乎存在大量數(shù)據(jù)冗余,但實際上數(shù)據(jù)的存貯幾乎不存在冗余。這是由圖2所給出的存貯過程決定的(以一個體元的存貯過程為例說明)。
      很明顯,這里建立的是一個網(wǎng)絡(luò)數(shù)據(jù)庫,一般網(wǎng)絡(luò)數(shù)據(jù)庫模型是用連接指令或指針來確定數(shù)據(jù)間的顯式連接關(guān)系的,因而數(shù)據(jù)間關(guān)系復(fù)雜時指針部分會占大量存貯空間。這是網(wǎng)狀數(shù)據(jù)庫的最大缺點。在本結(jié)構(gòu)中在數(shù)據(jù)量不大時將32位指針以16位整數(shù)編號代替,可得到改善。事實上在關(guān)系數(shù)據(jù)庫中,關(guān)系表中都要建立記錄號,許多時候還要人為地加以編號,同樣占用大量的存貯空間,另外關(guān)系表本身難以表達(dá)完整的拓?fù)淇臻g關(guān)系。在進(jìn)行空間查詢時,在網(wǎng)狀數(shù)據(jù)庫中可以不進(jìn)行操作運(yùn)算,其存貯結(jié)構(gòu)可以使查找從任一元素節(jié)點開始,存在唯一路徑,并以另一元素節(jié)點結(jié)束。
      圖3為調(diào)查某林地地下水測得的含水層位置圖,由三個體元構(gòu)成。按本文提出模型有表1、表2所示的存貯關(guān)系(限于篇幅不列出線元素及點元素)。

       
    五、結(jié)束語 
      本文提出的數(shù)據(jù)模型可以清楚地描述三維GIS復(fù)雜的空間拓?fù)潢P(guān)系,該模型不再對三維GIS中的元素進(jìn)行維數(shù)劃分,而以其類型劃分。在拓?fù)潢P(guān)系建立中均勻?qū)嶓w看作空體處理,不均勻?qū)嶓w看作是空體的填充,并以一個點樹來表達(dá)其不均勻性,這一點沿用二維GIS中多邊形填充的思想。這樣在以此數(shù)據(jù)模型構(gòu)建的系統(tǒng)中GIS的基本元素就有點、線、面、體四種,數(shù)據(jù)的空間操作與分析以這些基本元素為單元進(jìn)行,易于編程實現(xiàn),且能較好地與已有面向?qū)ο蟮亩SGIS兼容。在空間數(shù)據(jù)的存貯中也以這些基本元素為對象進(jìn)行存貯,避免了數(shù)據(jù)的大量冗余。構(gòu)建的網(wǎng)絡(luò)數(shù)據(jù)庫結(jié)構(gòu),很直觀地保存了空間拓?fù)潢P(guān)系,便于查詢與空間分析等操作。另外以面向?qū)ο蟮哪P蜆?gòu)建的系統(tǒng)本身具有良好的可持續(xù)發(fā)展性

      聲明①:文章部分內(nèi)容來源互聯(lián)網(wǎng),如有侵權(quán)請聯(lián)系刪除,郵箱 cehui8@qq.com

      聲明②:中測網(wǎng)登載此文出于傳遞更多信息之目的,并不意味著贊同其觀點或證實其描述,文章內(nèi)容僅供參考。

      加群提示:我們創(chuàng)建了全國32個省份的地方測繪群,旨在打造本地測繪同行交流圈,有需要請聯(lián)系管理員測小量(微信 cexiaoliang)進(jìn)群,一人最多只能進(jìn)入一個省份群,中介人員勿擾

    主站蜘蛛池模板: 欧美一区永久视频免费观看 | 日韩在线视频一区二区三区 | 日韩电影免费在线观看中文字幕 | 免费不卡一区 | 午夜免费视频观看 | 国产视频一二区 | 国产综合av | 亚洲精品在线视频 | 国产999精品久久久久久 | 欧美日黄| 黄色国产一级视频 | 国产一级毛片国语一级 | 中文字幕加勒比 | 国产日韩欧美在线 | 国产探花在线观看 | 欧美一区二区三区在线观看 | 日韩中文一区二区三区 | 天天干狠狠操 | 久久天堂 | 日韩免费视频 | 亚洲视频免费网站 | 国产精品国产自产拍高清av | 91日日| 久久久久久影院 | 懂色av中文一区二区三区天美 | 免费日韩 | 国产一级黄色大片 | 国产精品无码久久综合网 | 欧美午夜视频 | 欧美一级黄色网 | 成人欧美一区二区三区在线观看 | 国产精品一二区 | 国产乱码精品一区二区三区忘忧草 | 天天操狠狠操 | 欧美日韩在线免费观看 | 亚洲欧美综合精品久久成人 | 日本欧美国产 | 色就是色欧美 | 国产午夜久久久久 | 激情.com| 高潮毛片又色又爽免费 |