亚洲欧美国产精品粉嫩|亚洲精品精品无码专区|国产在线无码精品电影网|午夜无码久久久久久国产|亚洲国产精品一区二区动图|国产在线精品一区在线观看|欧美伊人久久久久久久久影院|中文字幕日韩av在线一区二区

合肥金星智控科技股份有限公司
宣傳

位置:中冶有色 >

有色技術(shù)頻道 >

> 通用技術(shù)

> 礦山三維模型的加載方法、裝置、服務器及存儲介質(zhì)

礦山三維模型的加載方法、裝置、服務器及存儲介質(zhì)

1898   編輯:中冶有色技術(shù)網(wǎng)   來源:精英數(shù)智科技股份有限公司  
2023-04-14 13:49:13
權(quán)利要求

1.礦山三維模型的加載方法,其特征在于,包括: 如果接收到模型加載指令,判斷數(shù)據(jù)庫集合中是否存儲有所述模型加載指令對應的目標模型緩存數(shù)據(jù);其中,所述數(shù)據(jù)庫集合中存儲有模型緩存數(shù)據(jù),所述模型緩存數(shù)據(jù)是基于預先建立的第一礦山三維模型生成的; 如果是,從所述數(shù)據(jù)庫集合中讀取所述目標模型緩存數(shù)據(jù); 對所述目標模型緩存數(shù)據(jù)進行解析處理,得到所述目標模型緩存數(shù)據(jù)對應的第二礦山三維模型,并將所述第二礦山三維模型加載至指定三維場景中。

2.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述方法還包括: 如果所述數(shù)據(jù)庫集合中未存儲所述模型加載指令對應的目標模型緩存數(shù)據(jù),獲取所述目標模型緩存數(shù)據(jù)對應的模型基礎數(shù)據(jù),并基于所述模型基礎數(shù)據(jù)構(gòu)建第一礦山三維模型;其中,所述模型基礎數(shù)據(jù)包括坐標數(shù)據(jù)和/或模型參數(shù)數(shù)據(jù),所述第一礦山三維模型為JSON格式; 建立所述第一礦山三維模型與模型結(jié)構(gòu)數(shù)據(jù)集之間的關聯(lián)關系;其中,所述模型結(jié)構(gòu)數(shù)據(jù)集用于表征所述第一礦山三維模型的幾何結(jié)構(gòu)和/或模型材質(zhì); 基于預設的業(yè)務類型將所述模型結(jié)構(gòu)數(shù)據(jù)集劃分為多個第一子數(shù)據(jù)集,并對每個所述第一子數(shù)據(jù)集進行格式轉(zhuǎn)換,得到所述第一礦山三維模型對應的模型緩存數(shù)據(jù);其中,所述模型緩存數(shù)據(jù)采用二進制格式; 將所述第一礦山三維模型對應的模型緩存數(shù)據(jù)存儲至所述數(shù)據(jù)庫集合。 


3.根據(jù)權(quán)利要求2所述的方法,其特征在于,所述對所述目標模型緩存數(shù)據(jù)進行解析處理,得到所述目標模型緩存數(shù)據(jù)對應的第二礦山三維模型的步驟,包括: 將所述目標模型緩存數(shù)據(jù)從二進制格式轉(zhuǎn)換為JSON格式,并基于所述JSON格式的目標模型緩存數(shù)據(jù)和所述關聯(lián)關系,生成所述目標模型緩存數(shù)據(jù)對應的第二礦山三維模型。 


4.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述數(shù)據(jù)庫集合包括數(shù)據(jù)庫和緩存,所述判斷數(shù)據(jù)庫集合中是否存儲有所述模型加載指令對應的目標模型緩存數(shù)據(jù)的步驟,包括: 判斷所述緩存中是否存儲有所述模型加載指令對應的目標模型緩存數(shù)據(jù); 如果否,根據(jù)所述模型加載指令攜帶的目標業(yè)務類型和模型標識,判斷所述數(shù)據(jù)庫中是否存儲有所述目標模型緩存數(shù)據(jù); 如果所述數(shù)據(jù)庫中存儲有所述目標模型緩存數(shù)據(jù),將所述目標模型緩存數(shù)據(jù)同步至所述緩存,以從所述緩存中讀取所述目標模型緩存數(shù)據(jù)。 


