武雪梅
(重慶市勘測院,重慶 401121)
地理信息系統在地籍管理、災害預警、土地利用等方面都發揮了重要作用。通過地理信息系統可以隨時隨地進行信息訪問,實現信息共享[1]。然而,地理信息的龐雜性,給管理工作帶來巨大難度和挑戰,導致后期信息檢索和尋找困難,因此對地理信息進行分類整理,一直是地理信息系統中的重要功能模塊[2]。然而,由于地理信息類型多樣、信息量龐大、維度也較大,所以以單一模塊為基礎的系統在分類整理方面面臨巨大的困難。這一點也是地理信息系統一直亟待解決的問題。
面對上述問題,目前主要有3種算法可以分類整理:(1)是神經網絡算法,這種算法結合地理信息特征,通過神經網絡三層運算,完成分類整理;(2)是隨機森林算法,這種算法通過構建不同類別的決策樹,并根據投票分類器實現多種混合信息的分類;(3)是支持向量機算法,這種方法通過一個或一組超平面,然后利用超平面實現二維數據信息的分類。以上3種方法雖然都能完成信息整理任務,但是在處理大規模和高維度的數據時,能力會直線下降。總而言之,當前常用的這3種信息分類整理方法并不適用多維度、大數量的地理信息處理工作。
針對上述問題,本研究將數據聚類算法應用到地理信息系統的多模塊化的設計當中,以期提高地理信息整理質量,方便后期地理信息檢索,提升地理信息系統服務質量。
地理信息系統是地理信息集成平臺,通過登錄這個系統,可以實現地理信息查找和共享[3]。地理信息系統為滿足應用需求,存在多個功能模塊,具體如下:
(1)信息集成模塊;
(2)信息處理模塊;
(3)聚類管理模塊;
(4)分類存儲模塊;
(5)信息檢索模塊。
在上述5個模塊當中,聚類分析模塊是核心模塊。由于地理信息具有龐雜性,若不進行有效管理,直接進行存儲的話,不利于后期信息存儲和信息檢索[4]。基于上述情況,結合聚類算法對地理信息進行分類管理,提升地理信息規范性。
地理信息系統的首要模塊就是從各個不同單位的業務系統當中集成各種地理信息。地理信息類型包括土地利用信息、地籍信息、地質類型信息、氣象信息、地表災害信息、農業信息、植被覆蓋信息等[5]。這些信息的采集工作隸屬于不同的部門,因此信息存儲在不同業務系統當中。為此,在該模塊當中,利用數據倉庫技術進行地理信息集成。
數據倉庫技術是一種典型集成技術。該技術與其他兩種集成技術(聯邦數據庫以及中間件集成方法)相比,具有更強的實時性、及時性、完整性和規范性[6]。
數據倉庫集成技術工作原理(如圖1所示):

圖1 數據倉庫集成技術工作原理
在數據倉庫技術當中,ETL工具是關鍵,在其中主要起到抽取/清洗/轉換/加載的作用。
1.1.1 抽取
抽取,即從各個業務系統數據庫抽取所需要的信息或數據[7]。
1.1.2 轉換
轉換,即轉換抽取到的信息的格式,使其具有統一性。信息來源于不同的業務系統,其表現格式并不相同,為方便后續存儲和應用,需要轉成統一的指定格式,如,編碼轉換、字段轉換、度量單位的轉換等[7]。
1.1.3 清洗
抽取到的信息有的存在缺失,有的存在異常,有的存在重復等問題。這些存在問題的信息統一被稱為臟信息。臟信息的存在會影響整體信息的質量,因此需要清洗處理,包括填補、刪除以及去重復等[8]。
1.1.4 加載
加載,即將處理好的信息加載到建立的目標倉庫當中,統一進行挖掘和利用。加載方式分為2種:全量加載速度快,但是可能存在數據遺漏的風險;增量加載速度慢,但是能保證數據加載的完整性。
地理信息在完成集成工作后,進入下一模塊,即處理模塊當中。在這一模塊主要進行兩個方面的處理,即離散化和降維。下面針對這兩個方面繼續具體分析。
1.2.1 離散化
為提高后續地理信息聚類時的時空效率,需要將具有連續屬性的地理信息進行離散化處理[9]。具體過程如下:
步驟1:給出一個具體的決策表系統,把它記為S=(U,C∪{e} ∪g0gggggg ,V,f),其中,U為論域;C∪{e}為條件屬性集;g0gggggg=D為決策屬性集;C為離散的屬性集;e為連續的屬性;
步驟2:按照升序對e進行排序;
步驟3:根據下述公式(1),選擇n個初始的區間粒集I=(I1, I2,...,In),其中

步驟4:將具有相同屬性的相鄰區間粒進行合并,作為一個新的區間粒,記為I';
步驟5:按照I'對e進行離散化,得到e′′;
步驟6:計算e''的粒度熵QG (C∪{e′′} ,D);
步驟7:重復步驟4和步驟5,得到QG (C∪{e′} ,D);
步驟8:計算QG (C∪{e′′} ,D)與QG (C∪{e′} ,D)之間的絕對差值;
步驟9:判斷當前I′是否使得絕對差值變化最小。若滿足條件,得出離散化后的連續屬性e′;否則,重復上述步驟,直至完成地理信息連續屬性離散化。
1.2.2 降維
地理信息類型多樣,因此維度非常高,不利于分類管理,因此需要進行降維處理[10]。具體過程如下:
步驟1:設有p維隨機向量x=(x1,x2,...,xp)Tn個原始地理信息樣本xj=(xj1,xj2,...,xjp)T,i=1,2,...,n,n>p,構造樣本矩陣。其中,T為轉置行列符號;
步驟2:對樣本矩陣中的每一陣元進行如下標準化變換;

