景观指数分析 - 初识FragStats4.2
引 言
FragStats景观格局分析软件 ,简单扼要地说就是景观指数的集成分析环境,不用自己编写相关的算法和读/取文件的开发。根据了解,FragStats(Fragment Statistic)官方定义为“FRAGSTATS is a computer software program designed to compute a wide variety of landscape metrics for categorical map patterns.(FRAGSTATS是一款为揭示分类图的分布格局而设计的、计算多种景观指数的桌面软件程序)”,目前高达100余中指数的计算,包括近几年发表的景观指数(发表景观指数算法的论文是很吃香的);其中,发展日程于4.3研发的像元指标、于4.4拥有景观梯度计算,目前最新版本是4.2,空间分析模块最高兼容Arcmap 10.1,其中高版本的兼容方案有二:①安装Arcinfo Workstation 10.0 ②安装ArcView 3.3 ,检查空间分析模块许可的有效方法是利用Diagnostic tool for ArcGIS users 工具(解压后双击运行即可)

当然,如果不使用ESRI GRID格式和ArcMap的空间分析功能,则没必要担心兼容问题,也可以将现有的GRID格式文件转换为GeoTIFF或者ASCII文本(*.img格式也是很受欢迎的)。并且,支持的栅格数据兼容至32ubit的位深。
本文规定:
①FragStats软件仅支持栅格数据,主要引用GDAL、ESRI等流行格式
②FragStats分析环境中所有目录位置均不可以有空格/非法字符
③参考官方教程文档 的基础上编辑总结的,转载无需注明出处
1. 软件配置及文件说明
首先,上官方网站下载fragstats4.2.1 压缩包文件,右击frg_setup_4.2.exe以管理员身份运行,安装完成后打开应用程序;接着点击“New”菜单新建一个工程(允许多建多窗口共存),如果你装有ArcMap10.1或者上述方案的软件时,会发现启动fragstats会比较缓慢,因为fragstats是自动绑定空间分析模块的,启动时也是自动加载的;


适合fragstats分析的图层内容说明:除了GDAL和ESRI主流格式的文件外,重点说明ASCII/二进制文件格式、类型说明文件和边缘深度文件。
①ASCII/二进制文件内容不能包括头文件信息,如像元大小、栅格行列数、波段数等图层信息,是纯像元值的二维行列描述;头文件信息在加载图层时需要填入,因此需要明确头文件信息


②类型说明文件(Class Description,*.fcd)

③边缘深度文件(Edge Depth,*.fsd),景深说白了就是分析设计的半径距离



2. 单栅格文件分析
了解上述内容后,小编试着加载官方教程数据(reg78b,格式随自己喜欢),这里小编选择tif格式(懒得给ASCII文件键入头文件信息),接着加载描述和边缘深度文件、设置分析的水平指数、配置好分析参数,具体如下:








3. 批量处理分析
简单明了地说,如果有多个文件可以设置同样的参数和景观指数,如多年的土地覆盖栅格数据,就可以加载多个图层并统一设置分析了,其中,批处理文件的格式就是路径+头文件信息

4.移动窗口的分析
移动窗口是上述提及的全局取样方式中的一种