5.根據(jù)權(quán)利要求4所述的方法,其特征在于,所述方法還包括: 如果所述緩存中存儲有所述目標模型緩存數(shù)據(jù),判斷所述目標模型緩存數(shù)據(jù)的有效期限是否大于0; 如果是,確定所述目標模型緩存數(shù)據(jù)未過期,并確定所述數(shù)據(jù)庫集合中存儲有所述目標模型緩存數(shù)據(jù); 如果否,確定所述目標模型緩存數(shù)據(jù)已過期,并根據(jù)所述模型加載指令攜帶的目標業(yè)務類型和模型標識,判斷所述數(shù)據(jù)庫中是否存儲有所述目標模型緩存數(shù)據(jù); 如果所述數(shù)據(jù)庫中存儲有所述目標模型緩存數(shù)據(jù),將所述目標模型緩存數(shù)據(jù)同步至所述緩存,以從所述緩存中讀取所述目標模型緩存數(shù)據(jù)。 6.根據(jù)權(quán)利要求5所述的方法,其特征在于,所述有效期限是在所述目標模型緩存數(shù)據(jù)存儲至所述緩存時隨機生成的,所述有效期限為指定閾值的倍數(shù)。 7.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述方法還包括: 如果監(jiān)聽到所述目標模型緩存數(shù)據(jù)對應的模型基礎數(shù)據(jù)變更,基于變更后的模型基礎數(shù)據(jù)創(chuàng)建第三礦山三維模型; 建立所述第三礦山三維模型與模型結(jié)構(gòu)數(shù)據(jù)集之間的關聯(lián)關系; 基于預設的業(yè)務類型將所述模型結(jié)構(gòu)數(shù)據(jù)集劃分為多個第二子數(shù)據(jù)集,并對每個所述第二子數(shù)據(jù)集進行格式轉(zhuǎn)換,得到變更后的模型緩存數(shù)據(jù); 將變更后的模型緩存數(shù)據(jù)存儲至所述數(shù)據(jù)庫集合。 8.一種礦山三維模型的加載裝置,其特征在于,包括: 判斷模塊,用于如果接收到模型加載指令,判斷數(shù)據(jù)庫集合中是否存儲有所述模型加載指令對應的目標模型緩存數(shù)據(jù);其中,所述數(shù)據(jù)庫集合中存儲有模型緩存數(shù)據(jù),所述模型緩存數(shù)據(jù)是基于預先建立的第一礦山三維模型生成的; 數(shù)據(jù)讀取模塊,用于在所述判斷模塊的判斷結(jié)果為是時,從所述數(shù)據(jù)庫集合中讀取所述目標模型緩存數(shù)據(jù); 模型加載模塊,用于對所述目標模型緩存數(shù)據(jù)進行解析處理,得到所述目標模型緩存數(shù)據(jù)對應的第二礦山三維模型,并將所述第二礦山三維模型加載至指定三維場景中。 9.一種服務器,其特征在于,包括處理器和存儲器,所述存儲器存儲有能夠被所述處理器執(zhí)行的計算機可執(zhí)行指令,所述處理器執(zhí)行所述計算機可執(zhí)行指令以實現(xiàn)權(quán)利要求1至7任一項所述的方法。 10.一種計算機可讀存儲介質(zhì),其特征在于,所述計算機可讀存儲介質(zhì)存儲有計算機可執(zhí)行指令,所述計算機可執(zhí)行指令在被處理器調(diào)用和執(zhí)行時,計算機可執(zhí)行指令促使處理器實現(xiàn)權(quán)利要求1至7任一項所述的方法。


說明書

礦山三維模型的加載方法、裝置、服務器及存儲介質(zhì)

技術(shù)領域

本發(fā)明涉及地理空間信息系統(tǒng)技術(shù)領域,尤其是涉及一種礦山三維模型的加載方法、裝置、服務器及存儲介質(zhì)。

背景技術(shù)

為了能夠清晰、直觀、真實地表達礦山結(jié)構(gòu),需要統(tǒng)一地理(投影)坐標系下大量真實坐標(x,y,z)、模型參數(shù)(斷面形狀、水平方位角、傾角、長度)等數(shù)據(jù)支撐,以GIS(Geographic Information System)為基礎進行礦山三維模型動態(tài)構(gòu)建。由于井下模型的空間結(jié)構(gòu)復雜相互影響和依賴,從基礎數(shù)據(jù)的算法解析,到高精度、多細節(jié)層次模型的動態(tài)構(gòu)建,三維場景產(chǎn)生了大量、結(jié)構(gòu)復雜和多尺度的三維模型數(shù)據(jù),使得全礦三維場景的加載顯示出現(xiàn)緩慢、卡頓的現(xiàn)象。

發(fā)明內(nèi)容

有鑒于此,本發(fā)明的目的在于提供一種礦山三維模型的加載方法、裝置、服務器及存儲介質(zhì),可以加快礦山三維場景的顯示,顯著提高礦山三維場景的渲染效率。

第一方面,本發(fā)明實施例提供了一種礦山三維模型的加載方法,包括:如果接收到模型加載指令,判斷數(shù)據(jù)庫集合中是否存儲有所述模型加載指令對應的目標模型緩存數(shù)據(jù);其中,所述數(shù)據(jù)庫集合中存儲有模型緩存數(shù)據(jù),所述模型緩存數(shù)據(jù)是基于預先建立的第一礦山三維模型生成的;如果是,從所述數(shù)據(jù)庫集合中讀取所述目標模型緩存數(shù)據(jù);對所述目標模型緩存數(shù)據(jù)進行解析處理,得到所述目標模型緩存數(shù)據(jù)對應的第二礦山三維模型,并將所述第二礦山三維模型加載至指定三維場景中。

在一種實施方式中,所述方法還包括:如果所述數(shù)據(jù)庫集合中未存儲所述模型加載指令對應的目標模型緩存數(shù)據(jù),獲取所述目標模型緩存數(shù)據(jù)對應的模型基礎數(shù)據(jù),并基于所述模型基礎數(shù)據(jù)構(gòu)建第一礦山三維模型;其中,所述模型基礎數(shù)據(jù)包括坐標數(shù)據(jù)和/或模型參數(shù)數(shù)據(jù),所述第一礦山三維模型為JSON格式;建立所述第一礦山三維模型與模型結(jié)構(gòu)數(shù)據(jù)集之間的關聯(lián)關系;其中,所述模型結(jié)構(gòu)數(shù)據(jù)集用于表征所述第一礦山三維模型的幾何結(jié)構(gòu)和/或模型材質(zhì);基于預設的業(yè)務類型將所述模型結(jié)構(gòu)數(shù)據(jù)集劃分為多個第一子數(shù)據(jù)集,并對每個所述第一子數(shù)據(jù)集進行格式轉(zhuǎn)換,得到所述第一礦山三維模型對應的模型緩存數(shù)據(jù);其中,所述模型緩存數(shù)據(jù)采用二進制格式;將所述第一礦山三維模型對應的模型緩存數(shù)據(jù)存儲至所述數(shù)據(jù)庫集合。

在一種實施方式中,所述對所述目標模型緩存數(shù)據(jù)進行解析處理,得到所述目標模型緩存數(shù)據(jù)對應的第二礦山三維模型的步驟,包括:將所述目標模型緩存數(shù)據(jù)從二進制格式轉(zhuǎn)換為JSON格式,并基于所述JSON格式的目標模型緩存數(shù)據(jù)和所述關聯(lián)關系,生成所述目標模型緩存數(shù)據(jù)對應的第二礦山三維模型。

