本技術(shù)涉及但不限于矢量數(shù)據(jù)處理,尤其涉及一種大規(guī)模矢量數(shù)據(jù)處理方法、系統(tǒng)、電子設(shè)備及存儲(chǔ)介質(zhì)。
背景技術(shù):
1、dwg文件格式是一種通用的矢量圖形數(shù)據(jù),廣泛用于各專(zhuān)業(yè)領(lǐng)域。在bim建筑軟件系統(tǒng)進(jìn)行正向設(shè)計(jì)時(shí),必須將dwg文件中的矢量二維數(shù)據(jù)予以導(dǎo)入顯示,在顯示之后還要基于顯示的矢量數(shù)據(jù)進(jìn)行識(shí)別,獲取矢量數(shù)據(jù)的幾何信息。
2、而由于dwg文件格式中包含大量的數(shù)據(jù),矢量化轉(zhuǎn)換為可顯示對(duì)象后可能有幾萬(wàn)至幾十萬(wàn)個(gè)線段,這些數(shù)據(jù)在顯示時(shí)如果顯示速度非常緩慢將導(dǎo)致幀率降低、圖形的交互查看困難,甚至顯示崩潰。同時(shí)如果僅僅只讀而無(wú)法交互識(shí)別將影響基于矢量數(shù)據(jù)的進(jìn)一步的提取應(yīng)用。因此如何快速顯示大規(guī)模的二維矢量數(shù)據(jù),并支持對(duì)于這些二維矢量數(shù)據(jù)進(jìn)行識(shí)別成為業(yè)內(nèi)一個(gè)重要的研究?jī)?nèi)容。
技術(shù)實(shí)現(xiàn)思路
1、以下是對(duì)本文詳細(xì)描述的主題的概述。本概述并非是為了限制權(quán)利要求的保護(hù)范圍。
2、本技術(shù)實(shí)施例提供了一種大規(guī)模矢量數(shù)據(jù)處理方法、系統(tǒng)、電子設(shè)備及存儲(chǔ)介質(zhì),能夠快速地將用戶(hù)意圖獲取的數(shù)據(jù)進(jìn)行統(tǒng)計(jì),方便用戶(hù)對(duì)矢量文件的查閱和操作。
3、為實(shí)現(xiàn)上述目的,本技術(shù)實(shí)施例的第一方面提出了一種大規(guī)模矢量數(shù)據(jù)處理方法,包括:獲取矢量空間內(nèi)的矢量數(shù)據(jù),根據(jù)各個(gè)所述矢量數(shù)據(jù)的矢量屬性對(duì)所述矢量數(shù)據(jù)進(jìn)行分組,確定多個(gè)矢量集合;依次對(duì)各個(gè)所述矢量集合進(jìn)行渲染,以使所述矢量數(shù)據(jù)在投影截面上顯示;在所述投影截面位于所述矢量空間的視野范圍內(nèi)設(shè)定標(biāo)準(zhǔn)矢量,確定與所述視野范圍相交的各個(gè)所述矢量數(shù)據(jù)與所述標(biāo)準(zhǔn)矢量之間的識(shí)別距離;根據(jù)所述識(shí)別距離在所述矢量數(shù)據(jù)中確定目標(biāo)矢量,對(duì)所述目標(biāo)矢量進(jìn)行識(shí)別,并將所述目標(biāo)矢量的矢量屬性進(jìn)行匯總收集。
4、在一些實(shí)施例中,所述在所述矢量空間內(nèi)設(shè)定標(biāo)準(zhǔn)矢量,確定各個(gè)所述矢量數(shù)據(jù)與所述標(biāo)準(zhǔn)矢量之間的識(shí)別距離,包括:獲取標(biāo)準(zhǔn)矢量上的第一點(diǎn)坐標(biāo)和第二點(diǎn)坐標(biāo),以及其中一個(gè)所述矢量數(shù)據(jù)的第三點(diǎn)坐標(biāo)和第四點(diǎn)坐標(biāo);根據(jù)所述第一點(diǎn)坐標(biāo)和所述第二點(diǎn)坐標(biāo)確定所述標(biāo)準(zhǔn)矢量的第一方向向量,根據(jù)所述第三點(diǎn)坐標(biāo)和所述第四點(diǎn)坐標(biāo)確定所述矢量數(shù)據(jù)的第二方向向量,獲取所述標(biāo)準(zhǔn)矢量上其中一點(diǎn)指向所述矢量數(shù)據(jù)上其中一點(diǎn),或者所述矢量數(shù)據(jù)上其中一點(diǎn)指向所述標(biāo)準(zhǔn)矢量上其中一點(diǎn)的第三方向向量;根據(jù)所述第一方向向量、所述第二方向向量和所述第三方向向量確定所述標(biāo)準(zhǔn)矢量與所述矢量數(shù)據(jù)的識(shí)別距離,所述識(shí)別距離的確定公式為:
5、;
6、其中,d表示所述識(shí)別距離,表示所述第一方向向量,表示所述第二方向向量,表示所述第三方向向量。
7、在一些實(shí)施例中,所述依次對(duì)各個(gè)所述矢量集合進(jìn)行渲染之前,包括:確定視點(diǎn)在所述矢量空間上的位置,根據(jù)所述視點(diǎn)與所述矢量空間的相對(duì)位置確定第一投影矩陣,根據(jù)所述投影截面的視野范圍確定第二投影矩陣;依次通過(guò)所述第一投影矩陣和所述第二投影矩陣對(duì)所述矢量數(shù)據(jù)的原始坐標(biāo)進(jìn)行變換。
8、在一些實(shí)施例中,所述依次對(duì)各個(gè)所述矢量集合進(jìn)行渲染之前,還包括:在矢量空間內(nèi)確定空間坐標(biāo)系,獲取視點(diǎn)在所述空間坐標(biāo)系上的坐標(biāo)和視野方向,根據(jù)所述視點(diǎn)在所述空間坐標(biāo)系上的坐標(biāo)和所述視野方向確定視野坐標(biāo)系;將所述矢量數(shù)據(jù)由所述空間坐標(biāo)系轉(zhuǎn)換至所述視野坐標(biāo)系。
9、在一些實(shí)施例中,所述將所述矢量數(shù)據(jù)由所述空間坐標(biāo)系轉(zhuǎn)換至所述視野坐標(biāo)系之后,還包括:在所述視野坐標(biāo)系上,根據(jù)所述視點(diǎn)的坐標(biāo)和視距確定遠(yuǎn)截面所在的平面,所述視點(diǎn)的方向與所述遠(yuǎn)截面垂直,且所述視點(diǎn)與所述遠(yuǎn)截面所在的平面之間的第一觀察距離等于最大視距;獲取所述視點(diǎn)在所述視野坐標(biāo)系三個(gè)軸方向上的視野開(kāi)度,根據(jù)所述視野開(kāi)度在所述遠(yuǎn)截面所在平面上劃定所述遠(yuǎn)截面;獲取所述視點(diǎn)的視野深度,根據(jù)所述視野深度在所述視點(diǎn)和所述遠(yuǎn)截面之間確定近截面,所述視野深度等于所述遠(yuǎn)截面與所述近截面之間的第二觀察距離;在所述遠(yuǎn)截面和所述近截面之間確定投影截面,將所述視野范圍內(nèi)的矢量數(shù)據(jù)投影至所述投影截面上。
10、在一些實(shí)施例中,所述在所述遠(yuǎn)截面和所述近截面之間確定投影截面,將所述視野范圍內(nèi)的所述矢量數(shù)據(jù)投影至所述投影截面上,包括:確定由所述遠(yuǎn)截面和所述近截面所圍成的密閉的視野方體,所述視野方體由所述遠(yuǎn)截面,所述近截面,以及參考面組成,其中,所述參考面由所述遠(yuǎn)截面上任意一條邊與所述近截面上對(duì)應(yīng)的邊所連成的面組成;將所述矢量數(shù)據(jù)位于所述視野方體內(nèi)的部分投影至所述投影截面上。
11、在一些實(shí)施例中,所述矢量屬性包括所述矢量數(shù)據(jù)的矢量顏色,所述矢量集合中的各個(gè)所述矢量顏色相同,所述依次對(duì)各個(gè)所述矢量集合進(jìn)行渲染,包括:為每一個(gè)所述矢量集合創(chuàng)建對(duì)應(yīng)的渲染任務(wù),依次執(zhí)行各個(gè)所述渲染任務(wù),以依次對(duì)各對(duì)應(yīng)的所述矢量集合進(jìn)行集中渲染。
12、為實(shí)現(xiàn)上述目的,本技術(shù)第二方面提出了一種大規(guī)模矢量數(shù)據(jù)處理系統(tǒng),包括:獲取模塊,用于獲取矢量空間內(nèi)的矢量數(shù)據(jù),根據(jù)各個(gè)所述矢量數(shù)據(jù)的矢量屬性對(duì)所述矢量數(shù)據(jù)進(jìn)行分組,確定多個(gè)矢量集合;渲染模塊,用于依次對(duì)各個(gè)所述矢量集合進(jìn)行渲染,以使所述矢量數(shù)據(jù)在投影截面上顯示;測(cè)量模塊,用于在所述投影截面位于所述矢量空間的視野范圍內(nèi)設(shè)定標(biāo)準(zhǔn)矢量,確定與所述視野范圍相交的各個(gè)所述矢量數(shù)據(jù)與所述標(biāo)準(zhǔn)矢量之間的識(shí)別距離;收集模塊,用于根據(jù)所述識(shí)別距離在所述矢量數(shù)據(jù)中確定目標(biāo)矢量,對(duì)所述目標(biāo)矢量進(jìn)行識(shí)別,并將所述目標(biāo)矢量的矢量屬性進(jìn)行匯總收集。
13、為實(shí)現(xiàn)上述目的,本技術(shù)實(shí)施例的第三方面提出了一種電子設(shè)備,所述電子設(shè)備包括存儲(chǔ)器和處理器,所述存儲(chǔ)器存儲(chǔ)有計(jì)算機(jī)程序,所述處理器執(zhí)行所述計(jì)算機(jī)程序時(shí)實(shí)現(xiàn)上述第一方面所述的大規(guī)模矢量數(shù)據(jù)處理方法。
14、為實(shí)現(xiàn)上述目的,本技術(shù)實(shí)施例的第四方面提出了一種存儲(chǔ)介質(zhì),所述存儲(chǔ)介質(zhì)為計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),所述存儲(chǔ)介質(zhì)存儲(chǔ)有計(jì)算機(jī)程序,所述計(jì)算機(jī)程序被處理器執(zhí)行時(shí)實(shí)現(xiàn)上述第一方面所述的大規(guī)模矢量數(shù)據(jù)處理方法。
15、本技術(shù)實(shí)施例至少包括以下有益效果:在矢量文件中,矢量數(shù)據(jù)擁有如顏色、材質(zhì)、透明度等不同的矢量屬性,在將矢量數(shù)據(jù)從矢量空間映射至二維平面的過(guò)程中,系統(tǒng)根據(jù)矢量數(shù)據(jù)中的矢量屬性不斷地對(duì)渲染組件進(jìn)行調(diào)配,從而依次對(duì)矢量數(shù)據(jù)進(jìn)行渲染;通過(guò)依次獲取矢量空間內(nèi)各個(gè)矢量數(shù)據(jù)的矢量屬性,確定其中一種矢量屬性,根據(jù)其中一個(gè)種類(lèi)的矢量屬性對(duì)矢量數(shù)據(jù)進(jìn)行分組,從而將矢量數(shù)據(jù)分為了多個(gè)矢量集合,在各個(gè)矢量集合中,矢量數(shù)據(jù)中的其中一個(gè)種類(lèi)的矢量屬性是完全相同的,因此,在通過(guò)渲染組件對(duì)其中一個(gè)矢量集合進(jìn)行渲染時(shí),可以對(duì)渲染組件中的其中一些參數(shù)進(jìn)行固定,從而減少了對(duì)渲染組件進(jìn)行調(diào)配的頻率,減輕了系統(tǒng)的渲染負(fù)擔(dān),提升了渲染效率;在將矢量數(shù)據(jù)渲染至二維平面上后,由用戶(hù)根據(jù)自行需求在投影截面位于矢量空間的視野范圍內(nèi)設(shè)定標(biāo)準(zhǔn)矢量,并獲取各個(gè)矢量數(shù)據(jù)與標(biāo)準(zhǔn)矢量之間的識(shí)別距離,根據(jù)識(shí)別距離確定矢量數(shù)據(jù)中的目標(biāo)矢量,將目標(biāo)矢量的矢量屬性進(jìn)行收集,從而能夠快速地將用戶(hù)意圖獲取的數(shù)據(jù)進(jìn)行統(tǒng)計(jì),方便了用戶(hù)對(duì)矢量文件的查閱和操作。
16、本技術(shù)的其它特征和優(yōu)點(diǎn)將在隨后的說(shuō)明書(shū)中闡述,并且,部分地從說(shuō)明書(shū)中變得顯而易見(jiàn),或者通過(guò)實(shí)施本技術(shù)而了解。本技術(shù)的目的和其他優(yōu)點(diǎn)可通過(guò)在說(shuō)明書(shū)、權(quán)利要求書(shū)以及附圖中所特別指出的結(jié)構(gòu)來(lái)實(shí)現(xiàn)和獲得。