InVEST模型生境質量模型數據處理流程


前言

在19年的4月份,我要寫一篇論文,涉及生境質量的,用到了InVEST中的生境質量模型(Habitat Quality),模型要求的數據比較多,需要用ARCGIS進行數據處理,數據處理不難,就是屬性表統計計算,柵格計算,裁剪等過程,但是略繁瑣,本文的目的就是捋清思路,整理出清晰的數據處理流程,對有需要的人提供一點幫助。

InVEST生境質量模型(Habitat Quality)原理就不做介紹了,因為太復雜了,我也不是很懂,生境質量模型(Habitat Quality)只是InVEST其中的一個模型,InVEST還包含了很多其它的模型。軟件下載直接搜InVEST就可以,網上也有安裝教程,把用戶手冊也要下下來,方便查閱。本文需要與InVEST用戶手冊中的生境質量模型(Habitat Quality)的說明一起看。

流程

直接看生境質量模型(Habitat Quality)的數據需求,該模型數據有的是可選的,有的是必須的,這里只講必須的:

1.土地利用數據(LULC/LUCC)

獲取途徑很多,可以買;可以在網上下載免費的,提供一個免費網址:http://data.ess.tsinghua.edu.cn/?tdsourcetag=s_pcqq_aiomsg

這個數據是世界首套10m空間分辨率的全球土地覆蓋產品(FROM-GLC10);還可以用專業的遙感處理軟件進行分類或者目視解譯。

2.威脅因子數據

是一個表格數據,要csv格式,名字就命名為threats.csv,具體的要求可以參考模型的用戶手冊,有幾個注意點:①表格要符合用戶手冊里的要求。下圖1是用戶手冊里模板,圖2是參考的文獻里的,對應上即可;②第一列中的各種威脅因子名字可以自己定義(類名用英文),不需要跟模板中的名字一樣;③表頭名一定要跟模板一致。模型里都有示例數據,也可以作為參考。至於最大影響距離和權重,可以多參考一些文獻、專家咨詢等,根據實際情況決定。參考一下圖3中我做論文時完整威脅因子數據表格。

圖1

圖2

圖3

3.威脅源數據

先講下如何獲取,其實還是從LUCC/LULC里獲取,舉個例子:如上圖2,耕地是威脅因子,首先把LUCC/LULC數據柵格轉矢量(因為轉為矢量后對屬性表操作較為容易),再將矢量數據屬性表中的所有耕地賦值為1,其他的賦值為0,隨后將矢量數據轉回為柵格數據,耕地威脅源數據就完成了,其他的威脅源數據以此類推。下面是具體的操作流程。所用的數據就是上面提到的10m空間分辨率的全球土地覆蓋數據,下載的全國的(圖4),下載和拼接的工作量都很大。裁剪一小塊作為示例數據(圖4)。這里有個注意的點,很重要,用戶手冊里也提到了:“請不要在威脅地圖上留下任何為‘NoData’的空值,如果某個區域沒有威脅,則設置威脅等級為0”。這句話的意思是說,所有Nodata區域值都得為0。這里講一下,在arcgis軟件中每個柵格數據都默認有一個最小外接矩形,在外接矩形中柵格數據之外的空白部分,值都為nodata,如圖5中,選擇一塊區域查看信息,值為nodata,這些空白區域的值要賦值為0,這個一定要注意!

 

圖4

 

圖5

3.1.nodata處理

威脅源數據提取之前,先把nodata的問題搞定:依次找到arctoolbox->spatial  analyst工具->地圖代數->柵格計算器,輸入計算公式:“Con(IsNull("示例.tif"),0,"示例.tif")”,不要直接復制或者自己用鍵盤打出公式,要在函數列表中選擇相應的函數,con函數就是第一個,isnull函數把列表拉到底,即可找到,如圖6所示。運行等待結果。

 

圖6

結果如圖7所示,nodata值都變成了0。

圖7

3.2威脅源因子數據的提取

下面開始進行威脅源因子數據的提取(以耕地為例,按照分類體系,耕地的value值為1):

3.2.1柵格轉矢量

依次找到arctoolbox->轉換工具->由柵格轉出->柵格轉面,輸入數據lucc/lulc數據,字段默認value字段,輸出結果保存路徑,簡化面取消勾選,運行后等待結果。結果如圖8,gridcode字段就是由value字段轉化而來。

 

圖8

3.2.2創建value

右鍵打開屬性表添加字段,操作如圖,名稱一定要命名為“value”,類型選擇短整型即可,添加完畢,此時的value值為空。

 

圖9

3.2.3對value賦值

在屬性表中選擇按屬性選擇,在輸入區輸入“gridcode=1”,點應用,相應要素被選中並高亮顯示,鼠標移至value字段表頭,右鍵,左擊字段計算器,按照如圖10選擇並輸入,點擊確定。

 