在一種實施方式中,所述數(shù)據(jù)庫集合包括數(shù)據(jù)庫和緩存,所述判斷數(shù)據(jù)庫集合中是否存儲有所述模型加載指令對應的目標模型緩存數(shù)據(jù)的步驟,包括:判斷所述緩存中是否存儲有所述模型加載指令對應的目標模型緩存數(shù)據(jù);如果否,根據(jù)所述模型加載指令攜帶的目標業(yè)務類型和模型標識,判斷所述數(shù)據(jù)庫中是否存儲有所述目標模型緩存數(shù)據(jù);如果所述數(shù)據(jù)庫中存儲有所述目標模型緩存數(shù)據(jù),將所述目標模型緩存數(shù)據(jù)同步至所述緩存,以從所述緩存中讀取所述目標模型緩存數(shù)據(jù)。

在一種實施方式中,所述方法還包括:如果所述緩存中存儲有所述目標模型緩存數(shù)據(jù),判斷所述目標模型緩存數(shù)據(jù)的有效期限是否大于0;如果是,確定所述目標模型緩存數(shù)據(jù)未過期,并確定所述數(shù)據(jù)庫集合中存儲有所述目標模型緩存數(shù)據(jù);如果否,確定所述目標模型緩存數(shù)據(jù)已過期,并根據(jù)所述模型加載指令攜帶的目標業(yè)務類型和模型標識,判斷所述數(shù)據(jù)庫中是否存儲有所述目標模型緩存數(shù)據(jù);如果所述數(shù)據(jù)庫中存儲有所述目標模型緩存數(shù)據(jù),將所述目標模型緩存數(shù)據(jù)同步至所述緩存,以從所述緩存中讀取所述目標模型緩存數(shù)據(jù)。

在一種實施方式中,所述有效期限是在所述目標模型緩存數(shù)據(jù)存儲至所述緩存時隨機生成的,所述有效期限為指定閾值的倍數(shù)。

在一種實施方式中,所述方法還包括:如果監(jiān)聽到所述目標模型緩存數(shù)據(jù)對應的模型基礎數(shù)據(jù)變更,基于變更后的模型基礎數(shù)據(jù)創(chuàng)建第三礦山三維模型;建立所述第三礦山三維模型與模型結(jié)構(gòu)數(shù)據(jù)集之間的關聯(lián)關系;基于預設的業(yè)務類型將所述模型結(jié)構(gòu)數(shù)據(jù)集劃分為多個第二子數(shù)據(jù)集,并對每個所述第二子數(shù)據(jù)集進行格式轉(zhuǎn)換,得到變更后的模型緩存數(shù)據(jù);將變更后的模型緩存數(shù)據(jù)存儲至所述數(shù)據(jù)庫集合。

第二方面,本發(fā)明實施例還提供一種礦山三維模型的加載裝置,包括:判斷模塊,用于如果接收到模型加載指令,判斷數(shù)據(jù)庫集合中是否存儲有所述模型加載指令對應的目標模型緩存數(shù)據(jù);其中,所述數(shù)據(jù)庫集合中存儲有模型緩存數(shù)據(jù),所述模型緩存數(shù)據(jù)是基于預先建立的第一礦山三維模型生成的;數(shù)據(jù)讀取模塊,用于在所述判斷模塊的判斷結(jié)果為是時,從所述數(shù)據(jù)庫集合中讀取所述目標模型緩存數(shù)據(jù);模型加載模塊,用于對所述目標模型緩存數(shù)據(jù)進行解析處理,得到所述目標模型緩存數(shù)據(jù)對應的第二礦山三維模型,并將所述第二礦山三維模型加載至指定三維場景中。

第三方面,本發(fā)明實施例還提供一種服務器,包括處理器和存儲器,所述存儲器存儲有能夠被所述處理器執(zhí)行的計算機可執(zhí)行指令,所述處理器執(zhí)行所述計算機可執(zhí)行指令以實現(xiàn)第一方面提供的任一項所述的方法。

第四方面,本發(fā)明實施例還提供一種計算機可讀存儲介質(zhì),所述計算機可讀存儲介質(zhì)存儲有計算機可執(zhí)行指令,所述計算機可執(zhí)行指令在被處理器調(diào)用和執(zhí)行時,計算機可執(zhí)行指令促使處理器實現(xiàn)第一方面提供的任一項所述的方法。

本發(fā)明實施例提供的一種礦山三維模型的加載方法、裝置、服務器及存儲介質(zhì),如果接收到模型加載指令,且數(shù)據(jù)庫集合中存儲有模型加載指令對應的目標模型緩存數(shù)據(jù),則從數(shù)據(jù)庫集合中讀取目標模型緩存數(shù)據(jù),并對目標模型緩存數(shù)據(jù)進行解析處理,得到目標模型緩存數(shù)據(jù)對應的第二礦山三維模型,并將第二礦山三維模型加載至指定三維場景中。其中,數(shù)據(jù)庫集合中存儲有模型緩存數(shù)據(jù),模型緩存數(shù)據(jù)是基于預先建立的第一礦山三維模型生成的。上述方法通過對目標模型緩存數(shù)據(jù)進行解析處理即可得到相應的第二礦山三維模型,無需對真實坐標、模型參數(shù)等進行解析以重新搭建礦山三維模型,從而可以加快礦山三維場景的顯示,顯著提高礦山三維場景的渲染效率。

本發(fā)明的其他特征和優(yōu)點將在隨后的說明書中闡述,并且,部分地從說明書中變得顯而易見,或者通過實施本發(fā)明而了解。本發(fā)明的目的和其他優(yōu)點在說明書、權(quán)利要求書以及附圖中所特別指出的結(jié)構(gòu)來實現(xiàn)和獲得。

