本發(fā)明涉及信息處理領(lǐng)域,更具體地,涉及一種礦體儲量塊段標(biāo)注圓匹配與更新的方法及裝置。
背景技術(shù):
隨著信息技術(shù)的發(fā)展,信息技術(shù)已深入到各個領(lǐng)域。其中,大量繪圖軟件的出現(xiàn),使繪圖變得更簡單,更精確。
mapgis軟件可以用于繪制礦產(chǎn)塊段圖形,繪制礦產(chǎn)塊段圖形的界面中有繪制窗口和圖例窗口。圖例窗口中有表示礦產(chǎn)塊段圖形的不同特征的圖例,繪制窗口中的圖形與它的圖例具有相同樣式。當(dāng)圖例發(fā)生變化時,使用該圖例的圖形也會發(fā)生相應(yīng)的變化。圖例窗口和繪制窗口中的標(biāo)注圓由一個圓和圓中的若干條線組成,圓被線分成若干個小格子。對于圖例窗口中的標(biāo)注圓,每個小格子有一個編號,位于一個標(biāo)注圓中的小格子的編號是不同的。對于繪制窗口中的標(biāo)注圓,所述小格子中有用于標(biāo)注礦產(chǎn)塊段的相關(guān)數(shù)據(jù),如塊段號、資源儲量類型、塊段投影面積、塊段平均厚度等。對于使用同一個圖例的標(biāo)注圓,位于相同位置的小格子中的數(shù)據(jù)對應(yīng)相同的屬性。
由于礦產(chǎn)塊段的相關(guān)數(shù)據(jù)隨著開采的情況會不斷發(fā)生變化,需要不斷進(jìn)行更新。目前,對標(biāo)注圓中礦產(chǎn)塊段的相關(guān)數(shù)據(jù)進(jìn)行更新的主要技術(shù)是手動更新。一般情況下,每個標(biāo)注圓中的數(shù)據(jù)的更新都需要人工判讀、匹配、更新和檢查,更新效率低。當(dāng)數(shù)據(jù)量較大時,對礦產(chǎn)數(shù)據(jù)的更新需要花費大量時間。同時,由于原始數(shù)據(jù)與新數(shù)據(jù)之間的數(shù)據(jù)組織、存儲和表示方式都有較大差異,在手動進(jìn)行更新時,很容易產(chǎn)生錯誤。由于對礦體儲量塊段標(biāo)注圓更新的正確性要求較高,因此,必須要投入更多的數(shù)據(jù)檢查人員用以確保更新的正確性,但依然不能保證更新的正確性。因此,采用手動方式對礦體儲量塊段標(biāo)注圓進(jìn)行更新的效率低且容易產(chǎn)生錯誤。
技術(shù)實現(xiàn)要素:
為克服上述采用手動方式對礦體儲量塊段標(biāo)注圓更新的效率低且容易產(chǎn)生錯誤的問題,本發(fā)明提供一種礦體儲量塊段標(biāo)注圓匹配與更新的方法及裝置。
根據(jù)本發(fā)明的一個方面,提供一種礦體儲量塊段標(biāo)注圓匹配與更新的方法,包括:
獲取第一文件和第二文件,所述第一文件包括:第一標(biāo)注圓、第三標(biāo)注圓和第一數(shù)據(jù),所述第二文件包括:第二標(biāo)注圓、第四標(biāo)注圓和第二數(shù)據(jù),所述第一標(biāo)注圓和所述第三標(biāo)注圓位于不同圖層,所述第二標(biāo)注圓和所述第四標(biāo)注圓位于不同圖層,所述第二標(biāo)注圓位于點圖層;
根據(jù)組成所述第一標(biāo)注圓的第一要素的外包矩形的信息,獲取所述第一要素;根據(jù)組成所述第二標(biāo)注圓的第二要素的外包矩形的信息,獲取所述第二要素;
提取所述第二要素的線要素,對所述第二要素的線要素進(jìn)行縮放和平移后,對所述第一要素和所述第二要素的線要素進(jìn)行打斷,由打斷后的所述第一要素和所述第二要素的線要素生成對應(yīng)的第一面要素和第二面要素;
根據(jù)所述第一標(biāo)注圓和所述第三標(biāo)注圓的坐標(biāo),獲取所述第一標(biāo)注圓到所述第三標(biāo)注圓的第一坐標(biāo)偏移量;根據(jù)所述第二標(biāo)注圓和所述第四標(biāo)注圓的坐標(biāo),獲取所述第二標(biāo)注圓到所述第四標(biāo)注圓的第二坐標(biāo)偏移量;
根據(jù)所述第一面要素的信息和所述第一坐標(biāo)偏移量,獲取所述第三標(biāo)注圓內(nèi)的第一數(shù)據(jù);根據(jù)所述第二面要素的信息和所述第二坐標(biāo)偏移量,獲取所述第四標(biāo)注圓內(nèi)的第二數(shù)據(jù);
根據(jù)所述第三標(biāo)注圓和所述第四標(biāo)注圓的坐標(biāo),和/或所述第一數(shù)據(jù)和所述第二數(shù)據(jù),將所述第三標(biāo)注圓內(nèi)的第一數(shù)據(jù)替換成所述第四標(biāo)注圓內(nèi)的第二數(shù)據(jù)。
具體地,所述根據(jù)組成所述第一標(biāo)注圓的第一要素的外包矩形的信息,獲取所述第一要素,包括:
獲取所述第一標(biāo)注圓所在的圖層;
對于所述圖層中的每個要素,生成該要素的外包矩形;
若所述外包矩形為正方形,則獲知該外包矩形為組成所述第一標(biāo)注圓的要素圓的外包矩形;
獲取所述要素圓內(nèi)的要素;
將所述要素圓和所述要素圓內(nèi)的要素作為所述第一要素。
具體地,所述根據(jù)組成所述第二標(biāo)注圓的第二要素的外包矩形的信息,獲取所述第二要素,包括:
獲取所述第二標(biāo)注圓所在的圖層;
對于所述圖層中的每個要素,生成該要素的外包矩形;
若所述外包矩形為正方形,則獲知該外包矩形為所述第二標(biāo)注圓的點要素的外包矩形;
將所述點要素作為所述第二要素。
具體地,所述第一面要素的信息和所述第二面要素的信息都包括:編號、x坐標(biāo)的最小值、x坐標(biāo)的最大值、y坐標(biāo)的最小值和y坐標(biāo)的最大值。
具體地,還包括:
獲取到所述第一數(shù)據(jù)和所述第二數(shù)據(jù)后,將所述第三標(biāo)注圓的坐標(biāo)、所述第四標(biāo)注圓的坐標(biāo)、所述第三標(biāo)注圓內(nèi)的第一數(shù)據(jù)和所述第四標(biāo)注圓內(nèi)的第二數(shù)據(jù)存儲在數(shù)據(jù)字典中。
具體地,還包括:
在對所述第一要素和所述第二要素的線要素進(jìn)行打斷之前,對所述第一要素和所述第二要素的線要素分別進(jìn)行處理,所述處理包括:斷線連接處理、線延長處理、線打斷處理和拓?fù)錂z查處理中的一種或多種。
根據(jù)本發(fā)明的另一方面,提供一種礦體儲量塊段標(biāo)注圓匹配與更新的裝置,包括:
第一獲取單元,用于獲取第一文件和第二文件,所述第一文件包括:第一標(biāo)注圓、第三標(biāo)注圓和第一數(shù)據(jù),所述第二文件包括:第二標(biāo)注圓、第四標(biāo)注圓和第二數(shù)據(jù),所述第一標(biāo)注圓和所述第三標(biāo)注圓位于不同圖層,所述第二標(biāo)注圓和所述第四標(biāo)注圓位于不同圖層,所述第二標(biāo)注圓位于點圖層;
第二獲取單元,用于根據(jù)組成所述第一標(biāo)注圓的第一要素的外包矩形的信息,獲取所述第一要素;還用于根據(jù)組成所述第二標(biāo)注圓的第二要素的外包矩形的信息,獲取所述第二要素;
生成單元,用于提取所述第二要素的線要素,對所述第二要素進(jìn)行縮放和平移后,對所述第一要素和所述第二要素的線要素進(jìn)行打斷,由打斷后的所述第一要素和所述第二要素的線要素生成對應(yīng)的第一面要素和第二面要素;
第三獲取單元,用于根據(jù)所述第一標(biāo)注圓和所述第三標(biāo)注圓的坐標(biāo),獲取所述第一標(biāo)注圓到所述第三標(biāo)注圓的第一坐標(biāo)偏移量;還用于根據(jù)所述第二標(biāo)注圓和所述第四標(biāo)注圓的坐標(biāo),獲取所述第二標(biāo)注圓到所述第四標(biāo)注圓的第二坐標(biāo)偏移量;
第四獲取單元,用于根據(jù)所述第一面要素和所述第一坐標(biāo)偏移量,獲取所述第三標(biāo)注圓內(nèi)的第一數(shù)據(jù);根據(jù)所述第二面要素和所述第二坐標(biāo)偏移量,獲取所述第四標(biāo)注圓內(nèi)的第二數(shù)據(jù);
更新單元,用于根據(jù)所述第三標(biāo)注圓和所述第四標(biāo)注圓的坐標(biāo),和/或所述第一數(shù)據(jù)和第二數(shù)據(jù),將所述第三標(biāo)注圓內(nèi)的第一數(shù)據(jù)替換成所述第四標(biāo)注圓內(nèi)的第二數(shù)據(jù)。
具體地,所述第二獲取單元具體用于:
獲取所述第一標(biāo)注圓所在的圖層;
對于所述圖層中的每個要素,生成該要素的外包矩形;
若所述外包矩形為正方形,則獲知該外包矩形為組成所述第一標(biāo)注圓的要素圓的外包矩形;
獲取所述要素圓內(nèi)的要素;
將所述要素圓和所述要素圓內(nèi)的要素作為所述第一要素。
具體地,所述第二獲取單元具體用于:
獲取所述第二標(biāo)注圓所在的圖層;
對于所述圖層中的每個要素,生成該要素的外包矩形;
若所述外包矩形為正方形,則獲知該外包矩形為所述第二標(biāo)注圓的點要素的外包矩形;
將所述點要素作為所述第二要素。
具體地,還包括處理單元,用于在對所述第一要素和所述第二要素的線要素進(jìn)行打斷之前,對所述第一要素和所述第二要素的線要素分別進(jìn)行處理,所述處理包括:斷線連接處理、線延長處理、線打斷處理和拓?fù)錂z查處理中的一種或多種。
本發(fā)明提供的礦體儲量塊段標(biāo)注圓匹配與更新方法與裝置,通過獲取原始文件和新文件中的圖例標(biāo)注圓的要素,并對所述要素進(jìn)行拓?fù)錁?gòu)面,根據(jù)拓?fù)錁?gòu)面的結(jié)果,以及繪圖窗口中的標(biāo)注圓到對應(yīng)的圖例窗口中的標(biāo)注圓的坐標(biāo)偏移量獲取繪圖窗口中的該標(biāo)注圓中的數(shù)據(jù),將原始文件中繪制窗口中的標(biāo)注圓中的數(shù)據(jù)替換成新文件中的具有相同坐標(biāo)的標(biāo)注圓中的數(shù)據(jù),從而完成礦體儲量塊段標(biāo)注圓的自動更新,提高了標(biāo)注圓更新的效率,保證了更新的正確性。
附圖說明
圖1為本發(fā)明實施例提供的礦體儲量塊段標(biāo)注圓匹配與更新的方法流程圖;
圖2為本發(fā)明又一實施例提供的礦體儲量塊段標(biāo)注圓匹配與更新的方法流程圖;
圖3為本發(fā)明又一實施例提供的礦體儲量塊段標(biāo)注圓匹配與更新的方法流程圖;
圖4為本發(fā)明實施例提供的礦體儲量塊段標(biāo)注圓匹配與更新的裝置結(jié)構(gòu)圖。
具體實施方式
下面結(jié)合附圖和實施例,對本發(fā)明的具體實施方式作進(jìn)一步詳細(xì)描述。以下實施例用于說明本發(fā)明,但不用來限制本發(fā)明的范圍。
首先,對標(biāo)注圓的結(jié)構(gòu)進(jìn)行說明。圖例窗口和繪制窗口中的標(biāo)注圓由一個圓和圓中的若干條線組成,圓被線分成若干個小格子。每個小格子有一個編號,對應(yīng)于塊段數(shù)據(jù)的不同屬性。由同一個圖例標(biāo)注圓復(fù)制獲得的標(biāo)注圓之間,具有相同編號的小格子中對應(yīng)的礦體儲量塊段數(shù)據(jù)的屬性相同。對于繪制窗口中的標(biāo)注圓,所述小格子中有用于標(biāo)注礦產(chǎn)塊段屬性的數(shù)據(jù),所述屬性可以為塊段號、資源儲量類型、塊段投影面積、塊段平均厚度等。
圖1為本發(fā)明實施例提供的礦體儲量塊段標(biāo)注圓匹配與更新的方法流程圖,如圖1所示,包括:s1,獲取第一文件和第二文件,所述第一文件包括:第一標(biāo)注圓、第三標(biāo)注圓和第一數(shù)據(jù),所述第二文件包括:第二標(biāo)注圓、第四標(biāo)注圓和第二數(shù)據(jù),所述第一標(biāo)注圓和所述第三標(biāo)注圓位于不同圖層,所述第二標(biāo)注圓和所述第四標(biāo)注圓位于不同圖層,所述第二標(biāo)注圓位于點圖層;s2,根據(jù)組成所述第一標(biāo)注圓的第一要素的外包矩形的信息,獲取所述第一要素;根據(jù)組成所述第二標(biāo)注圓的第二要素的外包矩形的信息,獲取所述第二要素;s3,提取所述第二要素的線要素,對所述第二要素的線要素進(jìn)行縮放和平移后,對所述第一要素和所述第二要素的線要素進(jìn)行打斷,由打斷后的所述第一要素和所述第二要素的線要素生成對應(yīng)的第一面要素和第二面要素;s4,根據(jù)所述第一標(biāo)注圓和所述第三標(biāo)注圓的坐標(biāo),獲取所述第一標(biāo)注圓到所述第三標(biāo)注圓的第一坐標(biāo)偏移量;根據(jù)所述第二標(biāo)注圓和所述第四標(biāo)注圓的坐標(biāo),獲取所述第二標(biāo)注圓到所述第四標(biāo)注圓的第二坐標(biāo)偏移量;s5,根據(jù)所述第一面要素的信息和所述第一坐標(biāo)偏移量,獲取所述第三標(biāo)注圓內(nèi)的第一數(shù)據(jù);根據(jù)所述第二面要素的信息和所述第二坐標(biāo)偏移量,獲取所述第四標(biāo)注圓內(nèi)的第二數(shù)據(jù);s6,根據(jù)所述第三標(biāo)注圓與所述第四標(biāo)注圓的坐標(biāo),和/或所述第一數(shù)據(jù)和第二數(shù)據(jù),將所述第三標(biāo)注圓內(nèi)的第一數(shù)據(jù)替換成所述第四標(biāo)注圓內(nèi)的第二數(shù)據(jù)。
s1中,所述第一文件為礦體儲量塊段數(shù)據(jù)的原始文件,所述第二文件為礦體儲量塊段數(shù)據(jù)的新文件。所述第一文件和所述第二文件具有不同圖層,所述圖層包括點圖層、線圖層和面圖層。所述第一標(biāo)注圓和所述第二標(biāo)注圓為圖例窗口中的標(biāo)注圓。所述第三標(biāo)注圓和所述第四標(biāo)注圓為繪制窗口中的標(biāo)注圓。所述第三標(biāo)注圓根據(jù)對所述第一標(biāo)注圓進(jìn)行復(fù)制獲取,所述第四標(biāo)注圓根據(jù)對所述第二標(biāo)注圓進(jìn)行復(fù)制獲取。所述第一標(biāo)注圓和所述第三標(biāo)注圓位于不同的線圖層。所述第二標(biāo)注圓和所述第四標(biāo)注圓位于不同的點圖層。所述第一數(shù)據(jù)和第二數(shù)據(jù)為礦體儲量塊段的不同屬性的值,位于點圖層。
s2中,所述第一標(biāo)注圓的要素包括圓和線段。當(dāng)所述第二標(biāo)注圓位于線圖層時,所述第二標(biāo)注圓的要素包括圓和線段。當(dāng)所述第二標(biāo)注圓位于點圖層時,所述第二標(biāo)注圓的要素為圓和線段連接在一起的點。根據(jù)所述第一標(biāo)注圓的第一要素的坐標(biāo),生成所述第一標(biāo)注圓的每個要素的外包矩形。根據(jù)所述第二標(biāo)注圓的第二要素的坐標(biāo),生成所述第二標(biāo)注圓的每個要素的外包矩形。根據(jù)所述第一標(biāo)注圓的外包矩形的信息,獲取所述第一標(biāo)注圓的第一要素。根據(jù)所述第二標(biāo)注圓的外包矩形的信息,獲取所述第二標(biāo)注圓的第二要素??梢詫⑺龅谝灰睾退龅诙卮鎯υ谂R時數(shù)據(jù)庫中。
s3中,所述提取所述第二要素的線要素包括生成與所述第二要素重合的線要素,即由要素圓和線段組成的線要素。由于生成所述線要素時,所述第二要素的線要素的坐標(biāo)和大小會發(fā)生變化,所以需要對所述第二要素的線要素進(jìn)行縮放和平移,使所述第二要素的線要素與所述第二要素重合。對所述第一要素和所述第二要素的線要素進(jìn)行打斷,所述打斷在要素之間的交點處進(jìn)行打斷。然后對打斷后的所述第一要素和所述第二要素的線要素進(jìn)行拓?fù)錁?gòu)面,生成對應(yīng)的第一面要素和第二面要素。對所述第一要素和所述第二要素進(jìn)行拓?fù)錁?gòu)面是指對組成每個小格子的線段進(jìn)行拓?fù)錁?gòu)面。所述第二標(biāo)注圓也可以位于圖層中的線圖層,當(dāng)所述第二標(biāo)注圓位于圖層中的線圖層時,直接對所述第一要素和所述第二要素進(jìn)行打斷,然后對打斷后的所述第一要素和所述第二要素進(jìn)行拓?fù)錁?gòu)面。在所述第一標(biāo)注圓中,每個由線段圍成的小格子都有一個對應(yīng)的第一面要素。在所述第二標(biāo)注圓中,每個由線段圍成的小格子都有一個對應(yīng)的第二面要素。
s4中,獲取所述第一標(biāo)注圓和所述第三標(biāo)注圓的坐標(biāo),并計算所述第一標(biāo)注圓的x坐標(biāo)與所述第三標(biāo)注圓的x坐標(biāo)的差值的絕對值,以及所述第一標(biāo)注圓的y坐標(biāo)與所述第三標(biāo)注圓的y坐標(biāo)的差值的絕對值,從而得到所述第一標(biāo)注圓到所述第三標(biāo)注圓的第一坐標(biāo)偏移量。計算所述第二標(biāo)注圓的x坐標(biāo)與所述第四標(biāo)注圓的x坐標(biāo)的差值的絕對值,以及所述第二標(biāo)注圓的y坐標(biāo)與所述第四標(biāo)注圓的y坐標(biāo)的差值的絕對值,從而得到所述第二標(biāo)注圓到所述第四標(biāo)注圓的第二坐標(biāo)偏移量。
s5中,根據(jù)所述第一坐標(biāo)偏移量,對所述第一面要素進(jìn)行平移。由于所述第一面要素是根據(jù)所述第一標(biāo)注圓的第一要素獲取,所述第三標(biāo)注圓由所述第一標(biāo)注圓復(fù)制得到,所以平移后的所述第一面要素覆蓋所述第三標(biāo)注圓。根據(jù)所述第二坐標(biāo)偏移量,對所述第二面要素進(jìn)行平移。由于所述第二面要素是根據(jù)所述第二標(biāo)注圓的第二要素獲取,所述第四標(biāo)注圓由所述第二標(biāo)注圓復(fù)制得到,所以平移后的所述第二面要素覆蓋所述第四標(biāo)注圓。所述第三標(biāo)注圓內(nèi)的第一數(shù)據(jù)位于所述第一面要素覆蓋的范圍內(nèi),所述第四標(biāo)注圓內(nèi)的第二數(shù)據(jù)位于所述第二面要素覆蓋的范圍內(nèi)。根據(jù)所述第一面要素的信息,可以獲取到所述第一數(shù)據(jù)。根據(jù)所述第二面要素的信息,可以獲取到所述第二數(shù)據(jù)。將所述第三標(biāo)注圓的坐標(biāo)、所述第四標(biāo)注圓的坐標(biāo)、所述第三標(biāo)注圓內(nèi)的第一數(shù)據(jù)和所述第四標(biāo)注圓內(nèi)的第二數(shù)據(jù)存儲在數(shù)據(jù)字典中。
s6中,第一種情況,對所述第二文件進(jìn)行坐標(biāo)變換,使第二文件的坐標(biāo)與第一文件的坐標(biāo)相同。遍歷所述第三標(biāo)注圓的坐標(biāo)和所述第四標(biāo)注圓的坐標(biāo),判斷所述第三標(biāo)注圓的坐標(biāo)和所述第四標(biāo)注圓的坐標(biāo)是否相同,如果所述第三標(biāo)注圓與所述第四標(biāo)注圓的坐標(biāo)相同,根據(jù)第三標(biāo)注圓對應(yīng)的第一面要素和該第四標(biāo)注圓對應(yīng)的第二面要素之間的對應(yīng)關(guān)系,將所述第三標(biāo)注圓內(nèi)的第一數(shù)據(jù)替換成對應(yīng)位置相同的所述第四標(biāo)注圓內(nèi)的第二數(shù)據(jù)。第二種情況,遍歷所述第一數(shù)據(jù)和所述第二數(shù)據(jù),如果所述第一數(shù)據(jù)中的塊段編號屬性的值與所述第二數(shù)據(jù)中塊段編號屬性的值相同,則將其他所述第一數(shù)據(jù)對應(yīng)替換成所述第二數(shù)據(jù)。第一種情況在塊段編號錯誤時,可以提高數(shù)據(jù)更新的正確性。第二種情況,在標(biāo)注圓的坐標(biāo)錯誤時,可以提高數(shù)據(jù)更新的正確性。也可以將兩種情況綜合使用,進(jìn)一步提高數(shù)據(jù)更新的正確性。
本實施例通過獲取原始文件和新文件中的圖例標(biāo)注圓的要素,并對所述要素進(jìn)行拓?fù)錁?gòu)面,根據(jù)拓?fù)錁?gòu)面的結(jié)果,以及繪圖窗口中的標(biāo)注圓到對應(yīng)的圖例窗口中的標(biāo)注圓的坐標(biāo)偏移量獲取繪圖窗口中的該標(biāo)注圓中的數(shù)據(jù),將原始文件中繪制窗口中的標(biāo)注圓中的數(shù)據(jù)替換成新文件中的具有相同坐標(biāo)的標(biāo)注圓中的數(shù)據(jù),從而完成礦體儲量塊段標(biāo)注圓的自動更新,提高了更新的效率,保證了更新的正確性。
圖2為本發(fā)明實施例提供的礦體儲量塊段標(biāo)注圓匹配與更新的方法流程圖,如圖2所示,在上述實施例的基礎(chǔ)上,本實施例中所述根據(jù)組成所述第一標(biāo)注圓的第一要素的外包矩形的信息,獲取所述第一要素,包括:s211,獲取所述第一標(biāo)注圓所在的圖層;s212,對于所述圖層中的每個要素,生成該要素的外包矩形;s213,若所述外包矩形為正方形,則獲知該外包矩形為組成所述第一標(biāo)注圓的要素圓的外包矩形;s214,獲取所述要素圓內(nèi)的要素;s215,將所述要素圓和所述要素圓內(nèi)的要素作為所述第一要素。
具體地,s211中,根據(jù)圖層的類型和圖層的名稱可以獲取到所述第一標(biāo)注圓所在的圖層。s212中,獲取所述第一標(biāo)注圓所在圖層中的每個要素,根據(jù)每個要素坐標(biāo)生成該要素的外包矩形。s213中,判斷所述外包矩形是否為正方形,若所述外包矩形為正方形,則該外包矩形為組成所述第一標(biāo)注圓的要素圓的外包矩形。s214中,根據(jù)所述要素圓的信息,獲取所述要素圓內(nèi)的要素。s215中,將所述要素圓和所述要素圓內(nèi)的要素作為組成所述第一標(biāo)注圓的第一要素。
本實施例中根據(jù)原始文件中的第一標(biāo)注圓的要素圓的外包矩形是正方形,先找到第一標(biāo)注圓的要素圓,然后根據(jù)要素圓找到第一標(biāo)注圓的其他要素,從而獲取到第一標(biāo)注圓的第一要素,為后續(xù)第一標(biāo)注圓內(nèi)第一數(shù)據(jù)的更新做準(zhǔn)備。
圖3為本發(fā)明實施例提供的礦體儲量塊段標(biāo)注圓匹配與更新的方法流程圖,如圖3所示,在上述實施例的基礎(chǔ)上,本實施例中所述根據(jù)組成所述第二標(biāo)注圓的第二要素的外包矩形的信息,獲取所述第二要素,包括:s221,獲取所述第二標(biāo)注圓所在的圖層;s222對于所述圖層中的每個要素,生成該要素的外包矩形;s223,若所述外包矩形為正方形,則獲知該外包矩形為所述第二標(biāo)注圓的點要素的外包矩形;s224,將所述點要素作為所述第二要素。
具體地,s221中,根據(jù)圖層的類型和圖層的名稱可以獲取到所述第二標(biāo)注圓所在的圖層。s222中,獲取所述第二標(biāo)注圓所在圖層中的每個要素,根據(jù)每個要素坐標(biāo)生成該要素的外包矩形。s223中,判斷所述外包矩形是否為正方形,若所述外包矩形為正方形,則該外包矩形為所述第二標(biāo)注圓的點要素的外包矩形,因為所述第二標(biāo)注圓位于點圖層。s224中,所述點要素為所述第二標(biāo)注圓的第二要素。
本實施例中根據(jù)原始文件中的第二標(biāo)注圓的要素圓的外包矩形是正方形,先找到第二標(biāo)注圓的點要素,從而獲取到第二標(biāo)注圓的第二要素,為后續(xù)第一標(biāo)注圓的更新做準(zhǔn)備。
在上述實施例的基礎(chǔ)上,本實施例中所述第一面要素和所述第二面要素的信息都包括:編號、x坐標(biāo)的最小值、x坐標(biāo)的最大值、y坐標(biāo)的最小值和y坐標(biāo)的最大值。
具體地,所述編號可以為所述第一面要素對應(yīng)的由第一標(biāo)注圓的第一要素圍成的小格子的編號和所述第二面要素對應(yīng)的由第二標(biāo)注圓的第二要素圍成的小格子的編號。將所述第一面要素按所述第一坐標(biāo)偏移量進(jìn)行偏移后,根據(jù)所述第一面要素的x坐標(biāo)的最小值、x坐標(biāo)的最大值、y坐標(biāo)的最小值和y坐標(biāo)的最大值,可以得到所述第一面要素覆蓋范圍內(nèi)的第一數(shù)據(jù)。將所述第二面要素按所述第二坐標(biāo)偏移量進(jìn)行偏移后,根據(jù)所述第二面要素的x坐標(biāo)的最小值、x坐標(biāo)的最大值、y坐標(biāo)的最小值和y坐標(biāo)的最大值,可以得到所述第二面要素覆蓋范圍內(nèi)的第二數(shù)據(jù)。
本實施例中所述第一面要素和所述第二面要素的信息都包括編號、x坐標(biāo)的最小值、x坐標(biāo)的最大值、y坐標(biāo)的最小值和y坐標(biāo)的最大值。根據(jù)所述第一面要素和所述第二面要素的信息,以及所述第一坐標(biāo)偏移量和所述第二坐標(biāo)偏移量可以獲取所述第一數(shù)據(jù)和所述第二數(shù)據(jù)。
在上述實施例的基礎(chǔ)上,本實施例還包括:在對所述第一要素和所述第二要素的線要素進(jìn)行打斷之前,對所述第一要素和所述第二要素的線要素分別進(jìn)行處理,所述處理包括:斷線連接處理、線延長處理、線打斷處理和拓?fù)錂z查處理中的一種或多種。
具體地,第一標(biāo)注圓和第二標(biāo)注圓可能出現(xiàn)不符合要求的情況,如出現(xiàn)斷線、線段的端點超出該線段的連接點等。需要對組成所述第一標(biāo)注圓的第一要素和組成所述第二標(biāo)注圓的第二要素的線要素進(jìn)行處理。所述處理包括:包括:斷線連接處理、線延長處理、線打斷處理和拓?fù)錂z查處理中的一種或多種。其中,斷線連接處理能將斷線的地方連接起來,線延長處理能將沒有連接到端點的線段連接到端點,線打斷處理在線相交的節(jié)點處進(jìn)行打斷,拓?fù)錂z查處理檢查并處理線要素本身及線要素相互之間不符合拓?fù)湟?guī)則的情況。
本實施例中在繪圖不標(biāo)準(zhǔn)的情況下,對組成所述第一標(biāo)注圓的第一要素和所述第二標(biāo)注圓的第二要素的線要素進(jìn)行處理,使所述第一標(biāo)注圓和由所述第二要素的線要素構(gòu)成的標(biāo)注圓轉(zhuǎn)換成標(biāo)準(zhǔn)圖形,從而保證了礦體儲量塊段標(biāo)注圓更新的正確性。
圖4為本發(fā)明實施例提供的礦體儲量塊段標(biāo)注圓匹配與更新的裝置結(jié)構(gòu)圖,如圖4所示,包括第一獲取單元1、第二獲取單元2、生成單元3、第三獲取單元4、第四獲取單元5和更新單元6,其中:
所述第一獲取單元1用于獲取第一文件和第二文件,所述第一文件包括:第一標(biāo)注圓、第三標(biāo)注圓和第一數(shù)據(jù),所述第二文件包括:第二標(biāo)注圓、第四標(biāo)注圓和第二數(shù)據(jù),所述第一標(biāo)注圓和所述第三標(biāo)注圓位于不同圖層,所述第二標(biāo)注圓和所述第四標(biāo)注圓位于不同圖層,所述第二標(biāo)注圓位于點圖層;所述第二獲取單元2用于根據(jù)組成所述第一標(biāo)注圓的第一要素的外包矩形的信息,獲取所述第一要素;還用于根據(jù)組成所述第二標(biāo)注圓的第二要素的外包矩形的信息,獲取所述第二要素;所述生成單元3用于提取所述第二要素的線要素,對所述第二要素進(jìn)行縮放和平移后,對所述第一要素和所述第二要素的線要素進(jìn)行打斷,由打斷后的所述第一要素和所述第二要素的線要素生成對應(yīng)的第一面要素和第二面要素;所述第三獲取單元4用于根據(jù)所述第一標(biāo)注圓和所述第三標(biāo)注圓的坐標(biāo),獲取所述第一標(biāo)注圓到所述第三標(biāo)注圓的第一坐標(biāo)偏移量;還用于根據(jù)所述第二標(biāo)注圓和所述第四標(biāo)注圓的坐標(biāo),獲取所述第二標(biāo)注圓到所述第四標(biāo)注圓的第二坐標(biāo)偏移量;所述第四獲取單元5用于根據(jù)所述第一面要素和所述第一坐標(biāo)偏移量,獲取所述第三標(biāo)注圓內(nèi)的第一數(shù)據(jù);根據(jù)所述第二面要素和所述第二坐標(biāo)偏移量,獲取所述第四標(biāo)注圓內(nèi)的第二數(shù)據(jù);所述更新單元6用于根據(jù)所述第三標(biāo)注圓與所述第四標(biāo)注圓的坐標(biāo),和/或所述第一數(shù)據(jù)和第二數(shù)據(jù),將所述第三標(biāo)注圓內(nèi)的第一數(shù)據(jù)替換成所述第四標(biāo)注圓內(nèi)的第二數(shù)據(jù)。
所述第一獲取單元1用于獲取第一文件和第二文件。其中,所述第一文件為礦體儲量塊段數(shù)據(jù)的原始文件,所述第二文件為礦體儲量塊段數(shù)據(jù)的新文件。所述第一文件和所述第二文件具有不同圖層,所述圖層包括點圖層、線圖層和面圖層。所述第一標(biāo)注圓和所述第二標(biāo)注圓為圖例窗口中的標(biāo)注圓。所述第三標(biāo)注圓和所述第四標(biāo)注圓為繪制窗口中的標(biāo)注圓。所述第三標(biāo)注圓根據(jù)對所述第一標(biāo)注圓進(jìn)行復(fù)制獲取,所述第四標(biāo)注圓根據(jù)對所述第二標(biāo)注圓進(jìn)行復(fù)制獲取。所述第一標(biāo)注圓和所述第三標(biāo)注圓位于不同的線圖層。所述第二標(biāo)注圓和所述第四標(biāo)注圓可能位于不同的點圖層。所述第一數(shù)據(jù)和第二數(shù)據(jù)為礦體儲量塊段的不同屬性的值,位于點圖層。
所述第一標(biāo)注圓的要素包括圓和線段。當(dāng)所述第二標(biāo)注圓位于線圖層時,所述第二標(biāo)注圓的要素包括圓和線段。當(dāng)所述第二標(biāo)注圓位于點圖層時,所述第二標(biāo)注圓的要素為圓和線段連接在一起的點。所述第二獲取單元2根據(jù)所述第一標(biāo)注圓的第一要素的坐標(biāo),生成所述第一標(biāo)注圓的每個要素的外包矩形。根據(jù)所述第二標(biāo)注圓的第二要素的坐標(biāo),生成所述第二標(biāo)注圓的每個要素的外包矩形。根據(jù)所述第一標(biāo)注圓的外包矩形的信息,獲取所述第一標(biāo)注圓的第一要素。根據(jù)所述第二標(biāo)注圓的外包矩形的信息,獲取所述第二標(biāo)注圓的第二要素??梢詫⑺龅谝灰睾退龅诙卮鎯υ谂R時數(shù)據(jù)庫中。
所述生成單元3提取的所述第二要素的線要素包括生成與所述第二要素重合的線要素,即由要素圓和線段組成的線要素。由于生成所述線要素時,所述第二要素的線要素的坐標(biāo)和大小會發(fā)生變化,所以需要對所述第二要素的線要素進(jìn)行縮放和平移,使所述第二要素的線要素與所述第二要素重合。對所述第一要素和所述第二要素的線要素進(jìn)行打斷,所述打斷在要素之間交點處進(jìn)行打斷。然后對打斷后的所述第一要素和所述第二要素的線要素進(jìn)行拓?fù)錁?gòu)面,生成對應(yīng)的第一面要素和第二面要素。所述生成單元3對所述第一要素和所述第二要素進(jìn)行拓?fù)錁?gòu)面是指對組成每個小格子的線段進(jìn)行拓?fù)錁?gòu)面。所述第二標(biāo)注圓也可以位于圖層中的線圖層,當(dāng)所述第二標(biāo)注圓位于圖層中的線圖層時,所述生成單元3直接對所述第一要素和所述第二要素進(jìn)行打斷,然后對打斷后的所述第一要素和所述第二要素進(jìn)行拓?fù)錁?gòu)面。在所述第一標(biāo)注圓中,每個由線段圍成的小格子都有一個對應(yīng)的第一面要素。在所述第二標(biāo)注圓中,每個由線段圍成的小格子都有一個對應(yīng)的第二面要素。
所述第三獲取單元4獲取所述第一標(biāo)注圓和所述第三標(biāo)注圓的坐標(biāo),并計算所述第一標(biāo)注圓的x坐標(biāo)與所述第三標(biāo)注圓的x坐標(biāo)的差值的絕對值,以及所述第一標(biāo)注圓的y坐標(biāo)與所述第三標(biāo)注圓的y坐標(biāo)的差值的絕對值,從而得到所述第一標(biāo)注圓到所述第三標(biāo)注圓的第一坐標(biāo)偏移量。并計算所述第二標(biāo)注圓的x坐標(biāo)與所述第四標(biāo)注圓的x坐標(biāo)的差值的絕對值,以及所述第二標(biāo)注圓的y坐標(biāo)與所述第四標(biāo)注圓的y坐標(biāo)的差值的絕對值,從而得到所述第二標(biāo)注圓到所述第四標(biāo)注圓的第二坐標(biāo)偏移量。
所述第四獲取單元5根據(jù)所述第一坐標(biāo)偏移量,對所述第一面要素進(jìn)行平移。由于所述第一面要素是根據(jù)所述第一標(biāo)注圓的第一要素獲取,所述第三標(biāo)注圓由所述第一標(biāo)注圓復(fù)制得到,所以所述第一面要素覆蓋所述第三標(biāo)注圓。所述第四獲取單元5根據(jù)所述第二坐標(biāo)偏移量,對所述第二面要素進(jìn)行平移。由于所述第二面要素是根據(jù)所述第二標(biāo)注圓的第二要素獲取,所述第四標(biāo)注圓由所述第二標(biāo)注圓復(fù)制得到,所以所述第二面要素覆蓋所述第四標(biāo)注圓。所述第三標(biāo)注圓內(nèi)的第一數(shù)據(jù)位于所述第一面要素覆蓋的范圍內(nèi),所述第四標(biāo)注圓內(nèi)的第二數(shù)據(jù)位于所述第二面要素覆蓋的范圍內(nèi)。所述第四獲取單元5根據(jù)所述第一面要素的信息,可以獲取到所述第一數(shù)據(jù)。根據(jù)所述第二面要素的信息,可以獲取到所述第二數(shù)據(jù)。然后將所述第一數(shù)據(jù)、第二數(shù)據(jù)、所述第一數(shù)據(jù)對應(yīng)的第一標(biāo)注圓的坐標(biāo)和所述第二數(shù)據(jù)對應(yīng)的第二標(biāo)注圓的坐標(biāo)存儲在數(shù)據(jù)字典中。
第一種情況,所述更新單元6對所述第二文件進(jìn)行坐標(biāo)變換,使第二文件的坐標(biāo)與第一文件的坐標(biāo)相同。然后遍歷所述第三標(biāo)注圓的坐標(biāo)和所述第四標(biāo)注圓的坐標(biāo),判斷所述第三標(biāo)注圓的坐標(biāo)和所述第四標(biāo)注圓的坐標(biāo)是否相同,如果所述第三標(biāo)注圓與所述第四標(biāo)注圓的坐標(biāo)相同,根據(jù)第三標(biāo)注圓對應(yīng)的第一面要素和該第四標(biāo)注圓對應(yīng)的第二面要素之間的對應(yīng)關(guān)系,將所述第三標(biāo)注圓內(nèi)的第一數(shù)據(jù)替換成對應(yīng)位置相同的所述第四標(biāo)注圓內(nèi)的第二數(shù)據(jù)。第二種情況,所述更新單元6遍歷所述第一數(shù)據(jù)和所述第二數(shù)據(jù),如果所述第一數(shù)據(jù)中的塊段編號屬性的值與所述第二數(shù)據(jù)中的塊段編號屬性的值相同,則將其他所述第一數(shù)據(jù)對應(yīng)替換成所述第二數(shù)據(jù)。第一種情況在塊段編號錯誤時,可以提高數(shù)據(jù)更新的正確性。第二種情況,在標(biāo)注圓的坐標(biāo)錯誤時,可以提高數(shù)據(jù)更新的正確性。也可以將兩種情況綜合使用,進(jìn)一步提高數(shù)據(jù)更新的正確性。
本實施例通過獲取原始文件和新文件中的圖例標(biāo)注圓的要素,并對所述要素進(jìn)行拓?fù)錁?gòu)面,根據(jù)拓?fù)錁?gòu)面的結(jié)果,以及繪圖窗口中的標(biāo)注圓到對應(yīng)的圖例窗口中的標(biāo)注圓的坐標(biāo)偏移量獲取繪圖窗口中的該標(biāo)注圓中的數(shù)據(jù),將原始文件中繪制窗口中的標(biāo)注圓中的數(shù)據(jù)替換成新文件中的具有相同坐標(biāo)的標(biāo)注圓中的數(shù)據(jù),從而完成礦體儲量塊段標(biāo)注圓的自動更新,提高了更新的效率,保證了更新的正確性。
在上述實施例的基礎(chǔ)上,本實施例中所述第二獲取單元2具體用于:獲取所述第一標(biāo)注圓所在的圖層;對于所述圖層中的每個要素,生成該要素的外包矩形;若所述外包矩形為正方形,則獲知該外包矩形為組成所述第一標(biāo)注圓的要素圓的外包矩形;獲取所述要素圓內(nèi)的要素;將所述要素圓和所述要素圓內(nèi)的要素作為所述第一要素。
具體地,所述第二獲取單元2根據(jù)圖層的類型和圖層的名稱可以獲取到所述第一標(biāo)注圓所在的圖層。然后獲取所述第一標(biāo)注圓所在圖層中的每個要素,根據(jù)每個要素坐標(biāo)生成該要素的外包矩形。所述第二獲取單元2判斷所述外包矩形是否為正方形,若所述外包矩形為正方形,則該外包矩形為組成所述第一標(biāo)注圓的要素圓的外包矩形。根據(jù)所述要素圓的信息,獲取所述要素圓內(nèi)的要素。所述要素圓和所述要素圓內(nèi)的要素為組成所述第一標(biāo)注圓的第一要素。
本實施例中根據(jù)原始文件中的第一標(biāo)注圓的要素圓的外包矩形是正方形,先找到第一標(biāo)注圓的要素圓,然后根據(jù)要素圓找到第一標(biāo)注圓的其他要素,從而獲取到第一標(biāo)注圓的第一要素,為后續(xù)第一標(biāo)注圓內(nèi)第一數(shù)據(jù)的更新做準(zhǔn)備。
在上述實施例的基礎(chǔ)上,本實施例中所述第二獲取單元2具體用于:獲取所述第二標(biāo)注圓所在的圖層;對于所述圖層中的每個要素,生成該要素的外包矩形;若所述外包矩形為正方形,則獲知該外包矩形為所述第二標(biāo)注圓的點要素的外包矩形;將所述點要素作為所述第二要素。
具體地,所述第二獲取單元2根據(jù)圖層的類型和圖層的名稱可以獲取到所述第二標(biāo)注圓所在的圖層。然后獲取所述第二標(biāo)注圓所在圖層中的每個要素,根據(jù)每個要素坐標(biāo)生成該要素的外包矩形。所述第二獲取單元2判斷所述外包矩形是否為正方形,若所述外包矩形為正方形,則該外包矩形為組成所述第二標(biāo)注圓的點要素的外包矩形,因為所述第二標(biāo)注圓位于點圖層。所述點要素為所述第二標(biāo)注圓的第二要素。
本實施例中根據(jù)原始文件中的第二標(biāo)注圓的要素圓的外包矩形是正方形,先找到第二標(biāo)注圓的點要素,從而獲取到第二標(biāo)注圓的第二要素,為后續(xù)第一標(biāo)注圓的更新做準(zhǔn)備。
在上述實施例的基礎(chǔ)上,還包括處理單元,用于在對所述第一要素和所述第二要素進(jìn)行打斷之前,對所述第一要素和所述第二要素的線要素分別進(jìn)行處理,所述處理包括:斷線連接處理、線延長處理、線打斷處理和拓?fù)錂z查處理中的一種或多種。
具體地,第一標(biāo)注圓和第二標(biāo)注圓可能出現(xiàn)不符合要求的情況,如出現(xiàn)斷線、線段的端點超出該線段的連接點等。需要處理單元對組成所述第一標(biāo)注圓的第一要素和組成所述第二標(biāo)注圓的第二要素的線要素進(jìn)行處理。所述處理包括:包括:斷線連接處理、線延長處理、線打斷處理和拓?fù)錂z查處理中的一種或多種。其中,斷線連接處理能將斷線的地方連接起來,線延長處理能將沒有連接到端點的線段連接到端點,線打斷處理在線相交的節(jié)點處進(jìn)行打斷,拓?fù)錂z查處理檢查并處理線要素本身及線要素相互之間不符合拓?fù)湟?guī)則的情況。
本實施例中在繪圖不標(biāo)準(zhǔn)的情況下,對組成所述第一標(biāo)注圓的第一要素和所述第二標(biāo)注圓的第二要素的線要素進(jìn)行處理,使所述第一標(biāo)注圓和由所述第二要素的線要素構(gòu)成的標(biāo)注圓轉(zhuǎn)換成標(biāo)準(zhǔn)圖形,從而保證了礦體儲量塊段標(biāo)注圓更新的正確性。
最后,本申請的方法僅為較佳的實施方案,并非用于限定本發(fā)明的保護(hù)范圍。凡在本發(fā)明的精神和原則之內(nèi),所作的任何修改、等同替換、改進(jìn)等,均應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi)。