5. 不同取样方式下的景观格局分析
分为全局及局部的取样及策略方案,本文不多解释,基本原理一致,分析规则设置不同而已,详情参考本文的参考附录。
6. 参考附录
《Modern Spatial Econometrics in Practice A Guide to GeoDa, GeoDaSpace and PySAL》
《Scale Issues in Remote Sensing》
《Advances in Spatial Data Handling and Analysis》
《Handbook of Applied Spatial Analysis》
景观指数分析 - 初识FragStats4.2的更多相关文章
- 如何利用Python计算景观指数AI
可使用工具包 pylandstats 此工具包基本是根据fragstats形成的,大部分fragstats里面的景观指数,这里都可以计算.但是,还是有一小部分指数这里没有涉及. LS_METRICS ...
- C++调用GDAL库读取并输出tif文件,并计算斑块面积输出景观指数:CSD
部分源码选自GDAL库的官方网址:www.gdal.org,其余的代码为笔者自己编写. // readfile.cpp : 定义控制台应用程序的入口点. // /* part of the codes ...
- Fragstats软件使用及其景观生态学意义
[转]Fragstats软件使用及其景观生态学意义 原文地址:http://blog.163.com/shuailai@126/blog/static/13238040820104152513 ...
- Android和Linux应用综合对比分析
原文地址:http://www.cnblogs.com/beer/p/3325242.html 免责声明: 当时写完这篇调查报告,给同事看了后,他觉得蛮喜欢,然后想把这篇文章修改一下,然后往期刊上发表 ...
- arcgis pro指数库
来自:https://pro.arcgis.com/zh-cn/pro-app/help/data/imagery/indices-gallery.htm 植被和土壤指数 MSAVI “修正土壤调节植 ...
- SEO实战宝典阅读笔记
1. 对搜索引擎更友好 1.1 sitemap sitemap自动生成 https://www.xml-sitemaps.com 谷歌 sitemap.xml 百度 sitemap.html 1.2 ...
- jquery简单入门(一)
相关: 本文参考<锋利的jQuery第二版> 写在前面: jQuery作为javascript框架,是做网页交互工作者,一个值得学习的优秀的前端框架... 百度指数分析:(http://i ...
- SEO教程:向百度要流量 第一季
首先祝贺你:当你看到这篇文章时,你已经站在一条通往SEO达人捷径的路口. 笔者也是今年年初才成为SEOer的一员,在做SEO的过程中,有不少自己独特的心得体会,所以一直酝酿着写一个SEO系列的文章,将 ...
- 迎战大数据-Oracle篇
来自:http://www.cnblogs.com/wenllsz/archive/2012/11/16/2774205.html 了解大数据带来的机遇: 透视架构与工具: 开源节流,获得竞争优势. ...
随机推荐
- Python_sniffer(网络嗅探器)
import socket import threading import time activeDegree=dict() flag=1 def main(): global activeDegre ...
- shell 中test命令
test可用于测试表达式,支持测试的范围包括:字符串比较,算术比较,文件存在性.属性.类型等判断.例如,判断文件是否为空.文件是否存在.是否是目录.变量是否大于5.字符串是否等于"longs ...
- wireshark使用方法
抓取报文: 下载和安装好Wireshark之后,启动Wireshark并且在接口列表中选择接口名,然后开始在此接口上抓包.例如,如果想要在无线网络上抓取流量,点击无线接口.点击Capture Opti ...
- PHP入门小练习
1.编写字符串检查函数,判断一个字符串是否为有效电话号码.要求:手机号码的长度为11位的数字,固定电话为开头三或四个数字后跟一个短横线后接8位数字. <? function isTel($tel ...
- SSM-SpringMVC-11:SpringMVC中ParameterMethodNameResolver参数方法名称解析器
------------吾亦无他,唯手熟尔,谦卑若愚,好学若饥------------- 或许曾经的我们也见过一种方式http://localhost:8080/项目名/后台servlet?actio ...
- 000webhost虚拟主机绑定自定义二级域名
作者:荒原之梦 原文链接:http://zhaokaifeng.com/?p=558 前言: 最近想给导航狗IT信息导航做一个文件服务器专门存放文件,以提供引用或下载.于是,我在000webhost上 ...
- app后端设计(5)-- 表情的处理
在app的应用中,文字中夹带表情是个很常见,那么,在后台处理表情的时间,我遇到过下面两个问题: 1. 表情在mysql的存储. 表情的utf8编码,有时是有4个字节的,所以在一般的utf编码是没法存储 ...
- Cassadra & presto 集群部署
四台服务器部署cassandra集群 和 presto搜索引擎 及代码演示: 还有很多细节没有补充,有问题和疑问的地方 咋们一起探讨哇!1.创建用户 使用root用户登录应用服务器,执行以下操作 ...
- Postman 使用详解
转自: http://blog.csdn.net/flowerspring/article/details/52774399 Postman 使用详解 阅读 6754收藏 3022016-6-9 作者 ...
- protocol_v2.go
{ return protocol.NewFatalClientErr(nil, "E_INVALID", fmt.Sprintf(&quo ...