為使本發(fā)明的上述目的、特征和優(yōu)點能更明顯易懂,下文特舉較佳實施例,并配合所附附圖,作詳細說明如下。

附圖說明

為了更清楚地說明本發(fā)明具體實施方式或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對具體實施方式或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖是本發(fā)明的一些實施方式,對于本領域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動的前提下,還可以根據(jù)這些附圖獲得其他的附圖。

圖1為本發(fā)明實施例提供的一種礦山三維模型的加載方法的流程示意圖;

圖2為本發(fā)明實施例提供的另一種礦山三維模型的加載方法的流程圖示意圖;

圖3為本發(fā)明實施例提供的一種礦山三維模型的加載方法的實現(xiàn)過程;

圖4為本發(fā)明實施例提供的另一種礦山三維模型的加載方法的流程示意圖圖;

圖5為本發(fā)明實施例提供的一種礦山三維模型的加載裝置的結(jié)構(gòu)示意圖;

圖6為本發(fā)明實施例提供的一種服務器的結(jié)構(gòu)示意圖。

具體實施方式

為使本發(fā)明實施例的目的、技術(shù)方案和優(yōu)點更加清楚,下面將結(jié)合實施例對本發(fā)明的技術(shù)方案進行清楚、完整地描述,顯然,所描述的實施例是本發(fā)明一部分實施例,而不是全部的實施例。基于本發(fā)明中的實施例,本領域普通技術(shù)人員在沒有做出創(chuàng)造性勞動前提下所獲得的所有其他實施例,都屬于本發(fā)明保護的范圍。

目前,礦山三維場景的加載顯示存在緩慢、卡頓的現(xiàn)象,基于此,本發(fā)明實施提供了一種礦山三維模型的加載方法、裝置、服務器及存儲介質(zhì),可以加快礦山三維場景的顯示,顯著提高礦山三維場景的渲染效率。

為便于對本實施例進行理解,首先對本發(fā)明實施例所公開的一種礦山三維模型的加載方法進行詳細介紹,參見圖1所示的一種礦山三維模型的加載方法的流程示意圖,該方法主要包括以下步驟S102至步驟S106:

步驟S102,如果接收到模型加載指令,判斷數(shù)據(jù)庫集合中是否存儲有模型加載指令對應的目標模型緩存數(shù)據(jù)。其中,數(shù)據(jù)庫集合包括數(shù)據(jù)庫和緩存,數(shù)據(jù)庫集合中存儲有模型緩存數(shù)據(jù),模型緩存數(shù)據(jù)是基于預先建立的第一礦山三維模型生成的,第一礦山三維模型可以為通過SDK(Software Development Kit,軟件開發(fā)工具包)解析GIS平臺統(tǒng)一地理(投影)坐標系下的坐標、模型參數(shù)等數(shù)據(jù)得到的,模型參數(shù)包括斷面形狀、水平方位角、傾角、長度等。在一種實施方式中,可以先在緩存中查找模型加載指令對應的目標模型緩存數(shù)據(jù),如果在緩存中未查找到目標模型緩存數(shù)據(jù)或目標模型緩存數(shù)據(jù)已過期,則在數(shù)據(jù)庫中查找模型加載指令對應的目標模型緩存數(shù)據(jù),如果在數(shù)據(jù)庫中查找到目標模型緩存數(shù)據(jù),則將目標模型緩存數(shù)據(jù)同步至緩存中,并返回目標模型緩存數(shù)據(jù),如果在數(shù)據(jù)庫中總未查找到目標模型緩存數(shù)據(jù),則重新構(gòu)建第一礦山三維模型,并基于該第一礦山三維模型得到所需的目標模型緩存數(shù)據(jù)。

步驟S104,如果是,從數(shù)據(jù)庫集合中讀取目標模型緩存數(shù)據(jù)。

步驟S106,對目標模型緩存數(shù)據(jù)進行解析處理,得到目標模型緩存數(shù)據(jù)對應的第二礦山三維模型,并將第二礦山三維模型加載至指定三維場景中。其中,第二礦山三維模型可以為完整的第一礦山三維模型,也可以為與模型加載指令攜帶的目標業(yè)務類型對應的局部礦山三維模型。在一種實施方式中,可以將目標模型緩存數(shù)據(jù)從二進制格式轉(zhuǎn)換為JSON格式,并基于JSON格式的目標模型緩存數(shù)據(jù)和關聯(lián)關系(也可稱之為索引),生成目標模型緩存數(shù)據(jù)對應的第二礦山三維模型。

本發(fā)明實施例提供的礦山三維模型的加載方法,通過對目標模型緩存數(shù)據(jù)進行解析處理即可得到相應的第二礦山三維模型,無需對真實坐標、模型參數(shù)等進行解析以重新搭建礦山三維模型,從而可以加快礦山三維場景的顯示,顯著提高礦山三維場景的渲染效率。

在數(shù)據(jù)庫集合中未存儲模型加載指令對應的目標模型緩存數(shù)據(jù)的情況下,需要生成緩存數(shù)據(jù),并將生成的緩存數(shù)據(jù)存儲至數(shù)據(jù)庫集合,具體的,本發(fā)明實施例提供了一種生成緩存數(shù)據(jù)的實施方式,參見如下步驟1至步驟4:

步驟1,獲取目標模型緩存數(shù)據(jù)對應的模型基礎數(shù)據(jù),并基于模型基礎數(shù)據(jù)構(gòu)建第一礦山三維模型;其中,模型基礎數(shù)據(jù)包括坐標數(shù)據(jù)和/或模型參數(shù)數(shù)據(jù),第一礦山三維模型為JSON格式,坐標數(shù)據(jù)也即GIS平臺統(tǒng)一地理坐標系下的坐標,模型參數(shù)數(shù)據(jù)包括斷面形狀、水平方位角、傾角、長度等。在一種實施方式中,可以通過SDK解析坐標數(shù)據(jù)和模型參數(shù)數(shù)據(jù),從而實現(xiàn)使用SDK動態(tài)構(gòu)建第一礦山三維模型。

