呂品, 熊麗媛, 徐爭強, 周學鋮
(四川省核工業地質調查院,成都 610051)
隨著遙感技術的不斷發展以及影像數據空間分辨率的提高,遙感技術已經能夠為礦產資源監測提供多種多樣的信息[1],利用遙感技術進行礦產資源開發調查和監測已成為快速準確把握礦產資源開發秩序和礦山地質環境的重要方法[2]。矢量數據作為礦山遙感監測最重要的成果數據之一,記錄著礦山資源最為重要的空間位置信息以及其相應的屬性信息[3]。在礦山遙感監測矢量成果數據入庫的過程中,矢量成果數據檢查工作是非常重要的一部分[4],然而檢查工作卻因數據量大、數據種類多、規范要求繁雜等問題,導致入庫工作效率低下并易產生錯誤數據,無法確保質量。
圖屬一致性檢查作為矢量數據檢查的重要內容之一,對于確保數據質量尤顯重要[5]。圖屬一致是指空間數據的實際值與相對應的屬性數據字段值保持一致。如同一個面狀圖形在相同投影條件下,其面積值應是真實客觀且唯一存在的,這個值應該真實反映在相應屬性字段之中。常規的圖形面積計算一般采用礦山動態變化成果數據輔助生成軟件進行,但其計算一個中等規模省份的圖斑面積,就需耗費約4 h,對于開展多省域圖屬一致性檢查工作而言,僅僅檢查一次就需耗費數十小時。因此,亟待尋求一種簡單、高效、節約時間的方法。
空間數據轉換處理系統(feature manipulate engine,FME)作為一個專業級的數據轉換、處理軟件,在數據處理方面具有強大、有效和便捷的空間拓撲運算分析能力,為利用FME進行矢量數據間的一致性檢查奠定了堅實的技術基礎。因此,針對上述礦山遙感監測矢量數據的圖屬一致性檢查面臨的問題,本文提出基于FME的解決方法,在保證數據質量的同時大大提高工作人員的工作效率,為礦山遙感監測成果數據入庫工作提供有力的保障和支持。
為保證全國礦山遙感監測成果數據的唯一性,中國自然資源航空物探遙感中心根據《DZ/T0266—2014礦產資源開發遙感監測技術規范》、《全國礦山環境恢復治理狀況遙感地質調查與監測二級項目實施方案》等技術要求的規定,制定了本底數據更新調查成果數據提交說明(以下簡稱“數據提交說明”),以此為基礎,開展圖屬一致性檢查工作。
礦山遙感監測矢量成果數據類型眾多,格式統一,屬性定義明確。圖屬一致性檢查對象主要針對面狀要素的面積屬性字段、線狀要素的長度屬性字段和點狀要素的坐標屬性字段[6]。在礦山遙感監測矢量成果數據中,除地表開采損毀及恢復治理圖層(KF)之外的點、線、面狀要素相應屬性字段的檢查方法相對簡單,只需以常用地理信息系統(geographic information system,GIS)軟件便可進行,不涉及復雜空間及屬性運算。而地表開采損毀及恢復治理圖層(KF)中,由于存在開發占地面積(KFZDMJ)、礦權內面積(KQNMJ)和礦權外面積(KQWMJ)3個面積字段,且字段間存在“礦權內面積與礦權外面積之和等于開發占地面積”的內在關系,計算難度較大,地表開采損毀及恢復治理圖層(KF)部分屬性信息定義如表1所示。

