標籤:
Fragstats中,有一個用於熟悉Fragstats軟體的demon,在tutorial中的1種,有reg78b.asc檔案,其檔案內容是包含了山歌映像的行數和列數以及解析度大小等基本資料。
採用R軟體可以讀入該檔案以及顯示該檔案。
在檔案選項中選擇:改變工作目錄 選項,制定到需要操作的檔案夾作為工作目錄。
在檔案中選擇建立語言指令檔,輸入如下代碼:
m<-as.matrix(read.table(‘reg78b.asc‘))
//將檔案reg78b.asc作為矩陣讀入到對象m中去。
uv<-sort(unique(as.vector(m)))
//為土地覆蓋的每一個分類分配顏色,識別出每一個單一的類值。
my.breaks<- (c(min(uv)-2, uv) + c(uv, max(uv)+2 ))/2
//為每個類分配的顏色建立色差(色差是最小值-1,中點和最大值+1)。注意,這是有必要的因為繪圖函數image的設計師針對於連續變化的土地覆蓋映像,而不是針對於分類的土地覆蓋映像。
my.colors<-c(‘gray‘,‘lightskyblue‘,‘lightgreen‘,‘lightpink‘,‘lightyellow‘,‘yellow‘, ‘purple‘,‘slateblue‘,‘green‘,‘skyblue‘,‘black‘)
//為繪圖層建立顏色標籤。
if(length(my.colors) != length(uv)) stop("You need a color for every unique value") //檢查並確認每一個顏色對於相應的類值是唯一的。 data.frame(code=uv, color=my.colors)
//在控制台上輸出每一個顏色對應的分類值。
image(t(m)[,nrow(m):1],asp=1,breaks=my.breaks,col=my.colors)
//採用映像庫中的繪圖函數image()函數來繪圖。注意,因為image()函數對映像做了一個逆時針的90度旋轉,所以需要對這個矩陣進行轉換。這是必須的。
運行以上代碼,得到如下效果。
Fragstats:使用R軟體讀取frag78b.asc檔案