步驟2,建立第一礦山三維模型與模型結(jié)構(gòu)數(shù)據(jù)集之間的關聯(lián)關系。其中,模型結(jié)構(gòu)數(shù)據(jù)集用于表征第一礦山三維模型的幾何結(jié)構(gòu)和/或模型材質(zhì),模型材質(zhì)包括紋理和/或貼圖,關聯(lián)關系也可稱之為索引。在具體實現(xiàn)時,通過SDK輸出標準JSON格式的數(shù)據(jù)(也即,第一礦山三維模型),并通過索引關聯(lián)第一礦山三維模型和模型結(jié)構(gòu)數(shù)據(jù)集。

步驟3,基于預設的業(yè)務類型將模型結(jié)構(gòu)數(shù)據(jù)集劃分為多個第一子數(shù)據(jù)集,并對每個第一子數(shù)據(jù)集進行格式轉(zhuǎn)換,得到第一礦山三維模型對應的模型緩存數(shù)據(jù)。其中,模型緩存數(shù)據(jù)采用二進制格式,預設業(yè)務類型包括井下巷道、工作面、井田邊界、積水區(qū)、三區(qū)、鉆孔、斷層、陷落柱、含水層、地質(zhì)等數(shù)據(jù)以及井上地面建筑中的一種或多種。示例性的,以業(yè)務類型是工作面為例,工作面有多個;單一模型是指其中一個工作面,一個工作面的結(jié)構(gòu)包括幾何結(jié)構(gòu)、材質(zhì)。在具體實現(xiàn)時,可以以工作面為單位劃分模型結(jié)構(gòu)數(shù)據(jù)集得到多個第一子數(shù)據(jù)集,再分別將每個第一子數(shù)據(jù)集轉(zhuǎn)換為二進制數(shù)據(jù),從而便于后續(xù)以工作面為單位進行查找和更新。

步驟4,將第一礦山三維模型對應的模型緩存數(shù)據(jù)存儲至數(shù)據(jù)庫集合。在一種實施方式中,可以將第一礦山三維模型對應的模型緩存數(shù)據(jù)存儲至數(shù)據(jù)庫中,同時將模型緩存數(shù)據(jù)同步至緩存中。

另外,對于前述步驟S102,本發(fā)明實施例還提供了一種判斷數(shù)據(jù)庫集合中是否存儲有模型加載指令對應的目標模型緩存數(shù)據(jù)的實施方式,參見圖2所示的另一種礦山三維模型的加載方法的流程示意圖圖,該方法主要包括以下步驟a至步驟e:

步驟a,判斷緩存中是否存儲有模型加載指令對應的目標模型緩存數(shù)據(jù)。如果是,執(zhí)行步驟d;如果否,執(zhí)行步驟b。在具體實現(xiàn)時,模型加載指令攜帶有目標業(yè)務類型TYPE和單一模型ID(Identity document,身份標識號)查詢緩存中是否存儲有目標模型緩存數(shù)據(jù),單一模型ID也即模型標識。

步驟b,根據(jù)模型加載指令攜帶的目標業(yè)務類型和模型標識,判斷數(shù)據(jù)庫中是否存儲有目標模型緩存數(shù)據(jù)。如果是,執(zhí)行步驟c;如果否,結(jié)束。在實際應用中,如果緩存中未存儲目標模型緩存數(shù)據(jù),則進一步根據(jù)目標業(yè)務類型TYPE和單一模型ID查詢數(shù)據(jù)庫中是否存儲有目標模型緩存數(shù)據(jù)。

步驟c,將目標模型緩存數(shù)據(jù)同步至緩存,以從緩存中讀取目標模型緩存數(shù)據(jù)。

步驟d,判斷目標模型緩存數(shù)據(jù)的有效期限是否大于0。如果是,確定目標模型緩存數(shù)據(jù)未過期,并執(zhí)行步驟e;如果否,確定目標模型緩存數(shù)據(jù)已過期,并執(zhí)行步驟b。其中,有效期限是在目標模型緩存數(shù)據(jù)存儲至緩存時隨機生成的,有效期限為指定閾值的倍數(shù),隨著時間推移有效期減少。在一種實施方式中,當將目標模型緩存數(shù)據(jù)存儲至緩存中時,將以30天為單位隨機生成有效期限,另外,目標模型緩存數(shù)據(jù)的EXPIRE屬性用于表征數(shù)據(jù)的有效期限,從而根據(jù)EXPIRE屬性判斷目標模型緩存數(shù)據(jù)是否過期。

步驟e,確定數(shù)據(jù)庫集合中存儲有目標模型緩存數(shù)據(jù)。

在得到目標模型緩存數(shù)據(jù)之后,可以對目標模型緩存數(shù)據(jù)進行解析處理,得到目標模型緩存數(shù)據(jù)對應的第二礦山三維模型,具體的,可以將目標模型緩存數(shù)據(jù)從二進制格式轉(zhuǎn)換為JSON格式,并基于JSON格式的目標模型緩存數(shù)據(jù)和關聯(lián)關系,生成目標模型緩存數(shù)據(jù)對應的第二礦山三維模型。在實際應用中,通過解析緩存中獲取的二進制數(shù)據(jù)轉(zhuǎn)為JSON數(shù)據(jù),通過模型索引構(gòu)建標準JSON格式的數(shù)據(jù)并返回,最后通過SDK將標準JSON格式數(shù)據(jù)解析成三維模型并在三維場景中加載。