表1 地表開采損毀及恢復治理圖層(KF)部分屬性信息定義
1)礦山動態變化成果數據輔助生成軟件的圖斑面積計算算法。該算法首先根據圖斑的重力中心點經度獲取其所在高斯3°分帶中的投影帶號,并計算開發占地面積(KFZDMJ),然后遍歷采礦權(KJ)圖層許可證號(XKZH)合并相同的圖斑,計算其相交部分面積作為礦權內面積(KQNMJ),最后以開發占地面積(KFZDMJ)減去礦權內面積(KQNMJ)獲得圖斑的礦權外面積(KQWMJ)。
該算法邏輯嚴密,優點在于通過屬性遍歷,合并圖斑與所有采礦權圖層許可證號相同的礦權,并求取壓蓋部分面積,從而避免了對圖斑與采礦權相對復雜的位置關系的判別分析,代碼因此相對簡潔。缺點主要有2方面: 一是圖斑礦權外面積并非由圖形面積直接計算所得,造成開發占地面積、礦權內面積、礦權外面積3者之間并不獨立,缺乏檢核條件; 二是該算法時間復雜度較高,設數據地表開采損毀及恢復治理圖層(KF)圖斑總數為M,采礦權(KJ)圖斑總數為N,則該算法時間復雜度T1可表示為:
T1(M,N)=O(MN),
(1)
式中O為時間復雜度函數。
對于動輒上萬個的采礦權以及數萬甚至數十萬的地表開采損毀及恢復治理圖層圖斑,該算法的時間復雜度極高,所以,以其計算一個中等規模省份的圖斑面積,需要4 h的時間也就不難理解了。
2)FME編程方法的圖斑面積計算算法。本方法從降低算法時間復雜度的角度開展了研究。首先開發圖斑依據其重力中心點經度所在高斯3°分帶中的投影帶號對其分別投影; 對采礦權以許可證號(XKZH)為分組分別聚合后,以采礦權聚合體范圍經度極大值及極小值為投影依據進行投影,跨帶采礦權聚合體在其所跨投影帶分別投影; 在各相同投影帶內,以開發圖斑為基礎,遍歷采礦權,獲取開發圖層圖斑與其相應采礦權的空間位置關系(相離、包含、包含于、壓蓋),相離及包含的礦權外面積與礦權內面積分別與開發占地面積相等,包含于及壓蓋則進一步通過空間分析運算獲得其礦權內部分及礦權外部分圖斑,并分別計算面積。
與前者一樣,本算法邏輯嚴密,且保證了3個面積字段計算的獨立性,增加了檢核條件。同樣設數據地表開采損毀及恢復治理圖層(KF)圖斑總數為M,采礦權(KJ)圖斑總數為N,數據所跨高斯3°分帶數為K,且在空間上均勻分布,考慮到存在一個許可證號對應多個礦權的情況,因此則該算法時間復雜度T2可表示為:
T2(M,N)≤O(MN/K2)。
(2)
通過式(1)與式(2)的比較可知,本文方法的時間復雜度更低。同一套數據,數據跨帶越多,采用本文方法的優勢更大; 即使數據不跨帶,由于采礦權圖層存在大量的多個采礦權圖斑使用同一個許可證號的情況,本文方法以采礦權圖層許可證號字段為分組依據進行聚合操作,客觀上減小了N值,降低了算法時間復雜度,因此在此情況下采用本文方法也更有優勢。
矢量成果數據圖屬一致性檢查程序采用FME進行設計,FME作為一種完整的空間數據抽取-轉換-加載(extract-transform-load,ETL)解決方案,提供了在轉換過程中重構數據的功能,實現了對250多種不同空間數據格式的重投影、空間模型變換、屬性關聯、拓撲變換等操作,具有極好的靈活性。
矢量圖斑與采礦權的分帶對照了礦山動態變化成果數據輔助軟件對數據分帶的相關規定[7],從而在邏輯上保證了2種方法計算結果的一致性。
1)矢量圖斑的投影。與礦山動態變化成果數據輔助軟件相同,程序嚴格以矢量圖斑重力中心點所處經度確定其在高斯3°帶的投影帶號,同一圖斑礦權內部分與礦權外部分的面積計算均使用原圖斑的投影帶號。如使用表達式(_x<115.5 and _x>112.5)判定圖斑處于高斯3°帶第38帶中,不考慮重力中心點的經度正好處于分帶界線的這種極小概率情況。
2)礦權的投影。為防止同一許可證號2個采礦權因正好位于分帶界線兩側而被歸入不同投影帶的情況,對采礦權以許可證號字段為分組進行了聚合處理[8]。采礦權聚合體以其范圍經度極大值(_xmax)與經度極小值(_xmin)確定其投影帶號,跨帶采礦權聚合體應在2個投影帶內分別投影,以保證跨帶采礦權聚合體東西兩側圖斑均能與相應采礦權聚合體進行空間分析運算。如使用表達式(_xmax<115.5 and _xmax>112.5 and _xmin<115.5 and_xmin>112.5)表示采礦權聚合體完全處于高斯3°帶第38帶中,表達式(_xmax>115.5 and_xmin<115.5)表示采礦權聚合體跨第38帶和39帶。
經分析,礦山遙感監測矢量數據中,所有矢量圖斑與對應采礦權的相對位置關系包括且僅限于相離、包含、包含于、壓蓋4種類型[9-10],對圖斑與采礦權空間位置關系的準確判別,是實現程序化計算、檢查圖斑圖屬一致性的基礎[11],如表2所示。

表2 圖斑與其相應礦權的位置關系類型
在FME中,使用空間分析類轉換器SpatialFilter對圖斑與礦權的相對位置關系進行判斷,通過輸出端口失敗(Failed)可實現“非”運算。如空間判斷謂詞設置為“Filter 包含于 Candidate”,則通過失敗(Failed)端口輸出的數據則為“非(Filter 包含于 Candidate)”,即“Filter 不包含于 Candidate”的數據。具體流程如圖1所示。

