李石華,汪祎勤,周峻松,金寶軒
(1. 云南省基礎地理信息中心,云南 昆明 650034; 2. 云南省自然資源廳信息中心,云南 昆明 650224)
地理時空變化是地理學研究的重要內容之一,如何用計算機技術來表達空間數據的時空變化獨具前瞻性。LULC時空變化過程表達常采用時間系列的遙感數據來表達其位置和形狀的變化[1],如林地、耕地、城市擴張范圍的變化[2-4];并融合統計學方法分析其變化量與趨勢,從而揭示其變化過程[5-7]。然而,由于在利用柵格數據分析地表覆蓋變化時,完整的圖斑將被分割成柵格尺寸大小的像素,難以真正反映圖斑斑塊的變化過程與模式,再加之其不同的時空動態組合,導致LULC變化的時空復雜性。為此,需要考慮構建面向地理矢量圖斑的時空過程表達抽象模型,以反映地表覆蓋圖斑的時空動態變化,克服柵格模型在圖斑時空表達方面的缺陷。
當前對于LULC時空變化過程表達方法研究較多,如信息圖譜分析、趨勢面分析,并取得了相應的成果?;谑录臅r空數據變化表達模型由文獻[8]首次提出。文獻[9]利用該模型有效記錄土地劃撥或宗地變更事件。文獻[2]在該模型基礎上分析了江寧區的土地利用變化。文獻[10]基于該模型定義了6種面狀地理實體變化類型和判斷方法。隨后,文獻[11]為滿足地籍變更表達應用的需求,對事件-過程模型進行改進。文獻[12]利用抽象的過程對象隱式表達地理實體動態變化機制,解決了移動對象的連續表達問題。文獻[13]通過提取柵格斑塊中心點與圖論相關聯構建斑塊的時空事件序列。文獻[14]通過柵格矢量雙重表達降雨時空分布現象。在參考和借鑒前人研究的基礎上,為反映圖斑斑塊的時空動態變化過程,定量分析其變化的數量特征,結合文獻[12]提出的面向過程的時空數據模型,從地表覆蓋斑塊自身變化和相互轉化方面摸索面狀地理實體間時空變化過程表達方法。
將地表覆蓋斑塊作為研究的最小空間單元,其屬性異于相鄰圖斑且內部具有均質性,其變化過程表現為斑塊在時間上的斑塊格局演變。從當前的研究現狀來看,文獻[10]提出了一種基于事件的時空變化過程表達模型,并系統總結了面狀地理實體的6種變化類型和判斷方法,有效解決了面狀地理對象自身變化表達的問題;文獻[15]將LULC變化時空演變過程抽象為出現、消亡、收縮、擴張、穿孔、破碎、穩定7類,并闡述了其判定方法。在借鑒前人研究的基礎上,開展基于地表覆蓋斑塊時空演變分析時,可將地表覆蓋斑塊的時空演變過程理解為地表覆蓋分類斑塊間的相互增減的轉變過程,如圖1所示,其變化過程類型綜合為新增、變化、消亡。
依據上述理解的地表覆蓋圖斑的時空演變過程,基于地表覆蓋圖斑的時空變化分析需要解決的問題為初始時刻T0圖斑類型A,經過變化發展轉為T時刻的圖斑A、B、C、…。通過構造時空變化算法,利用計算機自動識別分析初始時刻T0的圖斑類型與T時刻的圖斑變化類型和面積等。因此,其變化過程可以抽象為
L(Rand(T),Cx)=Intersect(iL(Rand(T),C1),(i+1)L(Rand(T),C2),(i+2)L(Rand(T),
C3),…,(i+n)L(Rand(T),Cn))
(1)
式中,L為圖斑;i為年份;Rand(T)為第i年圖斑L的隨機地表覆蓋類型,可以為10種地表覆蓋類型的任意一種或多種;C1、C2、…、Cn為該圖斑L在第i年的圖斑編碼,是唯一值。通過相交運算(Intersect)生成一個或多個不同地表覆蓋類型的數據結果集,再通過篩選圖斑編碼Cx與之前C1、C2、…、Cn的相等關系得出變化結果。
時空數據模型支持二維面狀矢量數據,將地表覆蓋的每個地類斑塊作為一個地類實體。地類實體的時空演變過程由地理實體、屬性實體、事件實體和時間實體來記錄。
地類實體的時間記錄在實體每個版本對象對應的時間屬性上。模型支持有效時間(valid time),將地理實體第一次被采集到的時間設為產生時間,最后一次被采集到的時間為消亡時間。模型支持時間拓撲查詢。
模型支持對指定監測實體拓撲關系、形狀、位置隨時間變化的存儲與查詢,支持地類實體非空間屬性信息隨時間變化的存儲與查詢。
依據上述構建的抽象模型,結合二維面狀矢量數據時空過程表達,地表覆蓋圖斑的時空數據模型UML(unified modeling language)邏輯結構如圖2所示。
在地表覆蓋圖斑的時空數據模型UML結構設計中,地類圖斑實體記錄了每個實體的幾何信息,標識了地表覆蓋要素中的一個具體圖斑,每個圖斑具有唯一的圖斑標識碼,其屬性信息通過唯一標識碼與屬性實體進行關聯。地表覆蓋類別存儲了地表覆蓋類別信息,在不同的分類體系中,其類別信息不同。地類圖斑實體通過類別唯一標識與地表覆蓋類別進行關聯。時間實體是一個連續的時間變量,存儲了地類圖斑實體新建、變化、消亡的時間信息。
根據上述邏輯結構,對地類圖斑的時空數據庫主要物理結構設計如圖3所示。
圖3中,“LULC_XZ”為多個年份地表覆蓋的現狀表,記錄了各年份地表覆蓋的現狀情況,包括編碼、地類、名稱、年份等信息,其地類屬性信息與地類表“DL_TAB”關聯。地表覆蓋現狀經過地類變化表“LULC_CHANGE”關聯,形成了最終的地表覆蓋變化表“LULC”,地類變化表“LULC變化_CHANGE”記錄了幾何、屬性變化規則。
采用撫仙湖流域1974、1977、1987、1990、1996、2000、2005、2008、2011、2014、2015、2017年的LULC作為試驗數據。數據來源于云南省基礎地理信息中心承擔的撫仙湖流域生態環境動態監測項目成果。LULC類型分為水域、荒漠與裸露地表、人工堆掘地、耕地、園地、林地、構筑物、草地、道路、房屋建筑(區)等10個類型。數據格式為SHP,坐標系統為CGCS2000,高斯-克里格投影,3°分帶。中央經線為102。
(1) 存儲方式設計:LULC變化空間數據庫采用Oracle+Arcsde空間數據引擎,實現數據的一體化存儲管理。
(2) 時空數據庫存儲:LULC變化時空過程數據庫存儲過程中使用統一的文件命名方式和存儲格式,詳細見表1、表2。

