Fragstats3.4 景观指数计算以及导出至ArcGis详细步骤

1、环境变量设置(设置了以后打开Fragstats后标题栏才会显示enabled,否则显示disabled):

①打开ArcGis10.0的Bin文件夹,将整个目录路径复制下来;
②打开我的电脑→属性→高级→环境变量,在系统变量里新建一个系统变量,变量名为:path 将刚刚复制的路径粘贴到变量值的文本框里,ok;


2、运行Fragstats3.4
注意:Fragstats3.4的exe和你要计算景观指数的图像数据最好放在一个文件夹里,文件夹名不要有中文尽量简单。然后文件所放在的路径不能太深,所以最好整个文件夹放在根目录下.
①打开Fragstats3.4
②设置run parameters时注意的问题:
首先是grid数据的问题,我做的时候数据拿到的是img格式,在arcgis中export data为grid数据,在导出的那个对话框里,在下面把format选为grid,compression type改为RLE, save.


grid name那里输入你的grid数据,设置好output file,勾选Automatically save results,这样到时候它才会直接生成一个指数的结果文件,不然你就要自己再存一遍。


input type选landscape,如果你要批量计算好多图像的指标的话选batch file
class properties file中导入你的图像地类(景观类型)的分类txt文件,格式为:
1,agriculture,true,false
2,water,true,false
3,urban,true,false
4,other,false,true


如果你想要将计算得到的patch级别的指数通过arcgis里展示出来,那么在unique patch ID's那里你就选create and output ID image,勾选这个后,最后除了四个指数文件之外,还会生成一个栅格数据,名字是~id8或~id4,


这个图的像元值为该像元所在的斑块的斑块序号,这个斑块序号与你的.patch那个文件里的序号是一样的,所以到时候在arcgis中就能join这个栅格图和.patch表.


output stastistics那里勾选你想要计算的指数级别,一般都选上.


③分别选择你想算的patch class land三个级别的指数,先搞清楚你要算那些指数再选.免得不仅要算很久 到时候看的时候也难选.


④设置完参数后,进入主页面,选择execute图标,进行指数计算
如果出现cannot load file之类的问题的话,就是你之前的输入的grid数据的问题,再仔细检查一下,可能还会出现的错误有 你的cell size是否有问题等、、、
cannot load class properties file 是因为你之前没有在“class properties file”那里进行设置,这个不影响什么,只要你知道哪类是什么就行。


⑤在tool→Browse result中查看生成的指数,或者直接打开生成的result文件就行.


3、导入ArcGis中
①生成四个指数文件:
.adj .patch .class .land
分别是各类型的统计矩阵文件、patch级别的指数文件、class的、land的


②打开excel,打开刚才的.patch,弹出“文本导入向导设置框”,选“分隔符号”,下一步,只选上“逗号”,下一步,完成。
你会看到许多单元格里面文字之前有很多空格,将里面的多于的空格去掉,另存为.xls文件.


③打开arcgis,在一个地理数据库(.mdb)里导入table(single),导入刚刚那个.xls
把刚刚导入进数据库的那个表和跟指数文件一起生成的栅格图像id8拉近arcmap中
右键点击栅格图层,选join
用栅格图层的value值和表格的objectID join起来,ok.
打开栅格图层的属性表,你会看到patch的指数全都对应每个斑块在里面了

这时候你就能在栅格图层的layer properties的smbology选项卡里设置你喜欢的显示方式来表现你的patch指数了

当然对机器学习,人工智能感兴趣的同学可以关注一下这个微博:大数据与人工智能CCNU
这个博主经常发一些人工智能方面的时事动态

猜你喜欢

转载自blog.csdn.net/ccnucb/article/details/79080965
3.4