專利名稱:三維海島沙盤實現(xiàn)方法
技術(shù)領(lǐng)域:
本發(fā)明涉及海島管理技術(shù)領(lǐng)域,特別涉及一種三維海島沙盤實現(xiàn)方法。
背景技術(shù):
三維電子沙盤是ー種將遙感影像、三維建筑模型、地形、動畫等多種元素在地圖上融合并展示的應(yīng)用技術(shù),該技術(shù)以應(yīng)用為主線,使設(shè)計方案、表現(xiàn)效果圖、三維模擬動畫與實體模型產(chǎn)生相互對應(yīng)。使用時,用戶點擊地圖中某一位置,可以顯示出該點附近的地形地貌特征和建筑物等,點擊建筑物可以顯示出建筑物的各種資料,這將會給用戶產(chǎn)生深刻的印象,使用戶能得到直觀的認識。由于三維電子沙盤的上述特點,在海島管理領(lǐng)域,如果能夠?qū)崿F(xiàn)三維海島沙盤,將為各級政府海島管理部門對海島地理地貌情況展示、海島用地規(guī)劃、海島情況統(tǒng)計等應(yīng)用提供ー個強有力的工具。為了實現(xiàn)三維海島沙盤,現(xiàn)有技術(shù)中有ー些大體的設(shè)想,例如—、基于谷歌地球(Google Earth)實現(xiàn),谷歌地球是ー款Google公司開發(fā)的虛擬地球儀軟件,它把衛(wèi)星照片、航空照相和三維(3D)建筑、3D樹木、3D地形、街景視圖布置在ー個地球的三維模型上。用戶可以在三維球體上繪制多邊形、進行空間自由瀏覽、進行距離和面積量測、傾斜和旋轉(zhuǎn)觀測3D地物等。使用Google Earth以圖層方式管理云圖、三維建筑、道路等不同類型信息,不同的數(shù)據(jù)類型形成一個單獨的圖層,用戶可以選擇 查看不同圖層,從而得到不同的信息。例如用戶選擇查看地圖中的建筑物情況,則系統(tǒng)會將地圖范圍內(nèi)的建筑物數(shù)據(jù)以建筑物圖層的形式發(fā)布給用戶,用戶即可在地圖上看到建筑物圖層的情況,選擇其它數(shù)據(jù),則會向用戶發(fā)布其它對應(yīng)的圖層數(shù)據(jù)。但是Google Earth只能完整識別和導(dǎo)入草圖大師(Sketch Up)格式的三維模型,對于其它格式的三維模型,會有些信息因不支持而在導(dǎo)入時喪失,因此,所有三維模型數(shù)據(jù)需要使用特定的軟件制作成Sketch Up格式并導(dǎo)入,使用時,需要對導(dǎo)入的三維模型進行逐ー渲染,形成三維場景。另外,GoogleEarth是ー種通用化的方案,其無法針對特定應(yīng)用進行特定業(yè)務(wù)功能,例如無法進行與海島相關(guān)業(yè)務(wù)分析,如離岸分析、空間量測、用島單元,而且其最后發(fā)布成果時,也只能按照不同的數(shù)據(jù)類別即不同的圖層進行發(fā)布,且不支持數(shù)據(jù)的離線加載,只能通過網(wǎng)絡(luò)發(fā)布。ニ、基于三維制圖平臺實現(xiàn)例如基于超圖和ArcGlobe等三維平臺建立三維沙盤。此種方案也是采用圖層方式渲染三維場景,可以加載紋理、屬性數(shù)據(jù)、地形、影像、三維模型等數(shù)據(jù)。同時,基于三維平臺的地理信息系統(tǒng)(GIS)分析功能,可以實現(xiàn)一般性三維分析。但是,與Google Earth—樣,不管使用哪種三維平臺,都需要通過導(dǎo)入預(yù)先制作好的三維模型,來進行三維場景的渲染,這些三維模型都是依靠特定軟件獨立完成,其中各三維模型都是單獨制作,完全依靠人工完成,需要花費大量的人力、和時間。這樣的實現(xiàn)方式使得三維海島沙盤的實現(xiàn)難度很大,時間成本和人力成本都很高。另外,現(xiàn)有的三維制圖平臺提供的分析功能包括緩沖區(qū)分析、坡度分析、高程量測、淹沒分析等,不能完全覆蓋主要的海島業(yè)務(wù)應(yīng)用。而且制作成的沙盤成果只能通過相應(yīng)的軟件才能打開,這限制了三維海島沙盤成果的應(yīng)用范圍,使用不便。
發(fā)明內(nèi)容
本發(fā)明提供了一種三維海島沙盤實現(xiàn)方法,能夠降低三維海島沙盤的實現(xiàn)難度。為達上述目的,本發(fā)明的技術(shù)方案具體是這樣實現(xiàn)的一種三維海島沙盤實現(xiàn)方法,該方法包括導(dǎo)入渲染對象的ニ維空間數(shù)據(jù)、高程數(shù)據(jù)和屬性信息;通過所述高程數(shù)據(jù)對所述渲染對象的ニ維空間數(shù)據(jù)進行拉伸,生成所述渲染對象的三維數(shù)據(jù);根據(jù)所述渲染對象的三維數(shù)據(jù)進行渲染;根據(jù)所述渲染后的渲染對象的三維數(shù)據(jù)以及屬性信息,構(gòu)建三維場景進行展示。優(yōu)選地,所述導(dǎo)入渲染對象的ニ維空間數(shù)據(jù)、高程數(shù)據(jù)和屬性信息,之前,該方法進ー步包括獲取用于描述所述渲染對象的原始數(shù)據(jù);對所述原始數(shù)據(jù)進行解析,獲取解析出的渲染對象,以及所述渲染對象對應(yīng)的數(shù)據(jù)信息;從所述渲染對象對應(yīng)的數(shù)據(jù)信息中提取所述渲染對象的空間信息和屬性信息;將所述渲染對象的空間信息整理為所述渲染對象的ニ維空間數(shù)據(jù)和高程數(shù)據(jù);所述構(gòu)建三維場景進行展示之后,該方法進ー步包括將所述構(gòu)建的三維場景保存為場景文件,通過網(wǎng)絡(luò)發(fā)布所述場景文件。優(yōu)選地,所述渲染對象的ニ維空間數(shù)據(jù)包括所述渲染對象的點、線、面的空間坐標數(shù)據(jù)。所述根據(jù)渲染對象的三維數(shù)據(jù)進行渲染,包括對所述點的空間坐標數(shù)據(jù)以多點(Multipoint)對象渲染;對所述線的空間坐標數(shù)據(jù)以多線(Multipolyline)對象渲染;對所述面的空間坐標數(shù)據(jù)以多邊形(Multipolygon)對象渲染;將所述面的空間坐標數(shù)據(jù)結(jié)合所述高程數(shù)據(jù),形成三維對象,并以多邊形(Multipolygon)對象渲染。優(yōu)選地,所述根據(jù)渲染對象的三維數(shù)據(jù)進行渲染,進一歩包括對于建筑物類型的三維渲染對象,計算所述建筑物對象的各個腳點的高程,獲取腳點的高程平均值;以所述腳點的高程平均值構(gòu)成的面為基準面,根據(jù)所述建筑物對象的高度進行拉伸,生成建筑物對象的三維玻璃體模型。優(yōu)選地,所述形成建筑物對象的三維玻璃體模型后,該方法進ー步包括
根據(jù)所述建筑物對象對應(yīng)的屬性信息,對根據(jù)不同屬性的建筑物對象生成的三維玻璃體模型進行著色。優(yōu)選地,該方法進ー步包括導(dǎo)入由多個點數(shù)據(jù)構(gòu)成的線狀海岸線對象的空間坐標數(shù)據(jù);依次計算構(gòu)成所述海岸線對象的所有點中,所有相鄰兩點構(gòu)成的線段的垂直平分線;在所述垂直平分線上以預(yù)設(shè)的離岸距離取點,得到與所述海岸線對象距離為所述離岸距離的點構(gòu)成的線狀離岸距離對象;判斷選取的所述建筑物對象的各個腳點是否落在所述線狀離岸距離對象與所述海岸線對象之間,若是,則發(fā)出報警信息。優(yōu)選地,該方法進ー步包括導(dǎo)入用島單元數(shù)據(jù);根據(jù)選取的用島單元,計算隸屬于此用島單元的每個建筑物對象的三維包圍盒,判斷所述每個建筑物對象的三維包圍盒的四個底部坐標是否在所述用島単元范圍外,若是則進一歩判斷建筑物的每個腳點是否在所述用島単元范圍外,若是,則發(fā)出報警信息。優(yōu)選地,該方法進ー步包括獲取選取的建筑物對象的高度值,將所述高度值與預(yù)設(shè)的高度閾值進行比較,若所述高度值大于所述高度閾值,則發(fā)出報警信息。
優(yōu)選地,該方法進ー步包括導(dǎo)入規(guī)劃圖件數(shù)據(jù);計算選取的建筑物對象的三維包圍盒,判斷所述建筑物對象的三維包圍盒底部的各個點是否在所述規(guī)劃圖件數(shù)據(jù)規(guī)定的范圍外,如是,則繼續(xù)判斷所述建筑物對象的所有腳點是否在所述規(guī)劃圖件數(shù)據(jù)規(guī)定的范圍外,如果有ー個所述腳點在所述規(guī)劃圖件數(shù)據(jù)規(guī)定的范圍外,則發(fā)出報警信息。 優(yōu)選地,該方法進ー步包括根據(jù)選擇的視點、設(shè)定的高度及拉選的圓形范圍,獲取從所述視點開始向所述圓形范圍內(nèi)各點的射線,在所述射線上,按照預(yù)設(shè)的距離取多個點,依次判斷相鄰三點之間是否通視;所述判斷相鄰三點之間是否通視,包括獲取所述相鄰三點中,每一點的高程數(shù)據(jù),判斷中間點的高度是否大于其余兩點,是則判定所述相鄰的三點不通視。優(yōu)選地,該方法進ー步包括將所述構(gòu)建的三維場景保存為場景文件,通過網(wǎng)絡(luò)發(fā)布所述場景文件。由上述技術(shù)方案可見,本發(fā)明的這種三維海島沙盤實現(xiàn)方法,通過導(dǎo)入渲染對象的ニ維數(shù)據(jù),并通過對渲染對象的ニ維數(shù)據(jù)進行拉伸來形成渲染對象的三維數(shù)據(jù),并對渲染對象的三維數(shù)據(jù)進行渲染和展示,從而實現(xiàn)三維海島沙盤。由于使用的數(shù)據(jù)是ニ維數(shù)據(jù),并通過高程數(shù)據(jù)拉伸得到三維數(shù)據(jù),省去了人工制作三維模型的大量工作,大大降低了三維海島沙盤實現(xiàn)的難度,同時節(jié)省了大量的時間成本和人力成本。另外,本發(fā)明還針對海島管理應(yīng)用中的特殊需求,基于三維海島沙盤設(shè)計實現(xiàn)了多種數(shù)據(jù)分析功能,更加符合海島業(yè)務(wù)需要。通過將三維海島沙盤中構(gòu)建的三維場景保存成文件并通過網(wǎng)絡(luò)發(fā)布,極大地擴展了三維海島沙盤成果的應(yīng)用范圍,讓三維海島沙盤成果的展示更加便利。
圖1為本發(fā)明實施例一的三維海島沙盤實現(xiàn)方法流程圖。圖2為本發(fā)明實施例ニ的三維海島沙盤實現(xiàn)方法原理示意圖。
具體實施例方式為使本發(fā)明的目的、技術(shù)方案及優(yōu)點更加清楚明白,以下參照附圖并舉實施例,對本發(fā)明進一歩詳細說明。如圖1所示,本發(fā)明實施例一的三維海島沙盤實現(xiàn)方法包括如下步驟步驟101,導(dǎo)入渲染對象的ニ維空間數(shù)據(jù)、高程數(shù)據(jù)和屬性信息;步驟102,通過所述高程數(shù)據(jù)對所述渲染對象的ニ維空間數(shù)據(jù)進行拉伸,生成所述渲染對象的三維數(shù)據(jù);步驟103,根據(jù)所述渲染對象的三維數(shù)據(jù)進行渲染;步驟104,根據(jù)所述渲染后的渲染對象的三維數(shù)據(jù)以及屬性信息,構(gòu)建三維場景進行展示。
其中,步驟101中導(dǎo)入的渲染對象的ニ維空間數(shù)據(jù)、高程數(shù)據(jù)和屬性信息可以按照如下方式獲取預(yù)先獲取用于描述所述渲染對象的原始數(shù)據(jù);然后通過對所述原始數(shù)據(jù)進行解析,獲取解析出的渲染對象,以及所述渲染對象對應(yīng)的數(shù)據(jù)信息。再從所述渲染對象對應(yīng)的數(shù)據(jù)信息中提取所述渲染對象的空間信息和屬性信息;最后將所述渲染對象的空間信息整理為所述渲染對象的ニ維空間數(shù)據(jù)和高程數(shù)據(jù)。其中,上述原始數(shù)據(jù)如圖2中所示,可以包括但不限于如下數(shù)據(jù)影像數(shù)據(jù)、高程(DEM)數(shù)據(jù)、矢量數(shù)據(jù)、DWG數(shù)據(jù)、海監(jiān)航線、GoogleKML數(shù)據(jù)、三維模型數(shù)據(jù)、用島單元及建筑物。上述各種數(shù)據(jù)介紹如下數(shù)字高程模型(Digital Elevation Model)簡稱高程(DEM)數(shù)據(jù),它是用一組有序數(shù)值陣列形式表示地面高程的一種實體地面模型數(shù)據(jù),是數(shù)字地形模型(Digital TerrainModel,簡稱DTM)的ー個分支,其它各種地形特征值均可由此派生。高程(DEM)數(shù)據(jù)在測繪、水文、氣象、地貌、地質(zhì)、土壌、工程建設(shè)、通訊、氣象、軍事等國民經(jīng)濟和國防建設(shè)以及人文和自然科學領(lǐng)域有著廣泛的應(yīng)用。矢量數(shù)據(jù)矢量數(shù)據(jù)(VectorData)是在直角坐標系中,用X、Y坐標表示地形或地理實體的一種ニ維數(shù)據(jù),是ニ維GIS中的通用數(shù)據(jù)格式文件,具有空間點、線、面等實體數(shù)據(jù)類型。
其中,點實體在ニ維空間中,點實體可以用ー對坐標X,Y來確定位置;線實體線實體可以認為是由連續(xù)的直線段組成的曲線,用坐標串的集合(X1, Y1,X2, Y2……Xn,Yn)來記錄;面實體在記錄面實體時,通常通過記錄面狀地物的邊界來表現(xiàn),因而有時也稱為多邊形數(shù)據(jù)。DffG文件自動計算機輔助設(shè)計(AutoCAD)的數(shù)據(jù)格式文件,在海島規(guī)劃中應(yīng)用最多的文件,它包含點、線、面等基本空間數(shù)據(jù)類型。影像數(shù)據(jù),作為數(shù)據(jù)庫(DB)文件存儲,其包含點信息和空間范圍屬性等。Google KML數(shù)據(jù)為Google Earth中的地標文件,其包含點、線、面、體等多種空間信息。三維模型數(shù)據(jù)是指描述三維模型中各個點的位置、紋理等信息的一般性數(shù)據(jù)。海監(jiān)航線、用島單元和建筑物數(shù)據(jù)是與海島管理業(yè)務(wù)相關(guān)的ー些特定數(shù)據(jù),包含點、線、面的坐標信息和相關(guān)屬性信息。其中,海監(jiān)航線數(shù)據(jù)包括船舶的航線相關(guān)的點、線數(shù)據(jù),類似的數(shù)據(jù)還有海岸線數(shù)據(jù)等;用島單元數(shù)據(jù)是政府規(guī)劃的海島用地単元數(shù)據(jù),主要是面數(shù)據(jù)和ー些屬性數(shù)據(jù),類似的數(shù)據(jù)還有規(guī)劃圖件數(shù)據(jù)等,建筑物數(shù)據(jù)則是與建筑物相關(guān)的屬性數(shù)據(jù)或點、線、面、高度等數(shù)據(jù)。圖2中,示出了本發(fā)明實施例ニ的三維海島沙盤實現(xiàn)方法,其中包括解析步驟201 :根據(jù)不同數(shù)據(jù)格式,采用不同解析方法,如矢量數(shù)據(jù),按照國際的統(tǒng)ー標準結(jié)構(gòu),構(gòu)建相同的解析對象類,加載文件到對象類,對其進行解析,獲取數(shù)據(jù)信息。
`
提取步驟202 :對獲得解析對象,進行信息的提取。提取空間點、線、面和文本屬性等信息。如矢量數(shù)據(jù),在解析對象結(jié)構(gòu)中將有用的點、線、面、及包含的一些字段信息提取出來,摒棄ー些不需要的信息。整理步驟203 :將獲取的到空間信息和屬性信息,組織成三維渲染引擎對象識別的對象。如,點數(shù)據(jù)組織成點坐標Vector3d (x, y, z)的數(shù)據(jù)形式,并以Multipoint對象渲染。線則由點構(gòu)成為Multipolyline對象渲染。面則有點構(gòu)成三角面,用Multipolygon進行渲染。由面信息再加上高程信息中的高度的屬性信息則可以形成三維的玻璃體對象(三維玻璃體是使用透明紋理代替三維模型實體表面真實紋理的一種三維模型簡化表達方法,可以減少三維模型的數(shù)據(jù)量),同樣以Multipolygon進行渲染。渲染引擎加載步驟204 :通過以上步驟轉(zhuǎn)換形成的渲染對象可以直接進行加載,實現(xiàn)在三維數(shù)字地球上進行渲染及展示。其中,ニ維數(shù)據(jù)主要包含各種格式的矢量數(shù)據(jù),這些矢量數(shù)據(jù)包括ニ維點、線、面的空間坐標以及屬性描述信息,并按照各種軟件平臺特有的格式進行存儲。本發(fā)明實施例中采取的渲染機制,就是通過從ニ維格式中提取有效信息,并加以組合,形成三維平臺支持的數(shù)據(jù)格式。然后自動對矢量數(shù)據(jù)中的幾何對象按照高程數(shù)據(jù)進行拉伸,形成三維玻璃體模型,并控制顯示風格,從而進行渲染。在由ニ維數(shù)據(jù)加載并形成三維海島沙盤后,本發(fā)明實施例還進ー步針對海島管理中常用的用島單元及建筑物對象的分析管理業(yè)務(wù)需求以及根據(jù)海島管理應(yīng)用,進行了ー些改進,并設(shè)計了ー些實用的功能具體如下
第一、針對海島應(yīng)用,對三維模型渲染時的改進1、建筑平頂,與地形進行匹配。在傳統(tǒng)的構(gòu)建模型加載到三維球體上吋,在地形起伏的地方會出現(xiàn)房屋(建筑物的三維模型)傾斜的現(xiàn)象,與實際的建筑情況不符。為此,我們充分考慮地形的因素,對于起伏地段,我們計算建筑物的各個腳點的高程,獲取平均值,以此為基準面在按照建筑高度進行建筑拉伸,實現(xiàn)建筑物的平頂效果,更加真實再現(xiàn)場景。2、建筑著色。在海島使用開發(fā)中,每個建筑物都有建筑結(jié)構(gòu)屬性,如鋼筋水泥、木質(zhì)、鋼結(jié)構(gòu)等,將這ー屬性類別與顔色進行結(jié)合,形成了建筑屬性顏色關(guān)系結(jié)構(gòu)標準,在此標準的基礎(chǔ)上,根據(jù)建筑物的屬性信息,設(shè)置顯示不同的風格顏色,從而讓使用者通過顏色即可輕松分辨出建筑物的類型。第二,各種有針對性的業(yè)務(wù)功能實現(xiàn)。1、離岸距離分析功能描述在海島開發(fā)建設(shè)過程中,要求新建的建筑設(shè)施要遠離海島岸線一定距離,此功能即為判斷建筑物到海島岸線的距離是否小于規(guī)定的離岸距離。實現(xiàn)原理首先設(shè)定要求的離岸距離,然后在原有的海島岸線空間數(shù)據(jù)(線狀)的基礎(chǔ)上,依次計算每相鄰兩個點間線段的垂直平分線,再根據(jù)設(shè)定的距離在垂直平分線上獲取所需的點,最后將這些點形成一個環(huán),即為離岸距離對象。接下來判斷選取的所述建筑物對象的各個腳點是否落在所述線狀離岸距離對象與所述海岸線對象之間,若是,則判定為違規(guī)建筑。進而可以發(fā)出報警信息或提示。2、用島單元分析功能描述用島單元即為建筑物用地的范圍。此功能為判斷建筑物是否超出了用島單元。實現(xiàn)原理選定用島單元,計算隸屬于此用島單元的每個建筑的三維包圍盒(三維包圍盒是包圍建筑物的ー個立方體范圍),計算每個包圍盒的四個底部坐標點是否在用島単元外,如果在外面則進一歩判斷建筑物的每個腳點是否在用島單元外,若在外面則為違規(guī)建筑。進而可以發(fā)出報警信息或提示。先進行三維包圍盒的腳點檢測,再檢測具體建筑的腳點,可以節(jié)省檢測時間和復(fù)雜度。一般來說,建筑物不是規(guī)則的長方體,其底面形狀一般都是多邊形,建筑物的三維包圍盒的底面的范圍要大于等于建筑物的具體腳點所包括的范圍,建筑物的三維包圍盒的范圍沒有超出用島單元的范圍,則該建筑物本身肯定不會超出用島單元的范圍,所以,先對建筑物的三維包圍盒的腳點進行檢測,可以快速排除那些不可能超范圍的建筑物,同吋,由于三維包圍盒的腳點要比建筑物的實際腳點要少,最多是相同的,所以不需要檢測所有的建筑物腳點,減少檢測的時間和復(fù)雜度。3、超高分析功能描述海島開發(fā)中對建筑物的建筑高度有明確規(guī)定限制高度,此功能判斷建筑物是否超出了限制高度。實現(xiàn)原理獲取建筑物的頂部一點的高度值,與規(guī)定的高度閾值進行對比,大于則為違規(guī)建筑物。進而可以發(fā)出報警信息或提示。
4、規(guī)劃范圍分析功能描述在海島管理中,對于各個海島及海域的用途等均有規(guī)劃圖件(矢量數(shù)據(jù)文件),此功能為判斷建筑物是否超出了規(guī)劃的范圍。實現(xiàn)原理計算選定建筑物的三維包圍盒,判斷三維包圍盒底部的各個點是否在規(guī)劃圖件范圍外,如果在外面,則繼續(xù)判斷建筑物的腳點是否在規(guī)劃范圍內(nèi)。如果有一點超出則為違規(guī)建筑。進而可以發(fā)出報警信息或提示。這里先檢測建筑物三維包圍盒范圍的作用與用島單元分析時的作用相同,這里不再贅述。5、通視分析功能描述在建筑物選址及設(shè)計高度時需考慮在建筑物上能看到那些景觀等,此功能可以通過設(shè)定建筑物高度,及視點的高度,分析在此高度能看見那些范圍即通視情況。功能原理在三維球體上選擇視點,設(shè)定高度并拉選一個圓形范圍。由中心點(視點),沿360度方向發(fā)射多條射線(可理解為人的視線),將射線按照一定距離進行分割為多個點,依次判斷相鄰三點是否可視,判斷三點可視的方法為獲取三點的高程數(shù)據(jù),判斷中間點的高度是否大于其余兩點,大于則說明三點不通視,依次逐點計算完成通視分析。第三,分發(fā)方式,包括網(wǎng)絡(luò)分發(fā)和平臺擁有的轉(zhuǎn)換軟件,轉(zhuǎn)換軟件將輸入的數(shù)據(jù)做檢查。對要導(dǎo)入到三維海島沙盤中的原始數(shù)據(jù),使用三維平臺自帶的轉(zhuǎn)換軟件,可以對原始數(shù)據(jù)的正確性進行檢驗,并對原始數(shù)據(jù)中的海島信息進行有區(qū)別的提取,生成可被平臺加載的數(shù)據(jù)。三維海島沙盤成果,即構(gòu)建的三維場景還可以通過網(wǎng)絡(luò)進行發(fā)布,將三維場景保存生成場景文件,通過網(wǎng)絡(luò)下載服務(wù)提供該文件的下載,從而實現(xiàn)網(wǎng)絡(luò)發(fā)布;網(wǎng)絡(luò)中的用戶通過下載并加載該場景文件,就可以在本地三維平臺再現(xiàn)場景中包含的影像、地形、三維模型等場景數(shù)據(jù)。以上所述僅為本發(fā)明的較佳實施例而已,并不用以限制本發(fā)明,凡在本發(fā)明的精神和原則之內(nèi),所做的任何修改、等同替換、改進等,均應(yīng)包含在本發(fā)明保護的范圍之內(nèi)。
權(quán)利要求
1.一種三維海島沙盤實現(xiàn)方法,其特征在于,該方法包括 導(dǎo)入渲染對象的ニ維空間數(shù)據(jù)、高程數(shù)據(jù)和屬性信息; 通過所述高程數(shù)據(jù)對所述渲染對象的ニ維空間數(shù)據(jù)進行擴展,生成所述渲染對象的三維數(shù)據(jù); 根據(jù)所述渲染對象的三維數(shù)據(jù)進行渲染; 根據(jù)所述渲染后的渲染對象的三維數(shù)據(jù)以及屬性信息,構(gòu)建三維場景進行展示。
2.如權(quán)利要求1所述的三維海島沙盤實現(xiàn)方法,其特征在于,所述導(dǎo)入渲染對象的ニ維空間數(shù)據(jù)、高程數(shù)據(jù)和屬性信息,之前,該方法進ー步包括 獲取用于描述所述渲染對象的原始數(shù)據(jù); 對所述原始數(shù)據(jù)進行解析,獲取解析出的渲染對象,以及所述渲染對象對應(yīng)的數(shù)據(jù)信息; 從所述渲染對象對應(yīng)的數(shù)據(jù)信息中提取所述渲染對象的空間信息和屬性信息; 將所述渲染對象的空間信息整理為所述渲染對象的ニ維空間數(shù)據(jù)和高程數(shù)據(jù); 所述構(gòu)建三維場景進行展示之后,該方法進ー步包括將所述構(gòu)建的三維場景保存為場景文件,通過網(wǎng)絡(luò)發(fā)布所述場景文件。
3.如權(quán)利要求2所述的三維海島沙盤實現(xiàn)方法,其特征在于,所述渲染對象的ニ維空間數(shù)據(jù),包括所述渲染對象的點、線、面的空間坐標數(shù)據(jù); 所述根據(jù)渲染對象的三維數(shù)據(jù)進行渲染,包括 對所述點的空間坐標數(shù)據(jù)以多點Multipoint對象渲染; 對所述線的空間坐標數(shù)據(jù)以多線段Multipolyline對象渲染; 對所述面的空間坐標數(shù)據(jù)以多邊形Multipolygon對象渲染; 將所述面的空間坐標數(shù)據(jù)結(jié)合所述高程數(shù)據(jù),形成三維對象,并以多邊形Multipolygon 對象渲染。
4.如權(quán)利要求3所述的三維海島沙盤實現(xiàn)方法,其特征在于,所述根據(jù)渲染對象的三維數(shù)據(jù)進行渲染,進一歩包括 對于建筑物類型的三維渲染對象,計算所述建筑物對象的各個腳點的高程,獲取腳點的高程平均值; 以所述腳點的高程平均值構(gòu)成的面為基準面,根據(jù)所述建筑物對象的高度進行拉伸,生成建筑物對象的三維玻璃體模型。
5.如權(quán)利要求4所述的三維海島沙盤實現(xiàn)方法,其特征在于,所述形成建筑物對象的三維玻璃體模型后,該方法進ー步包括 根據(jù)所述建筑物對象對應(yīng)的屬性信息,對根據(jù)不同屬性的建筑物對象生成的三維玻璃體模型進行著色。
6.如權(quán)利要求5所述的三維海島沙盤實現(xiàn)方法,其特征在干,該方法進ー步包括 導(dǎo)入由多個點數(shù)據(jù)構(gòu)成的線狀海岸線對象的空間坐標數(shù)據(jù); 依次計算構(gòu)成所述海岸線對象的所有點中,所有相鄰兩點構(gòu)成的線段的垂直平分線;在所述垂直平分線上以預(yù)設(shè)的離岸距離取點,得到與所述海岸線對象距離為所述離岸距離的點構(gòu)成的線狀離岸距離對象; 判斷選取的所述建筑物對象的各個腳點是否落在所述線狀離岸距離對象與所述海岸線對象之間,若是,則發(fā)出報警信息。
7.如權(quán)利要求5所述的三維海島沙盤實現(xiàn)方法,其特征在于,該方法進ー步包括 導(dǎo)入用島單元數(shù)據(jù); 根據(jù)選取的用島單元,計算隸屬于此用島單元的每個建筑物對象的三維包圍盒,判斷所述每個建筑物對象的三維包圍盒的四個底部坐標是否在所述用島単元范圍外,若是則進一歩判斷建筑物的每個腳點是否在所述用島単元范圍外,若是,則發(fā)出報警信息。
8.如權(quán)利要求5所述的三維海島沙盤實現(xiàn)方法,其特征在于,該方法進ー步包括 獲取選取的建筑物對象的高度值,將所述高度值與預(yù)設(shè)的高度閾值進行比較,若所述高度值大于所述高度閾值,則發(fā)出報警信息。
9.如權(quán)利要求5所述的三維海島沙盤實現(xiàn)方法,其特征在于,該方法進ー步包括 導(dǎo)入規(guī)劃圖件數(shù)據(jù); 計算選取的建筑物對象的三維包圍盒,判斷所述建筑物對象的三維包圍盒底部的各個點是否在所述規(guī)劃圖件數(shù)據(jù)規(guī)定的范圍外,如是,則繼續(xù)判斷所述建筑物對象的所有腳點是否在所述規(guī)劃圖件數(shù)據(jù)規(guī)定的范圍外,如果有ー個所述腳點在所述規(guī)劃圖件數(shù)據(jù)規(guī)定的范圍外,則發(fā)出報警信息。
10.如權(quán)利要求5所述的三維海島沙盤實現(xiàn)方法,其特征在于,該方法進ー步包括 根據(jù)選擇的視點、設(shè)定的高度及拉選的圓形范圍,獲取從所述視點開始向所述圓形范圍內(nèi)各點的射線,在所述射線上,按照預(yù)設(shè)的距離取多個點,依次判斷相鄰三點之間是否通視; 所述判斷相鄰三點之間是否通視,包括 獲取所述相鄰三點中,每一點的高程數(shù)據(jù),判斷中間點的高度是否大于其余兩點,是則判定所述相鄰的三點不通視。
全文摘要
本發(fā)明公開了一種三維海島沙盤實現(xiàn)方法,其特征在于,該方法包括導(dǎo)入渲染對象的二維空間數(shù)據(jù)、高程數(shù)據(jù)和屬性信息;通過所述高程數(shù)據(jù)對所述渲染對象的二維空間數(shù)據(jù)進行擴展,生成所述渲染對象的三維數(shù)據(jù);根據(jù)所述渲染對象的三維數(shù)據(jù)進行渲染;根據(jù)所述渲染后的渲染對象的三維數(shù)據(jù)以及屬性信息,構(gòu)建三維場景進行展示。該方法大大降低了三維海島沙盤實現(xiàn)的難度,同時節(jié)省了大量的時間成本和人力成本。
文檔編號G06T17/10GK103065361SQ201210579920
公開日2013年4月24日 申請日期2012年12月27日 優(yōu)先權(quán)日2012年12月27日
發(fā)明者林寧, 徐文斌, 王豐, 李凱, 詹志飛, 馮新宇 申請人:國家海洋信息中心, 北京國遙新天地信息技術(shù)有限公司