劉夢牽 曾微波 張貝爾 孫京祿
摘 要:自主體功能區戰略實施以來,指標計算體系總是顯得過于龐大。為了更準確、合理、快速的對主體功能區評價指標進行分析計算,本文針對功能區評價指標體系的特點,提出將所有指標分類后從數據源獲取、配置計算方法、計算過程流程化等方面進行規范化計算的方法。該方法在運算思維的條理性、計算的簡便性、后期修改的靈活性方面有大幅提升。這種基于GIS的主體功能區評價指標計算方法可以極大的簡化系統程序,同時對于加強程序的獨立性以及計算功能的簡便靈活方面具有較強的意義和較高的應用價值。
關鍵詞:GIS;主體功能區;指標計算
中圖分類號:TU982 文獻標識碼:A 文章編號:1671-2064(2018)22-0036-02
1 數據來源與處理
1.1 數據內容
要實現主體功能區域從劃分、規劃到監測、調控的實施,需要相對完備的、連續的、精度相對較高的數據系統支撐。其中,數據類型包含多種,如:矢量數據、影像數據、統計數據、文本數據與成果數據。
(1)矢量數據:主要為境界數據、土地利用數據、交通數據等基礎地理數據、氣象數據、大氣與水環境數據以及森林空間分布數據等資源環境矢量數據。氣象數據選取的是安徽省各氣象站點數據,包括日數據、月平均和年平均數據,數據逐月更新,通過空間插值方法可獲取到用于土壤侵蝕、水資源量等指標計算的數據。土壤圖為基礎底圖,數據來源自安徽省農委的土壤二次普查數據,或分縣土種志,需要人工數字化。森林數據包括森林統計和森林分布,其中森林統計數據包括分縣的面積、覆蓋率、蓄積量等,以上數據均來源自安徽省森林普查。
(2)影像數據:包括低分、中分、高分三種,用于土地利用、自然地理等數據的修正與更新、災害與突發情況應急監測與監督、高分辨率制圖等。
(3)統計數據:主要包括人口、經濟、產業等經濟社會數據以及土地資源調查數據、基本農田數據、森林統計數據等資源環境統計數據。基于精度要求,統計數據要落實到縣域行政單元。故數據為分縣數據,年度更新。其中經濟社會數據來源為統計年鑒。土地資源調查數據、基本農田數據為統計數據,統計每年分縣各類土地利用面積和基本農田面積,數據來源為國土局年度統計數據(現有合肥市部分數據),未來考慮補充永久基本農田分布圖,作為基本農田紅線用于決策支持。
(4)文本數據:主要包括規劃文本、專題研究報告、主體功能區政策文本等。
(5)成果數據:主要包括分縣監測數據、分縣單項評價數據、分縣綜合評價數據、預警結果數據以及自定義的其他成果數據。
1.2 數據處理
對于統計數據的處理,僅需按照數據種類設計出數據表的不同結構,基本結構包括年份,行政區代碼,行政區名稱以及對應指標的數據,再將統計數據錄入對應數據庫,以實現提取數據時可以準確定位到每張表每個行政區的每一年。
對于矢量和影像數據的處理,利用GIS軟件中的配準工具,對行政區劃、地形地貌、土地利用等空間地圖數據進行有效配準,根據統一的空間參考、投影方式和橢球體整合數據,按照數據的層次存入FileGeodatabase。空間數據中的柵格數據根據后續的評價方法要求,使用柵格化、重采樣、重分類、領域分析等工具,將不同的柵格數據進行轉換、分類、統計處理。
最后將該地理數據庫和統計數據的數據庫進行關聯形成整個系統的最終數據庫。
2 指標計算
通過將計算方法與指標相分離,從而加強系統的靈活性。屆時需要綜合考慮不同指標計算涉及的數據源、計算公式及指標之間的相互依賴關系,因此,通過配置文件進行指標計算數據源和計算公式的靈活配置,再利用C#的動態編譯技術,創建配置文件,在該文件里配置指標計算所需相關內容,如該指標的名稱、數值單位、計算公式等。
2.1 數據源配置與直接獲取數據
針對只需提取結果數據的簡單指標,若該項數據已錄入Access數據庫,只要在配置文件里配置好取出數據的SQL索引語句,運行代碼即可自行提取數據并將結果輸出顯示在系統內。
因此類簡單指標用SQL語句將數值提取出來即可,無需計算,且提取數據的SQL語句框架大致相同,所以在配置文件里,就可以在這些指標后配置相同框架的SQL語句如:"SELECT {0} FROM {1} WHERE NF='{2}' AND XZQDM='{3}'",只要在該指標下同時配置出數據所存在的表名、字段名,就可從表里選取某年某個行政區該指標的值。此類指標的配置情況如下:
其中aliasname是指標的中文名,formula為計算公式,因該指標是直接提取所以沒有計算公式,function即為SQL語句,item name為存有此值的數據表的表名,field name為數據表里該指標的字段名。而在代碼里對應的邏輯過程就是:讀取配置文件,遍歷尋找到指定指標的節點,到function節點時,如果function里包含“SELECT”,必含有SQL語句,就可繼續向下讀取子節點里的數值。
根據表名,繼續獲取字段名,然后根據SQL語句將獲取的字段名,表名,年份,行政區代碼對應放進框架的{0}、{1}、{2}、{3}中,一條完整的SQL語句編寫完成,而此時,結果值就可從數據庫里取出并利用系統的輸出功能得以顯示。
2.2 利用公式的計算方法配置
(1)公式動態編譯。大多指標計算后得出的值可以作為最終結果直接存入結果數據庫的數據表,而有些指標計算后只是得出數值并不能作為最終結果,需要根據文件中描述的規則分出值域得出最終結果,例如水源涵養功能指數的要求是將值分為小于1,大于1小于12.5,大于12.5的三個值域,分別對應水源涵養功能指數高、中、低三個層級,針對不同指標的計算公式不同,得出結果的要求也不盡相同,此時為了避免將混亂的公式計算過程放入系統主代碼影響邏輯,就可以利用C#動態編譯的方法,創建一個只用于存放計算公式函數的對象,將每一個指標的相關計算函數寫入,賦上不同的函數名以便調用。在系統運行時,選中不同的指標,就可以調用不同的函數,代入參數運行公式計算。
(2)配置方法。對于需要配置計算公式的指標,分兩種情況:一種是從某個數據表中獲取計算所需各項參數然后代入公式計算,另外一種是某個指標的計算依賴于另外一個指標的計算結果,即獲取另一個指標的計算結果作為此指標計算公式中的參數。
此類指標的計算都有固定的計算公式,因此編寫該類指標的配置文件時,就需要配置出公式,同時不再需要SQL語句,而是通過不同的函數名找到對應的函數執行公式進行計算。
以指標“土地資源利用效率”為例,Le代表該指標,GDP和L為計算所需參數,而function后的GetEfficiency就是執行計算公式時的函數名,在系統里通過這個函數名可以查找到函數的具體內容。
基于以上配置方法,若所有參數都是數據庫直接獲取的,就可在編歷配置文件時獲取存有參數的數據表名和參數的字段名,放入框架SQL語句,拼好的SQL語句可直接提取出參數值放入內部存儲空間,即可根據函數名找到對應函數傳入參數進行計算。若計算參數是依賴于另一個指標的計算結果,那么在配置文件里并無差異,但因所有計算結果的值都統一存入結果數據庫的表里,所以存有該類參數的表,表名一致。在代碼里僅需判斷遍歷到的表名是否為此表名:如果是,就說明計算參數為某個指標的結果值。此時的SQL語句框架即為"SELECT JSJG FROM B_SJ_ZBJSJG WHERE ZBMC='{0}' AND NF='{1}' AND XZQDM='{2}'",將參數名,年份,行政區代碼對應放入即可獲取該類指標的參數。
2.3 基于ArcGISModelbuilder的流程化計算
隨著GIS技術的改進, 空間分析由原來的圖形與屬性分離逐步轉變為空間數據與屬性數據的一體化。而在評價指標中,有一類指標的計算過程非常復雜,只靠查找統計年鑒等相關資料無法獲取,它的計算正是需要通過對矢量和影像數據的屬性及圖形進行空間操作,才能得出較為準確的指標值。例如土地資源壓力指數、土地建設開發適宜性等指標,就需要先將多種矢量數據柵格化重分類之后再通過柵格計算器將這些數據集成得到強限制因子和較強限制因子。將兩個因子相乘得到土地開發適宜性評價。
如下為利用ArcGIS modelbuilder工具對強限制因子進行建模的過程:
通過對基本農田、濕地、生態保護紅線和水工建筑的矢量數據進行柵格化處理,將得到的柵格數據進行重分類。其中,濕地_重分類與生態保護紅線_重分類結果帶入柵格計算器后篩選出生態保護紅線_柵格計算結果;最終將基本農田_重分類數據與濕地_重分類數據與生態保護紅線_柵格計算結果帶入柵格計算器后得出強限制因子。
將以上建模過程運行得出處理結果并檢查無誤后,即可按此模型過程在代碼中調用GP工具編寫程序,點擊每一步的功能按鈕即可將復雜的操作在后臺執行完成,最后順利得出指標值。
3 結語
本文以主體功能區評價指標計算方法為主題進行研究,提出將龐大指標體系中的所有指標進行分類從而簡化計算過程和計算難度。將所有需要統計數據的指標均配置在一個配置文件中,利用C#動態編譯法將相關函數存入新建對象,從而可以在需要修改時進行具有針對性的細微調整。對于復雜的流程化操作指標,也可利用輔助工具進行建模,最后與代碼關聯一次性完成操作和計算,大大加快了計算速度的同時也使邏輯更加清晰。
因目前利用統計數據簡單計算的指標較多,而流程化計算的指標極少,所以在對矢量數據進行操作時步驟會比較復雜,且會出現前一步操作失誤導致后續結果不準確的情況,因各地矢量數據不完整,沒能進行多次實驗來加強操作準確性,日后將深入探討搜尋數據以完善程序的完整性。
參考文獻
[1]楊瑞霞,張莉,閆麗潔,等.省級主體功能區規劃支持系統研究地域研究與開發[J].地域研究與開發,2009,28(1):22-26.
[2]李雯燕,米文寶.地域主體功能區規劃研究綜述與分析[J].經濟地理,2008,28(3):357-361.
[3]王傳勝,朱珊珊,樊杰,劉慧.主體功能區規劃監管與評估的指標及其數據需求[J].地理科學進展,2012,31(12):1678-1684.