為了加快三維場景的顯示,提高渲染效率,將三維模型數(shù)據(jù)進行簡化,按照一定的規(guī)則將三維模型轉(zhuǎn)成標準JSON格式數(shù)據(jù),通過索引建立模型內(nèi)部幾何構(gòu)造、材質(zhì)(紋理、貼圖)以及模型之間的關系。但是隨著三維模型的增長,其數(shù)據(jù)不斷增加,面對如此龐大的數(shù)據(jù),將其全部緩存到客戶端內(nèi)存中是不現(xiàn)實的,因此進行大范圍場景的高效可視化對計算機硬件和應用軟件都提出了非常高的要求。本發(fā)明實施例的主體思路是:在三維場景中加載礦山三維模型時,通過讀取服務端緩存的三維模型數(shù)據(jù),省去GIS基礎數(shù)據(jù)坐標(x,y,z)、模型參數(shù)(斷面形狀、水平方位角、傾角、長度)解析,通過SDK動態(tài)創(chuàng)建模型的過程,加快三維場景的顯示,提高渲染效率。

為便于理解,本發(fā)明實施例提供了一種礦山三維模型的加載方法的應用示例,參見圖3所示的一種礦山三維模型的加載方法的實現(xiàn)過程,具體的:(1)首先初始化三維場景,該三維場景用以加載礦山三維模型;(2)判斷數(shù)據(jù)庫集合中是否存在目標模型緩存數(shù)據(jù);(3)如果數(shù)據(jù)庫集合不存在目標模型緩存數(shù)據(jù),通過SDK動態(tài)構(gòu)建礦山三維模型;(4)將礦山三維模型通過SDK輸出為標準JSON格式的數(shù)據(jù),通過索引關聯(lián)模型結(jié)構(gòu);(5)如果數(shù)據(jù)庫集合存在目標模型緩存數(shù)據(jù),首先判斷緩存中是否存在目標模型緩存數(shù)據(jù)或者目標模型緩存數(shù)據(jù)是否過期;(6)如果緩存中目標模型緩存數(shù)據(jù)不存在或者已經(jīng)過期,則讀取數(shù)據(jù)庫的目標模型緩存數(shù)據(jù),同時將目標模型緩存數(shù)據(jù)同步到緩存中;(7)如果緩存中存在目標模型緩存數(shù)據(jù),則讀取其中的目標模型緩存數(shù)據(jù);(8)通過解析緩存中獲取的二進制數(shù)據(jù)轉(zhuǎn)為JSON數(shù)據(jù),通過模型索引構(gòu)建標準JSON格式的數(shù)據(jù)并返回;(9)最后通過SDK將標準JSON格式數(shù)據(jù)解析成三維模型并在三維場景中加載。

本發(fā)明實施例將三維模型轉(zhuǎn)成JSON數(shù)據(jù),通過索引關聯(lián),構(gòu)建緩存數(shù)據(jù)并存儲到服務端,實現(xiàn)多客戶端共享效果。對比未使用緩存技術(shù)保障了動態(tài)建模時效性的同時,加快了三維場景的顯示,提升了渲染效率。

在一種實施方式中,本發(fā)明實施例還可以對模型基礎數(shù)據(jù)進行監(jiān)聽,以在監(jiān)聽到其發(fā)生變更時及時更新模型緩存數(shù)據(jù)。參見圖4所示的另一種礦山三維模型的加載裝置的流程示意圖,該方法主要包括以下(一)至(四):

(一)如果監(jiān)聽到目標模型緩存數(shù)據(jù)對應的模型基礎數(shù)據(jù)變更,基于變更后的模型基礎數(shù)據(jù)創(chuàng)建第三礦山三維模型。在實際應用中,可以判斷GIS平臺管理的基礎數(shù)據(jù)是否發(fā)生變化,沒有變化則退出。

(二)建立第三礦山三維模型與模型結(jié)構(gòu)數(shù)據(jù)集之間的關聯(lián)關系。在一種實施方式中,如果某業(yè)務類型(例如:工作面)的坐標、模型參數(shù)等發(fā)生變化,則通過解析GIS平臺統(tǒng)一地理(投影)坐標系下的數(shù)據(jù),使用SDK動態(tài)構(gòu)建三維模型。

(三)基于預設的業(yè)務類型將模型結(jié)構(gòu)數(shù)據(jù)集劃分為多個第二子數(shù)據(jù)集,并對每個第二子數(shù)據(jù)集進行格式轉(zhuǎn)換,得到變更后的模型緩存數(shù)據(jù)。在一種實施方式中,3.將三維模型通過SDK輸出為標準JSON格式數(shù)據(jù),其中模型結(jié)構(gòu)包括幾何結(jié)構(gòu)、材質(zhì)(紋理、貼圖),通過索引關聯(lián)模型結(jié)構(gòu),再將模型結(jié)構(gòu)分模塊轉(zhuǎn)成二進制數(shù)據(jù),根據(jù)業(yè)務類型(例如:工作面)TYPE和單一模型ID更新數(shù)據(jù)庫中的對應的數(shù)據(jù),同時更新緩存數(shù)據(jù)庫的數(shù)據(jù)。

(四)將變更后的模型緩存數(shù)據(jù)存儲至數(shù)據(jù)庫集合。

對于前述實施例提供的礦山三維模型的加載方法,本發(fā)明實施例提供了一種礦山三維模型的加載裝置,參見圖5所示的一種礦山三維模型的加載裝置的結(jié)構(gòu)示意圖,該裝置主要包括以下部分:

判斷模塊502,用于如果接收到模型加載指令,判斷數(shù)據(jù)庫集合中是否存儲有模型加載指令對應的目標模型緩存數(shù)據(jù);其中,數(shù)據(jù)庫集合中存儲有模型緩存數(shù)據(jù),模型緩存數(shù)據(jù)是基于預先建立的第一礦山三維模型生成的;

數(shù)據(jù)讀取模塊504,用于在判斷模塊的判斷結(jié)果為是時,從數(shù)據(jù)庫集合中讀取目標模型緩存數(shù)據(jù);