表1 LULC現狀表結構

表2 LULC變化表結構
為判定LULC時空過程變化類型,需要對圖斑的變化類型進行判定。采用對多期數據進行變化檢測,并對變化檢測后數據按新增、變化、消亡的判別規則進行篩選,將篩選后的數據重新編碼,標識其變化過程類型并入庫保存。其判定流程如圖4所示。
LULC時空過程分析旨在揭示LULC隨時空的變化而其屬性隨之發生變化的規律?;跇嬙斓臅r空變化算法(式(1)),LULC時空過程分析的步驟主要包括以下幾步:
(1) 對多時期的LULC矢量數據進行拓撲結構檢查,保證LULC在空間結構上的拓撲正確性,即確保空間要素不能重疊、不能有空隙及不能與其他要素重疊等。
(2) 對各時期的LULC數據進行編碼,賦予每一個圖斑唯一編碼;對字段進行標準化處理后,對每個圖斑賦唯一編碼DKID,用地類型編碼LUCODE,用地類型名稱LUTYPE,年份YEAR。
(3) 通過編寫相交分析代碼(代碼如下所示)對各時期的圖斑數據進行相交分析,得出相交之后的圖斑數據,根據相交分析規則,相交分析之后的數據保留了分析之前的唯一圖斑編碼屬性值。
function intersectionAnalysis(featureSet:FeatureSet):void
{
var params:Object={"XB":featureSet};//
gp.execute(params,new AsyncResponder(onResult,onFault));
…
function onResult(gpResult:ExecuteResult,token:Object=null):void{
var pv:ParameterValue=gpResult.results[0];}
function onFault(info:Object, token:Object=null):void{
Alert.show(info.toString());}
(4) 對相交之后的帶有唯一圖斑編碼的圖斑數據進行篩選組合,得到不同時期的變化圖斑,形成變化分析結果數據集。
(5) 對變化分析結果數據集進行關聯分析,按照唯一標識圖斑編碼找出與分析之前有關聯的圖斑數據,得出分析結果,如圖5所示。
(6) 從LULC變化時空過程及可視化的表達目的與要求來看,需要準確、直觀地反映LULC變化的對象、位置、范圍、時間和演化的過程,既要描述對象的現狀,還需表達對象的時空對比與變化分析。因此,需要建立流域地表覆蓋時空過程可視化系統,并集成時間軸動畫、多時態對比、實體歷史回溯這3種表達方法全面揭示地表覆蓋圖斑時空演變過程,如圖6所示。
本文討論了基于地類圖斑的時空演變過程類型與判定方法,提出了LULC變化時空分析算法,并設計了時空數據模型UML結構和物理結構,構建了時空數據庫,實現了基于地類圖斑的時空演變過程表達,以時間軸動畫、多視窗和實體回溯這3種方法展示地類圖斑的演變過程,以圖表的形式反映圖斑的數量變化。試驗結果表明,所構建的方法可滿足LULC時空變化過程表達與分析應用的要求??捎糜诘乇砀采w等地理要素的時空變化過程分析,能較好地揭示地理要素及其屬性在時間軸上的改變過程,包括要素隨時間的幾何變化、位置變化、屬性變化。若與氣候、生態、社會經濟等關聯分析后,可為LULC的時空演變規律、時空數據挖掘等奠定基礎,同時,對于地理學中面狀空間對象的時空演變過程研究也具有參考價值。
試驗中發現,LULC時空過程類型判定耗時較多。如何解決省級、國家級或全球尺度、多時相海量的LULC時空過程演變分析實時運算的效率問題,則需構建一個網絡化分布式處理的超算環境,以實現對其并行處理。后續將繼續圍繞在超算環境中開展LULC不同時空尺度變化過程判定的多節點并行分塊算法等方面的研究。