式(4)中,xij為原始地理信息陣元。
步驟3:利用標準化后的每一陣元Zij構建標準化矩陣Z;
步驟4:計算Z的相關系數矩陣;

式(5)中,ri代表相關系數。
步驟5:解R的特征方程,得到k個特征值λ1,λ2,..,λk;
步驟6:求解特征根對應的特征向量;
步驟7:計算下述特征值的兩個參數Y和Y',計算公式如下:
(1)方差貢獻率Y

(2)方差累計貢獻率Y′

式(7)中,λi為第i個特征值;λk為第k個特征值;p為維度;k為特征值的數量。
步驟8:選擇方差累計貢獻率大于85%的向量作為主成分[11]。
通過上述步驟得到的主成分,即為降維后的信息。
基于上述處理好的地理信息,在本章節利用聚類算法進行分類整理。聚類算法是通過計算相似度來實現樣本聚集的一種算法[12]。該算法下又包括多種分支算法,這些算法各有特點。其中K-means是最常用的方法,但是這種算法對初始聚類中心要求較高,聚類中心的選擇直接影響聚類結果,因此在利用該算法進行地理信息聚類整理前,選擇初始聚類中心至關重要。K-means算法初始聚類中心選擇的基本流程(如圖2所示):

圖2 K-means算法初始聚類中心選擇流程
圖2 中,a為參數,取值0.75;Eps計算公式如下:

式(8)中,Eps為密度的半徑;p為維度;n為樣本數量;d(xi,x)j為距離。
基于選出的初始聚類中心,執行K-means算法基本流程,如下:
步驟1:指定聚類數量K以及具有n個樣本的集合{x1,x2,...,xn};
步驟2:執行上述圖2流程,選擇初始聚類中心;
步驟3:計算各個樣本到聚類中心的距離d(xi,x)j,計算公式如下:

式(9)中,xi為樣本;xj為聚類中心。
步驟4:將樣本劃分到距離最近的類別當中;
步驟5:重新計算每個新類的質心;
步驟6:判斷質心是否發生變化。若發生變化,回到步驟3;否則完成地理信息分類。
通過上述聚類算法,實現了對地理信息的分類整理,為后期信息共享和檢索提供了便利。
為測試所研究基于數據聚類算法在地理信息系統中分類管理模塊的功能,以某地理信息系統為依托,運行算法,驗證分類準確性。
為方便測試,在這里模塊功能測試所使用的樣本集由人工給出,不進行集成工作。所使用的地理信息樣本集包括7個,這7個樣本集基本情況如下:
(1)土地利用信息集:樣本數量為5246個;屬性8個;維度15個;類別為5類;
(2)地籍信息集:樣本數量為1256個;屬性5個;維度25個;類別為3類;
(3)地質類型信息集:樣本數量為2540個;屬性7個;維度18個;類別為7類;
(4)氣象信息集:樣本數量為4580個;屬性6個;維度23個;類別為8類;
(5)地表災害信息集:樣本數量為3690個;屬性4個;維度20個;類別為10類;
(6)農業信息集:樣本數量為2560個;屬性8個;維度14個;類別為7類;
(7)植被覆蓋信息集:樣本數量為5210個;屬性25個;維度56個;類別為25類。
利用章節1.2中提到的兩種方法,即離散化和降維,對地理信息樣本集進行處理,處理后的結果如下:
(1)土地利用信息集:屬性離散化后26個;降維后5個;
(2)地籍信息集:屬性離散化后65個;降維后10個;
(3)地質類型信息集:屬性離散化后15個;降維后6個;
(4)氣象信息集:屬性離散化后22個;降維后12個;
(5)地表災害信息集:屬性離散化后14個;降維后8個;
(6)農業信息集:屬性離散化后17個;降維后7個;
(7)植被覆蓋信息集:屬性離散化后42個;降維后13個。
利用圖2流程,選擇不同地理信息樣本集的聚類中心。以土地利用信息集為例,其聚類中心分布情況(如圖3所示):

圖3 土地利用信息集的聚類中心分布情況
其他樣本集分布在這里不詳細給出。
分類管理模塊功能評測指標有兩個,即漢明損失值和F1分數。下面針對這兩個指標進行分析。
(1)漢明損失:代表地理信息樣本誤分類情況。

(2)F1分數:用于分類結果的綜合性能,即精準率與召回率的調和平均。計算公式如下:

式(11)中,F1為調和平均值;P為精準率;R為召回率。
根據上述漢明損失和F1分數兩個指標對所研究的分類管理模塊進行檢測。其中,前者值越小,表示分類整理質量越高;后者分數值越大,表示分類整理質量越高。
相同測試條件下,利用神經網絡算法、隨機森林算法以及支持向量機算法進行分類整理,并與聚類算法的分類管理結果進行對比,具體結果(如表1所示):

表1 分類管理模塊功能評測結果
由表1可知:與其他3種分類整理算法相比,聚類算法應用下,漢明損失最小,F1值最高,說明聚類算法的分類管理能力更強,達到了研究的目的。
綜上所述,地理信息系統設計中,功能模塊的設計至關重要,關系到系統業務邏輯的運行。地理信息十分龐雜,以往地理信息系統分類管理模塊并不適用于地理信息的處理。為此,進行基于數據聚類算法的地理信息系統多模塊化設計研究。最后對設計的模塊進行應用效果驗證,其分類整理功能滿足了設計需求,達到了研究目標。然而,本研究提供的地理信息樣本集較少,而現實情況中的地理信息類型更多、數量更龐大,因此有必要擴大測試規模,進行進一步驗證和測試。