模型加載模塊506,用于對目標模型緩存數(shù)據(jù)進行解析處理,得到目標模型緩存數(shù)據(jù)對應的第二礦山三維模型,并將第二礦山三維模型加載至指定三維場景中。

本發(fā)明實施例提供的礦山三維模型的加載裝置,通過對目標模型緩存數(shù)據(jù)進行解析處理即可得到相應的第二礦山三維模型,無需對真實坐標、模型參數(shù)等進行解析以重新搭建礦山三維模型,從而可以加快礦山三維場景的顯示,顯著提高礦山三維場景的渲染效率。

在一種實施方式中,上述裝置還包括緩存數(shù)據(jù)生成模塊,用于:如果數(shù)據(jù)庫集合中未存儲模型加載指令對應的目標模型緩存數(shù)據(jù),獲取目標模型緩存數(shù)據(jù)對應的模型基礎數(shù)據(jù),并基于模型基礎數(shù)據(jù)構(gòu)建第一礦山三維模型;其中,模型基礎數(shù)據(jù)包括坐標數(shù)據(jù)和/或模型參數(shù)數(shù)據(jù),第一礦山三維模型為JSON格式;建立第一礦山三維模型與模型結(jié)構(gòu)數(shù)據(jù)集之間的關聯(lián)關系;其中,模型結(jié)構(gòu)數(shù)據(jù)集用于表征第一礦山三維模型的幾何結(jié)構(gòu)和/或模型材質(zhì);基于預設的業(yè)務類型將模型結(jié)構(gòu)數(shù)據(jù)集劃分為多個第一子數(shù)據(jù)集,并對每個第一子數(shù)據(jù)集進行格式轉(zhuǎn)換,得到第一礦山三維模型對應的模型緩存數(shù)據(jù);其中,模型緩存數(shù)據(jù)采用二進制格式;將第一礦山三維模型對應的模型緩存數(shù)據(jù)存儲至數(shù)據(jù)庫集合。

在一種實施方式中,模型加載模塊506還用于:將目標模型緩存數(shù)據(jù)從二進制格式轉(zhuǎn)換為JSON格式,并基于JSON格式的目標模型緩存數(shù)據(jù)和關聯(lián)關系,生成目標模型緩存數(shù)據(jù)對應的第二礦山三維模型。

在一種實施方式中,數(shù)據(jù)庫集合包括數(shù)據(jù)庫和緩存,判斷模塊502還用于:判斷緩存中是否存儲有模型加載指令對應的目標模型緩存數(shù)據(jù);如果否,根據(jù)模型加載指令攜帶的目標業(yè)務類型和模型標識,判斷數(shù)據(jù)庫中是否存儲有目標模型緩存數(shù)據(jù);如果數(shù)據(jù)庫中存儲有目標模型緩存數(shù)據(jù),將目標模型緩存數(shù)據(jù)同步至緩存,以從緩存中讀取目標模型緩存數(shù)據(jù)。

在一種實施方式中,判斷模塊502還用于:如果緩存中存儲有目標模型緩存數(shù)據(jù),判斷所述目標模型緩存數(shù)據(jù)的有效期限是否大于0;如果是,確定所述目標模型緩存數(shù)據(jù)未過期,并確定所述數(shù)據(jù)庫集合中存儲有所述目標模型緩存數(shù)據(jù);如果否,確定所述目標模型緩存數(shù)據(jù)已過期,并根據(jù)模型加載指令攜帶的目標業(yè)務類型和模型標識,判斷數(shù)據(jù)庫中是否存儲有目標模型緩存數(shù)據(jù);如果數(shù)據(jù)庫中存儲有目標模型緩存數(shù)據(jù),將目標模型緩存數(shù)據(jù)同步至緩存,以從緩存中讀取目標模型緩存數(shù)據(jù)。

在一種實施方式中,有效期限是在目標模型緩存數(shù)據(jù)存儲至緩存時隨機生成的,有效期限為指定閾值的倍數(shù)。

在一種實施方式中,上述裝置還包括變更模塊,用于:如果監(jiān)聽到目標模型緩存數(shù)據(jù)對應的模型基礎數(shù)據(jù)變更,基于變更后的模型基礎數(shù)據(jù)創(chuàng)建第三礦山三維模型;建立第三礦山三維模型與模型結(jié)構(gòu)數(shù)據(jù)集之間的關聯(lián)關系;基于預設的業(yè)務類型將模型結(jié)構(gòu)數(shù)據(jù)集劃分為多個第二子數(shù)據(jù)集,并對每個第二子數(shù)據(jù)集進行格式轉(zhuǎn)換,得到變更后的模型緩存數(shù)據(jù);將變更后的模型緩存數(shù)據(jù)存儲至數(shù)據(jù)庫集合。

本發(fā)明實施例所提供的裝置,其實現(xiàn)原理及產(chǎn)生的技術(shù)效果和前述方法實施例相同,為簡要描述,裝置實施例部分未提及之處,可參考前述方法實施例中相應內(nèi)容。

本發(fā)明實施例提供了一種服務器,具體的,該服務器包括處理器和存儲裝置;存儲裝置上存儲有計算機程序,計算機程序在被所述處理器運行時執(zhí)行如上所述實施方式的任一項所述的方法。

圖6為本發(fā)明實施例提供的一種服務器的結(jié)構(gòu)示意圖,該服務器100包括:處理器60,存儲器61,總線62和通信接口63,所述處理器60、通信接口63和存儲器61通過總線62連接;處理器60用于執(zhí)行存儲器61中存儲的可執(zhí)行模塊,例如計算機程序。

其中,存儲器61可能包含高速隨機存取存儲器(RAM,Random Access Memory),也可能還包括非不穩(wěn)定的存儲器(non-volatile memory),例如至少一個磁盤存儲器。通過至少一個通信接口63(可以是有線或者無線)實現(xiàn)該系統(tǒng)網(wǎng)元與至少一個其他網(wǎng)元之間的通信連接,可以使用互聯(lián)網(wǎng),廣域網(wǎng),本地網(wǎng),城域網(wǎng)等。

總線62可以是ISA總線、PCI總線或EISA總線等。所述總線可以分為地址總線、數(shù)據(jù)總線、控制總線等。為便于表示,圖6中僅用一個雙向箭頭表示,但并不表示僅有一根總線或一種類型的總線。

其中,存儲器61用于存儲程序,所述處理器60在接收到執(zhí)行指令后,執(zhí)行所述程序,前述本發(fā)明實施例任一實施例揭示的流過程定義的裝置所執(zhí)行的方法可以應用于處理器60中,或者由處理器60實現(xiàn)。

處理器60可能是一種集成電路芯片,具有信號的處理能力。在實現(xiàn)過程中,上述方法的各步驟可以通過處理器60中的硬件的集成邏輯電路或者軟件形式的指令完成。上述的處理器60可以是通用處理器,包括中央處理器(Central Processing Unit,簡稱CPU)、網(wǎng)絡處理器(Network Processor,簡稱NP)等;還可以是數(shù)字信號處理器(Digital SignalProcessing,簡稱DSP)、專用集成電路(Application Specific Integrated Circuit,簡稱ASIC)、現(xiàn)成可編程門陣列(Field-Programmable Gate Array,簡稱FPGA)或者其他可編程邏輯器件、分立門或者晶體管邏輯器件、分立硬件組件??梢詫崿F(xiàn)或者執(zhí)行本發(fā)明實施例中的公開的各方法、步驟及邏輯框圖。通用處理器可以是微處理器或者該處理器也可以是任何常規(guī)的處理器等。結(jié)合本發(fā)明實施例所公開的方法的步驟可以直接體現(xiàn)為硬件譯碼處理器執(zhí)行完成,或者用譯碼處理器中的硬件及軟件模塊組合執(zhí)行完成。軟件模塊可以位于隨機存儲器,閃存、只讀存儲器,可編程只讀存儲器或者電可擦寫可編程存儲器、寄存器等本領域成熟的存儲介質(zhì)中。該存儲介質(zhì)位于存儲器61,處理器60讀取存儲器61中的信息,結(jié)合其硬件完成上述方法的步驟。

本發(fā)明實施例所提供的可讀存儲介質(zhì)的計算機程序產(chǎn)品,包括存儲了程序代碼的計算機可讀存儲介質(zhì),所述程序代碼包括的指令可用于執(zhí)行前面方法實施例中所述的方法,具體實現(xiàn)可參見前述方法實施例,在此不再贅述。

所述功能如果以軟件功能單元的形式實現(xiàn)并作為獨立的產(chǎn)品銷售或使用時,可以存儲在一個計算機可讀取存儲介質(zhì)中?;谶@樣的理解,本發(fā)明的技術(shù)方案本質(zhì)上或者說對現(xiàn)有技術(shù)做出貢獻的部分或者該技術(shù)方案的部分可以以軟件產(chǎn)品的形式體現(xiàn)出來,該計算機軟件產(chǎn)品存儲在一個存儲介質(zhì)中,包括若干指令用以使得一臺計算機設備(可以是個人計算機,服務器,或者網(wǎng)絡設備等)執(zhí)行本發(fā)明各個實施例所述方法的全部或部分步驟。而前述的存儲介質(zhì)包括:U盤、移動硬盤、只讀存儲器(ROM,Read-Only Memory)、隨機存取存儲器(RAM,Random Access Memory)、磁碟或者光盤等各種可以存儲程序代碼的介質(zhì)。

最后應說明的是:以上所述實施例,僅為本發(fā)明的具體實施方式,用以說明本發(fā)明的技術(shù)方案,而非對其限制,本發(fā)明的保護范圍并不局限于此,盡管參照前述實施例對本發(fā)明進行了詳細的說明,本領域的普通技術(shù)人員應當理解:任何熟悉本技術(shù)領域的技術(shù)人員在本發(fā)明揭露的技術(shù)范圍內(nèi),其依然可以對前述實施例所記載的技術(shù)方案進行修改或可輕易想到變化,或者對其中部分技術(shù)特征進行等同替換;而這些修改、變化或者替換,并不使相應技術(shù)方案的本質(zhì)脫離本發(fā)明實施例技術(shù)方案的精神和范圍,都應涵蓋在本發(fā)明的保護范圍之內(nèi)。因此,本發(fā)明的保護范圍應所述以權(quán)利要求的保護范圍為準。

全文PDF

礦山三維模型的加載方法、裝置、服務器及存儲介質(zhì).pdf

聲明:
“礦山三維模型的加載方法、裝置、服務器及存儲介質(zhì)” 該技術(shù)專利(論文)所有權(quán)利歸屬于技術(shù)(論文)所有人。僅供學習研究,如用于商業(yè)用途,請聯(lián)系該技術(shù)所有人。
我是此專利(論文)的發(fā)明人(作者)
分享 0
         
舉報 0
收藏 0
反對 0
點贊 0
全國熱門有色金屬技術(shù)推薦
展開更多 +

 

中冶有色技術(shù)平臺微信公眾號
了解更多信息請您掃碼關注官方微信
中冶有色技術(shù)平臺微信公眾號中冶有色技術(shù)平臺

最新更新技術(shù)

報名參會
更多+

報告下載

第二屆中國微細粒礦物選礦技術(shù)大會
推廣

熱門技術(shù)
更多+

衡水宏運壓濾機有限公司
宣傳
環(huán)磨科技控股(集團)有限公司
宣傳

發(fā)布

在線客服

公眾號

電話

頂部
咨詢電話:
010-88793500-807
專利人/作者信息登記