圖10

上面是對gridcode=1的要素進行賦值,gridcode≠1的要素要賦值為0。在屬性表中直接點擊切換選擇,就反選出了value剩余為空值的要素,重復字段計算器操作,輸入0,點確定,剩余的空值都被賦值為0,如圖11,到此賦值完成。

 

圖11

3.2.4矢量轉柵格

依次找到arctoolbox->轉換工具->轉為柵格->面轉柵格,輸入矢量數據,值字段選擇value,輸出柵格位置,最后一項像元大小,選擇跟原始數據一樣的像元大小,這里一個注意點:輸出柵格數據一定要按照“xxx_c.tif”的格式命名,我這威脅源是耕地,所以命名成“gengdi_c.tif”。命名要求用戶手冊中有。 

 

圖12

輸出結果,如圖13,0為其他地類,1為耕地,至此,耕地威脅源因子柵格數據提取完成。其他危險源數據按照上述方法重復操作即可。

 

圖13

4.退化源的可達性

用戶手冊中有一個數據提一下,退化源的可達性,這個數據是可選數據,但是如果有這個數據的加入,最終運行的結果准確性會大大增加,按照用戶手冊的翻譯的內容來理解,就是將研究區域內的各種法定的禁止開發區矢量數據做並集,然后在屬性表中添加access字段,並對access賦值,這個值范圍0-1,根據不同級別的禁止開發區綜合賦值,並集之內的區域access就是我們所賦的值,並集之外的區域access值默認為1,禁止開發區包括:保護區、森林公園、濕地等等,這些數據通常涉密,如果有條件拿到更好,沒有條件的這個選項就空着吧。

5.生境類型及生境類型對威脅的敏感性

也是一個csv格式的表格數據,名字命名為sensitivity.csv,跟上面的威脅因子數據一樣,直接拿示例數據(圖14)和某參考文獻中的數據(圖15左)對比一下就明白了。示例數據只有一級地類,參考文獻中是二級地類,這個沒什么影響,你自己手中的數據是幾級地類就按照幾級地類分。

簡單說明一下示例數據中每一列需要填的內容,LULC填的是各地類編碼,如果你的土地覆被數據有二級地類則填二級地類代碼,比如耕地是一級地類,編碼1,其二級地類又分旱地11和水田12,那么LULC這一列11和12都要填進去,NAME這一列就填入相應的編碼所代表的地類名稱,HABITAT這一列填各地物生境適宜度,這個數值綜合各個文獻確定即可,范圍是0-1;前三個表頭名:LULC、NAME、HABITAT,按照示例數據來,名字必須一模一樣,后面的表頭名是L_+各威脅源因子地類名,地類可以根據你手里的土地覆被數據里來命名,即L_xxx,比如:我這份土地覆被數據耕地是Cropland(圖15右),則在表頭里命名成L_Cropland,有幾個威脅源就一次新建列命名幾個,格式注意即可,至於列中需要填的數值,根據其他文獻綜合來確定。有一個需要注意的地方:你手里的土地覆被數據有多少個地類,都要寫到表里去,不能因為適宜度都是0而不寫,表格一定要做完整,否則在后面運行模型的時候會報錯。比如你手里的土地覆被數據地類編碼是1,2,3,4,5,6,7;而7代表的地類對應的所有生境適宜度都是0,那么0就是0,按照格式全都寫到表里,如果因為是0而不寫了只寫了1,2,3,4,5,6,則運行模型的時候會報錯,最終導致模型運行失敗;參照圖16中我運行模型時所做的完整表格(這是另外一套土地覆被數據,有二級地類)。

 

圖14

 

圖15

 

圖16

6.半包和參數k值

就按照用戶手冊里定0.5好了。

其他說明

最后說一下各個數據之間的對應關系,①.threats.csv中的THREAT列與威脅源數據名字(xxx_c.tif)以及sensitivity.csv中的L_XXX對應,如圖17所示,都是我做論文時處理的數據,感受一下。

 

 

 

 

圖17

②. sensitivity.csv中的LULC列與你手中的土地覆被數據中的地物編碼要對應,順序可以不對應,種類總量完全對應即可。

上述數據流程都處理完了就把各個數據輸入然后等着結果出來就好了,結果會輸出到output文件夾,quality_c_xx.tif就是生境質量結果,這里再說一句,因為之前做了nodata處理,最小外界矩形中除了正常的研究區范圍其他范圍值都是0,會對結果產生干擾,再拿研究區矢量數據裁剪一下即可。

其他的數據注意事項多看看用戶手冊即可,比如威脅源數據輸入的是文件夾,因為威脅源數據可能不止一個,按照用戶手冊說明建立好文件目錄就好,沒什么坑了。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM