史少維,姚鵬君,曹宏濤,林巨超
(1.北京東方新星石化工程股份有限公司(BNEC),北京100070;2.北京建筑大學測繪與城市空間信息學院,北京100070)
在地下地質相關的工程項目建設過程中,為便于工程管理,需要建立三維模型系統(tǒng),實現(xiàn)地質模型數據瀏覽顯示的功能是必不可少的,進而要求對特定區(qū)域的地質巖性情況進行實時的檢測查詢,以對工程地質情況進行分析與決策。
目前,隨著三維激光掃描技術的發(fā)展,已存在利用三維影像及點云數據應用到地質建模及空間識別的領域中;在軟件平臺方面,QuantyView平臺是比較成熟的三維地質建模系統(tǒng),其利用地質鉆孔數據、平面和斷面剖圖等多源數據進行建模,以及對地質模型進行分析管理等[1]。
本文主要針對地質模型的巖石屬性檢測的問題,基于空間幾何拓撲關系,在Skyline的三維平臺中,利用其強大的空間分析算法接口進行二次開發(fā),實現(xiàn)了地質巖石模型空間識別的功能開發(fā)。
空間幾何拓撲關系反映了空間目標的邏輯結構,對空間目標查詢、分析和空間目標重建具有重要意義。空間幾何數據有點、線、面、體4類,它們之間有相離、相等、相接、相交、包含于、包含、交疊、覆蓋、被覆蓋、進入、穿越和被穿越12種基本空間拓撲關系。其中穿越與被穿越關系在城市GIS、礦山GIS中進行空間曲面分析時運用較為常見,具有重要的意義。
面與面的空間相交穿越關系識別規(guī)則為:判斷兩個面對象是否相交,可以先判斷它們的最小包圍盒是否相交,如果不相交,則可以直接判斷這兩個面對象不相交;如果最小包圍盒相交,可以通過依次判斷面對象與構成另一個面對象的每條線段是否相交得到。其空間面間相交關系如圖1所示。
圖1 面與面之間相交穿越檢測示意圖
本文基于空間幾何體之間拓撲關系,提出了利用空間面與面相交穿越關系運算來識別目標巖石區(qū)域面,進而顯示屬性信息的方法。
在地下地質工程系統(tǒng)中實現(xiàn)對地下巷道巖石屬性的查詢模塊,當鼠標單擊巷道時,能精確顯示巖石的屬性。通過3ds Max或Skyline builder建立的巷道模型結合運用CorelDRAW等圖形軟件處理巷道的地質紋理素描圖,生成具有逼真效果的地質模型。不過在Skyline中不識別具有地質紋理識別相應模塊,而是將三維模型作為一個整體存儲顯示,因此不能查詢不同區(qū)域模型表面的巖石屬性。
首先,在Skyline中地質模型是作為一個整體的,因此不能查詢不同區(qū)域的巖石屬性。由此設計將不同的地質巖石在模型的基礎上進行碎片化,形成巖石曲面體數據圖層。
其次,由于實際地質情況的復雜性及區(qū)域不規(guī)則的特點,鼠標點觸時準確選擇巖石曲面體變得困難,往往視覺直觀選擇了目標巖石區(qū)域,但是在三維空間中,會出現(xiàn)假選或選空的情況。為了應對這種情況,選擇設計空間查詢體進行空間幾何面的相交來偵測目標巖石曲面體。
最后,基于空間面相交穿越分析,利用Skyline的接口實現(xiàn)巖石屬性識別功能的開發(fā)。程序上體現(xiàn)為:獲取巖性區(qū)域目標點,在目標點生成查詢體,即以目標點為中心生成一個包含3個相互垂直正方形面的立方面體,再利用查詢體與查詢目標體曲面層數據進行空間分析計算,判斷是否有曲面體被偵測到,返回結果進而顯示曲面體的巖石屬性值。
根據總體思路方案,基于Skyline的模型識別算法流程設計如圖2所示。
圖2 模型識別算法流程
正立方體面(PolygonGeometry)定義為:xyz軸上設置一定的距離間隔生成3個正方形面,每一個正方形面定義為查詢面。每個查詢面都有以下特征:以鼠標點坐標為中心,分別垂直于x、y、z軸;距離中心間隔相等。間隔設置要結合FeatureLayer中曲面多邊形的大小來設置,過大則偵測范圍大,則返回的結果數量多且不準確,過小則偵測范圍小會出現(xiàn)沒有結果返回的情況,一般采用經驗法進行測試。測試的結果表明,間隔設置為最小的曲面體的一半左右即可,效果快且準確??臻g查詢體設計如圖3所示。
巖石數據圖層(FeatureLayer)(如圖4所示)將不同的地質巖石三維模型在3ds Max中切成空間三維幾何體集,每一個三維幾何曲面代表著一個不同的地質巖石區(qū)域,轉換數據格式導入到ArcSence中或在Skyline中進行屬性編輯。這一步主要是按照對地質模型的勘察報告逐一進行巖性描述編輯,在三維空間多邊面的巖性屬性字段中進行賦值。在算法實現(xiàn)時,對其巖石屬性字段進行結果顯示即可。具體步驟如下:
1)根據巷道紋理貼圖在3ds Max里進行碎片剪切的工作,將巖石模型的屬性圖層抽離出來生成空間多邊形幾何體,添加定義巖石屬性字段,導出SHP等格式文件。
圖3 查詢體結構設計示意圖
圖4 巖石數據圖層示意圖
2)導入到ArcSence中結合巷道勘察素描圖數據對每一個碎片的巖石屬性字段進行描述編輯保存。在進行屬性編輯的過程時,將對應勘察巖石報告整理屬性到Excel表中,打開SHP圖層的屬性表進行批量導入。
3)保存成Skyline的格式數據作為一個圖層加載到Skyline中。將巖性FL圖層以SHP格式準確地添加到FLY數據的信息樹中,在具體的操作過程中要注意FeatureLayer高程、精度及字段選擇的設置,保證巖石屬性圖層與原有的地質模型相吻合。這樣保證對不同紋理選擇目標時準確對應Feature Layer的巖石曲面,進而通過算法空間分析顯示相應巖石屬性。
選中FeatureLayers中的一個目標面進行巖性屬性描述字段進行編輯。圖5中顯示的立方體表示選中的目標面Polygon,在勘察素描圖中的相應區(qū)域為:花崗巖C類Q值為1.67。
圖5 巖石屬性編輯
依據上述算法流程設計及Skyline接口框架體系,在已有的Skyline地質工程系統(tǒng)中開發(fā)地質屬性識別功能模塊,其具體實現(xiàn)思路步驟如下。
通過SGWorld65對象中Project接口的Open方法打開服務器指定的FLY工程文件,此FLY文件包含F(xiàn)L巖性圖層。具體代碼為:
其中"http:∥10.137.202.34/SkylineGlobe/default.fly"為服務器端發(fā)布的FLY文件路徑。
空間查詢體是由3個以目標點為中心且相互垂直的查詢面組成的。其中以生成垂直于x軸的查詢面為例,代碼如下:
其余垂直于y、z軸的cPolygonGeometryy、cPolygonGeometryz查詢面與垂直于x軸查詢面的生成步驟相同。以目標點為中心生成的相互垂直的3個查詢面組成的外包正方體,就是設計生成的查詢體。
Skyline中接口 IFeatureLayer中的 ExecuteSpatialQuery()是封裝了空間分析算法的函數,其內部實現(xiàn)過程具體包括:在Layer中第一次過濾選出目標點附近的準目標面集,準目標集與查詢體面進行空間相交穿越分析,返回目標結果集,如圖6所示。
圖6 查詢體空間相交查詢
查詢結果如圖7所示。
圖7 目標巖石屬性顯示
在巷道地質模型內部進行點觸巖性識別時,當鼠標點觸位置生產查詢體通過空間相交分析計算偵測到最近的空間曲面體時,彈出目標區(qū)域的巖石屬性描述;當生成的查詢體偵測不到任何空間曲面體時,相應的提示點觸范圍內沒有任何有效巖石曲面體。
本文圍繞地質工程系統(tǒng)中模型識別的問題,基于空間拓撲關系提出了在Skyline平臺中實現(xiàn)地質模型識別的思路方案,設計空間查詢體,制作地質模型巖石屬性圖層,利用Skyline空間幾何運算二次開發(fā)接口實現(xiàn)地質模型屬性識別功能開發(fā)。通過系統(tǒng)運行的效果來看,本文系統(tǒng)能夠滿足工程實踐中的應用需求。
[1]何珍文,吳沖龍,劉剛,等.地質空間認知與多維動態(tài)建模結構研究[J].地質科技情報,2012,31(6):46-51.
[2]吳素芝,楊衛(wèi)軍,郭亮.地下空間綜合管理信息平臺建設的探究[J].測繪通報,2013(8):99-102.
[3]孫曉明.空間拓撲關系計算算法研究[D].南京:南京師范大學,2011.
[4]程朋根.地礦三維空間數據模型及相關算法研究[D].武漢:武漢大學,2005.
[5]吳素芝,楊衛(wèi)軍,郭亮.地下空間綜合管理信息平臺建設的探究[J].測繪通報,2013(8):99-102.
[6]惠立.基于skyline油田集輸油管網數字化與三維可視化應用研究[D].西安:西安石油大學,2011.
[7]鐘登華,魯文研,劉杰,等.基于三維地質模型的地下洞室曲面塊體分析[J].巖石力學與工程學報,2011,30(2):3696-3702.
[8]鮑艷.礦山信息系統(tǒng)中巷道的三維矢量數據結構與可視化[D].西安:西安科技大學,2003.
[9]宋世凱.基于Skyline的城市三維地理信息系統(tǒng)的設計與研究[D].石家莊:河北師范大學,2012.
[10]杜世宏,秦其明,王橋.空間關系及其應用[J].地學前緣,2006,13(3):69-80.
[11]曹巍,王爭.基于TerrExplorer Pro的三維影像管理系統(tǒng)研究[J].測繪通報,2008(1):50-51.