圖1 圖斑相對位置關系的檢測方法
1)相離類型。相離即為不相交,即在SpatialFilter轉換器空間判斷謂詞設置為“Filter 相交 Candidate”后,從失敗(Failed)端口輸出的數據則為與礦權“相離”的圖斑類型。
2)包含類型。空間謂詞判斷設置為“Filter 包含 Candidate”,則從通過(Passed)端口輸出的數據則為被相應礦權“包含”的圖斑類型。
3)包含于及壓蓋類型。相交即為不相離,因此包含、包含于、壓蓋3種相對位置關系皆為相交。要從這3種相對位置關系剔除“包含”關系類型圖斑,需使用2次SpatialFilter轉換器,第一次使用判斷謂詞“Filter 相交 Candidate”找出所有相交類型圖斑,第二次使用“Filter 包含 Candidate”判斷謂詞,則從失敗(Failed)端口輸出的數據即為“包含于及壓蓋圖斑”的類型。
通過這3組判斷,可將所有矢量數據歸入這3種空間相對位置關系類型中,且不會出現重復歸類。
為簡化運算過程,提高程序運行效率,程序對各相對位置關系的圖斑設計了不同的面積計算方法,即賦值法和空間疊置分析運算法。
1)相離及包含類型圖斑的面積計算方法。根據這2種類型空間位置關系的特點,在確定了開發占地面積(KFZDMJ)后,采用賦值法來確定礦權內面積(KQNMJ)和礦權外面積(KQWMJ)。如相離關系類型圖斑,其礦權外面積(KQWMJ)必定等于開發占地面積(KFZDMJ),而礦權內面積(KQNMJ)必定等于0,而包含關系類型的圖斑則與之相反,如表3所示。

表3 相離及包含關系類型圖斑面積值的特點
2)包含于及壓蓋關系類型圖斑的面積計算方法。此2種關系類型的圖斑面積值之間沒有規律可言,表現出一定的隨機性,程序采用空間疊置分析運算法來計算相關面積值。空間疊置分析運算是一個對輸入的面狀要素相互求交的過程,如圖2所示。圖斑1和2經過空間疊置分析運算之后,產生了圖斑1,2,3,但所有圖斑的總面積不變。

圖2 空間疊置分析運算
在FME中,疊置分析運算使用AreaOnAreaOverlayer轉換器進行,該轉換器在保留所有輸入屬性的同時,在輸出要素中增加overlaps屬性,overlaps屬性記錄了切割面的壓蓋層數,如圖2所示的輸出中,圖斑1和2的overlaps屬性值為1,圖斑3的overlaps屬性值則為2。結合AttributeExposer轉換器暴露的fme_feature_type屬性可實現數據圖層來源的可追溯性,如使用表達式“overlaps=1 and fme_feature_type Contains ’KF’”表示地表開采損毀及恢復治理圖層(KF)非壓蓋部分圖斑,對應礦權外部分圖斑,反之,表達式“overlaps!=1 and fme_feature_type Contains ’KF’”表示地表開采損毀及恢復治理圖層(KF)壓蓋部分圖斑,對應礦權內部分圖斑,同時采礦權圖斑自動被排除進入下一步的面積計算中。
考慮到同一個圖斑經過空間分析運算之后有可能產生多個礦權內部分圖斑或者多個礦權外部分圖斑,程序以XKZH與圖斑唯一標識符KFID對礦權內部分及礦權外部分圖斑分別進行聚合(Aggregator)操作,并分別計算聚合體的總面積作為圖斑礦權內面積(KQNMJ)及礦權外面積(KQWMJ)。包含于及壓蓋關系類型圖斑面積計算流程如圖3所示。

圖3 包含于及壓蓋關系類型圖斑面積計算流程
為評價本方法在面積計算上的效率及精確度,實驗使用戴爾(DELL)Precision T7920圖形工作站為平臺,以福建省2018年礦山遙感監測矢量地表開采損毀及恢復治理圖層(KF)共計27 114個圖斑進行對比實驗,分析記錄了試驗結果,如表4所示。
同時,為進一步驗證本文方法計算結果的正確性,選取了在試驗結果中報錯的不同空間關系類型圖斑,如相離、包含、包含于及壓蓋類型,特別是同一個圖斑存在多部分礦權內或者礦權外面積的圖斑,通過對圖斑的手動投影,并計算開發占地面積(KFZDMJ)、礦權內面積(KQNMJ)、礦權外面積(KQWMJ)3個字段,得到實驗結果如表5所示。

表5 數據計算精確度對比
結果表明,采用本文方法的計算效率較采用礦山動態變化成果數據輔助生成軟件的計算效率有了顯著的提高,時長從14 458 s縮短至68 s; 另一方面,本文方法的面積計算結果與手動計算的結果一致,驗證了本文方法在計算結果上的準確性。
文章提出了一種基于FME的礦山遙感監測矢量數據圖屬一致性檢查方法,建立了矢量圖斑與相應采礦權的相對空間位置關系類型,得到如下結論:
1)提出了一種新的面積計算算法,該算法根據圖斑坐標位置、與對應采礦權相對位置關系對圖斑進行分類,并分別進行空間分析運算,避免了常用的礦山動態變化成果數據輔助生成軟件對所有圖斑與采礦權的遍歷求交,在降低了程序時間復雜度的同時,也實現了圖斑礦權內外面積的獨立計算。
2)程序對跨帶采礦權在所跨投影帶同時進行了投影,雖避免了對采礦權所屬圖斑在所跨投影帶號中的分布進行檢測,但同時也造成了不必要的資源占用。若需解決該問題,則可對跨帶采礦權進行有針對性的投影帶號選擇,程序運行效率可進一步提高。