iis7 部署网站,企业信用信息公示系统(全国)官网,wordpress 友情链接,开发者模式关掉好还是开着好1 背景及目的 生态安全是生态系统完整性和健康性的整体反映#xff0c;完整健康的生态系统具有调节气候净化污染、涵养水源、保持水土、防风固沙、减轻灾害、保护生物多样性等功能。维护生态安全对于人类生产、生活、健康及可持续发展至关重要。随着城市化进程的不断推进…1 背景及目的 生态安全是生态系统完整性和健康性的整体反映完整健康的生态系统具有调节气候净化污染、涵养水源、保持水土、防风固沙、减轻灾害、保护生物多样性等功能。维护生态安全对于人类生产、生活、健康及可持续发展至关重要。随着城市化进程的不断推进生态系统受到来自人类社会日益严重的威胁保障生态安全作为迫切的社会需求已经成为人类社会可持续发展面临的新主题。因此对区域生态安全水平进行评价为改善区域生态问题的对策与措施提供参考具有重要的现实意义。 通过本实验希望能够达到以下目的 ①掌握生态安全评价指标体系的构建与计算 ②掌握景观指数移动窗口计算方法 ③掌握突变模型在指标集成中的应用
2 实验步骤
2.1 数据的预处理
2.1.1 设置工作空间
添加数据 地理处理--环境设置 对工作空间进行设置主要为方便管理过程中产生的数据也方便自己找得到想要用的数据更改到当前实验文件夹 2.1.2 栅格数据的统一处理栅格重采样
数据管理工具--栅格--栅格处理--重采样
这一步骤的作用在于本实验的统一栅格数据为10000m精度但原数据土地利用数据为30m因此采用重采样工具对土地利用数据进行处理将分辨率更改为1000×1000 2.2 生态服务能力指标计算
不同土地利用类型对应不同生态服务价值系数利用重分类工具更改栅格中的值
Spatial Analyst 工具--重分类--重分类
更改后如图 2.3 生态敏感性指标计算
2.3.1 距道路距离的计算
Spatial Analyst 工具--距离--欧氏距离 在环境中对输出范围和坐标系进行设置 结果(我也不懂为什么图是歪的) 以区域面数据为范围对得到的距道路距离栅格进行提取
Spatial Analyst 工具--提取分析--按掩膜提取 2.3.2 距城市距离
这一步骤可以得到土地利用的矢量数据转换工具--由栅格转出--栅格转面 右键打开土地利用类型的属性表按属性筛选出对应值为80的数据 将刚才选中的数据导出 对图层进行编辑 选择面积较大的部分作为城市区域再将其他区域进行删除最后保存编辑结果 打开建设用地属性表刚才选择的地区都会进行高亮显示然会选择结果进行反选删除不要的数据 继续利用欧氏距离和按掩膜提取将处理过的建设用地设为输入栅格数据得出距城市距离栅格数据结果 结果 右键属性调整一下色带 结果 2.3.3 植被覆盖
对土地利用数据进行重分类Spatial Analyst 工具--重分类--重分类 结果 2.3.4 坡度
Spatial Analyst 工具--表面分析--坡度 结果 右键土地利用导出数据 2.4 生态组织架构
打开fragstats把上一步生成的文件导入 创建一个记事本文件文件后缀为fcd输入如下内容老实英文状态下手敲不要文字识别容易后面运行报错 导入 设置分析参数 勾选景观指数 运行 报错了查看下日志 Error: No level selected for the analysis, please select at least one level.
提示没有为分析选择级别倒回去看步骤发现确实少勾选每一个条件 再次运行成功了系统字自动生成一个文件夹 文件位置 由于在Fragstats中空值会显示为-999为不影响归一化结果需要用“栅格计算器将空值去除
先把Fragstats中生成的6个景观指数加载进ArcMap 利用栅格计算器去除计算出现的异常值
Spatial Analyst 工具--地图代数--栅格计算器 另外五个都是同样的操作 2.5 突变模型
利用突变模型对指标体系进行架构
2.5.1 剔除水体
打开土地利用类型属性表筛选出水体对应值为60的 右键图层将水体数据导出 取消上一步的选择 使用分析工具中的擦除将水体数据从土地利用数据中擦除
分析工具--叠加分析--擦除 利用区域面的范围对得到的土地利用类型进行裁剪
分析工具--提取分析--裁剪 批量处理14个指标数据---按掩膜提取
Spatial Analyst 工具--提取分析--按掩膜提取 2.5.2 指标归一化
打开python 写入代码前需要知道哪些是正向指标哪些是负向指标二者代码存在区别 我按上图顺序将代码附上
注意正向指标与负向指标的公式语句存在差别代码我也分开放了
//1 NDVI1 正向
import arcpy
from arcpy import env
from arcpy.sa import *rawRasterE:\\DengSL zuoye\\exp13\\exp13\\data_exp13\\Extract_NDVI1.tif//需要归一化的数据所在位置一定是上一步进行掩膜提取后的数据
NormalizedRasterpathE:\\DengSL zuoye\\exp13\\guiyihua\\NDVI.tif//归一化后的数据存放位置maxValueDSarcpy.GetRasterProperties_management(rawRaster,MAXIMUM)
maxValuemaxValueDS.getOutput(0)
print原栅格最大值str(maxValue)minValueDSarcpy.GetRasterProperties_management(rawRaster,MINIMUM)
minValueminValueDS.getOutput(0)
print原栅格最小值str(minValue)NormalizedRaster(Raster(rawRaster)-float(minValue))/(float(maxValue)-float(minValue))
NormalizedRaster.save(NormalizedRasterpath)
print归一化成功!
//我的结果原栅格最大值0.89999997615814 原栅格最小值0.11599999666214//2 NPP2 正向
import arcpy
from arcpy import env
from arcpy.sa import *
rawRasterE:\\DengSL zuoye\\exp13\\exp13\\data_exp13\\Extract_NPP2.tif//NNP2
NormalizedRasterpathE:\\DengSL zuoye\\exp13\\guiyihua\\NPP2.tif
maxValueDSarcpy.GetRasterProperties_management(rawRaster,MAXIMUM)
maxValuemaxValueDS.getOutput(0)
print原栅格最大值str(maxValue)
minValueDSarcpy.GetRasterProperties_management(rawRaster,MINIMUM)
minValueminValueDS.getOutput(0)
print原栅格最小值str(minValue)
NormalizedRaster(Raster(rawRaster)-float(minValue))/(float(maxValue)-float(minValue))
NormalizedRaster.save(NormalizedRasterpath)
print归一化成功!
//我的结果原栅格最大值2049.6000976563 原栅格最小值0//3 生态服务价值 正向
import arcpy
from arcpy import env
from arcpy.sa import *
rawRasterE:\\DengSL zuoye\\exp13\\exp13\\data_exp13\\Extract_Land_se1.tif
NormalizedRasterpathE:\\DengSL zuoye\\exp13\\guiyihua\\生态服务价值.tif maxValueDSarcpy.GetRasterProperties_management(rawRaster,MAXIMUM)
maxValuemaxValueDS.getOutput(0)
print原栅格最大值str(maxValue)
minValueDSarcpy.GetRasterProperties_management(rawRaster,MINIMUM)
minValueminValueDS.getOutput(0)
print原栅格最小值str(minValue)
NormalizedRaster(Raster(rawRaster)-float(minValue))/(float(maxValue)-float(minValue))
NormalizedRaster.save(NormalizedRasterpath)
print归一化成功!
//我的结果原栅格最大值3149 原栅格最小值0//4 距城市距离 正向
import arcpy
from arcpy import env
from arcpy.sa import *
rawRasterE:\\DengSL zuoye\\exp13\\exp13\\data_exp13\\Extract_城市距离掩膜提1.tif
NormalizedRasterpathE:\\DengSL zuoye\\exp13\\guiyihua\\距城市距离.tif
maxValueDSarcpy.GetRasterProperties_management(rawRaster,MAXIMUM)
maxValuemaxValueDS.getOutput(0)
print原栅格最大值str(maxValue)
minValueDSarcpy.GetRasterProperties_management(rawRaster,MINIMUM)
minValueminValueDS.getOutput(0)
print原栅格最小值str(minValue)
NormalizedRaster(Raster(rawRaster)-float(minValue))/(float(maxValue)-float(minValue))
NormalizedRaster.save(NormalizedRasterpath)
print归一化成功!
//我的结果原栅格最大值60373.8359375 原栅格最小值0//5 距道路距离 正向
import arcpy
from arcpy import env
from arcpy.sa import *
rawRasterE:\\DengSL zuoye\\exp13\\exp13\\data_exp13\\Extract_Extract1.tif
NormalizedRasterpathE:\\DengSL zuoye\\exp13\\guiyihua\\距道路距离.tif
maxValueDSarcpy.GetRasterProperties_management(rawRaster,MAXIMUM)
maxValuemaxValueDS.getOutput(0)
print原栅格最大值str(maxValue)
minValueDSarcpy.GetRasterProperties_management(rawRaster,MINIMUM)
minValueminValueDS.getOutput(0)
print原栅格最小值str(minValue)
NormalizedRaster(Raster(rawRaster)-float(minValue))/(float(maxValue)-float(minValue))
NormalizedRaster.save(NormalizedRasterpath)
print归一化成功!
//我的结果原栅格最大值20396.078125 原栅格最小值0//6 植被覆盖 正向
import arcpy
from arcpy import env
from arcpy.sa import *
rawRasterE:\\DengSL zuoye\\exp13\\exp13\\data_exp13\\Extract_植被覆盖1.tif
NormalizedRasterpathE:\\DengSL zuoye\\exp13\\guiyihua\\植被覆盖.tif
maxValueDSarcpy.GetRasterProperties_management(rawRaster,MAXIMUM)
maxValuemaxValueDS.getOutput(0)
print原栅格最大值str(maxValue)
minValueDSarcpy.GetRasterProperties_management(rawRaster,MINIMUM)
minValueminValueDS.getOutput(0)
print原栅格最小值str(minValue)
NormalizedRaster(Raster(rawRaster)-float(minValue))/(float(maxValue)-float(minValue))
NormalizedRaster.save(NormalizedRasterpath)
print归一化成功!
//我的结果原栅格最大值4 原栅格最小值0//14 斑块连通度 正向
import arcpy
from arcpy import env
from arcpy.sa import *
rawRasterE:\\DengSL zuoye\\exp13\\exp13\\data_exp13\\Extract_斑块连接度co1.tif
NormalizedRasterpathE:\\DengSL zuoye\\exp13\\guiyihua\\斑块连通度.tif
maxValueDSarcpy.GetRasterProperties_management(rawRaster,MAXIMUM)
maxValuemaxValueDS.getOutput(0)
print原栅格最大值str(maxValue)
minValueDSarcpy.GetRasterProperties_management(rawRaster,MINIMUM)
minValueminValueDS.getOutput(0)
print原栅格最小值str(minValue)
NormalizedRaster(Raster(rawRaster)-float(minValue))/(float(maxValue)-float(minValue))
NormalizedRaster.save(NormalizedRasterpath)
print归一化成功!
//我的结果原栅格最大值100 原栅格最小值20.166975021362 //7 降雨量 负向
import arcpy
from arcpy import env
from arcpy.sa import *
rawRasterE:\\DengSL zuoye\\exp13\\exp13\\data_exp13\\Extract_降雨量1.tif
NormalizedRasterpathE:\\DengSL zuoye\\exp13\\guiyihua\\降雨量.tif
maxValueDSarcpy.GetRasterProperties_management(rawRaster,MAXIMUM)
maxValuemaxValueDS.getOutput(0)
print原栅格最大值str(maxValue)
minValueDSarcpy.GetRasterProperties_management(rawRaster,MINIMUM)
minValueminValueDS.getOutput(0)
print原栅格最小值str(minValue)
NormalizedRaster(float(maxValue)-Raster(rawRaster))/(float(maxValue)-float(minValue))
NormalizedRaster.save(NormalizedRasterpath)
print归一化成功!
//我的结果原栅格最大值13948.84375 原栅格最小值11076.044921875//8 坡度 负向
import arcpy
from arcpy import env
from arcpy.sa import *
rawRasterE:\\DengSL zuoye\\exp13\\exp13\\data_exp13\\Extract_Slope_D1.tif
NormalizedRasterpathE:\\DengSL zuoye\\exp13\\guiyihua\\坡度.tif
maxValueDSarcpy.GetRasterProperties_management(rawRaster,MAXIMUM)
maxValuemaxValueDS.getOutput(0)
print原栅格最大值str(maxValue)
minValueDSarcpy.GetRasterProperties_management(rawRaster,MINIMUM)
minValueminValueDS.getOutput(0)
print原栅格最小值str(minValue)
NormalizedRaster(float(maxValue)-Raster(rawRaster))/(float(maxValue)-float(minValue))
NormalizedRaster.save(NormalizedRasterpath)
print归一化成功!
//我的结果原栅格最大值30.61713218689 原栅格最小值0//9 斑块密度 负向
import arcpy
from arcpy import env
from arcpy.sa import *
rawRasterE:\\DengSL zuoye\\exp13\\exp13\\data_exp13\\Extract_板块破碎度1.tif
NormalizedRasterpathE:\\DengSL zuoye\\exp13\\guiyihua\\斑块密度.tif
maxValueDSarcpy.GetRasterProperties_management(rawRaster,MAXIMUM)
maxValuemaxValueDS.getOutput(0)
print原栅格最大值str(maxValue)
minValueDSarcpy.GetRasterProperties_management(rawRaster,MINIMUM)
minValueminValueDS.getOutput(0)
print原栅格最小值str(minValue)
NormalizedRaster(float(maxValue)-Raster(rawRaster))/(float(maxValue)-float(minValue))
NormalizedRaster.save(NormalizedRasterpath)
print归一化成功!
//我的结果原栅格最大值0.77777779102325 原栅格最小值0.11111111193895//10 边缘密度 负向
import arcpy
from arcpy import env
from arcpy.sa import *
rawRasterE:\\DengSL zuoye\\exp13\\exp13\\data_exp13\\Extract_边缘密度ED1.tif
NormalizedRasterpathE:\\DengSL zuoye\\exp13\\guiyihua\\边缘密度.tif
maxValueDSarcpy.GetRasterProperties_management(rawRaster,MAXIMUM)
maxValuemaxValueDS.getOutput(0)
print原栅格最大值str(maxValue)
minValueDSarcpy.GetRasterProperties_management(rawRaster,MINIMUM)
minValueminValueDS.getOutput(0)
print原栅格最小值str(minValue)
NormalizedRaster(float(maxValue)-Raster(rawRaster))/(float(maxValue)-float(minValue))
NormalizedRaster.save(NormalizedRasterpath)
print归一化成功!
//我的结果原栅格最大值13.333333015442 原栅格最小值0//11 面积加权平均形状指数 负向
import arcpy
from arcpy import env
from arcpy.sa import *
rawRasterE:\\DengSL zuoye\\exp13\\exp13\\data_exp13\\Extract_面积平均加权形1.tif
NormalizedRasterpathE:\\DengSL zuoye\\exp13\\guiyihua\\面积加权平均形状指数.tif
maxValueDSarcpy.GetRasterProperties_management(rawRaster,MAXIMUM)
maxValuemaxValueDS.getOutput(0)
print原栅格最大值str(maxValue)
minValueDSarcpy.GetRasterProperties_management(rawRaster,MINIMUM)
minValueminValueDS.getOutput(0)
print原栅格最小值str(minValue)
NormalizedRaster(float(maxValue)-Raster(rawRaster))/(float(maxValue)-float(minValue))
NormalizedRaster.save(NormalizedRasterpath)
print归一化成功!
//我的结果原栅格最大值2 原栅格最小值1//12 香农多样性指数 负向
import arcpy
from arcpy import env
from arcpy.sa import *
rawRasterE:\\DengSL zuoye\\exp13\\exp13\\data_exp13\\Extract_香农多样性SH1.tif
NormalizedRasterpathE:\\DengSL zuoye\\exp13\\guiyihua\\香农多样性.tif
maxValueDSarcpy.GetRasterProperties_management(rawRaster,MAXIMUM)
maxValuemaxValueDS.getOutput(0)
print原栅格最大值str(maxValue)
minValueDSarcpy.GetRasterProperties_management(rawRaster,MINIMUM)
minValueminValueDS.getOutput(0)
print原栅格最小值str(minValue)
NormalizedRaster(float(maxValue)-Raster(rawRaster))/(float(maxValue)-float(minValue))
NormalizedRaster.save(NormalizedRasterpath)
print归一化成功!
//我的结果原栅格最大值1.6769877672195 原栅格最小值0//13 斑块平均距离 负向
import arcpy
from arcpy import env
from arcpy.sa import *
rawRasterE:\\DengSL zuoye\\exp13\\exp13\\data_exp13\\Extract_斑块平均距离E1.tif
NormalizedRasterpathE:\\DengSL zuoye\\exp13\\guiyihua\\斑块平均距离.tif
maxValueDSarcpy.GetRasterProperties_management(rawRaster,MAXIMUM)
maxValuemaxValueDS.getOutput(0)
print原栅格最大值str(maxValue)
minValueDSarcpy.GetRasterProperties_management(rawRaster,MINIMUM)
minValueminValueDS.getOutput(0)
print原栅格最小值str(minValue)
NormalizedRaster(float(maxValue)-Raster(rawRaster))/(float(maxValue)-float(minValue))
NormalizedRaster.save(NormalizedRasterpath)
print归一化成功!
//我的结果原栅格最大值2828.4272460938 原栅格最小值0
2.5.3 突变模型
突变模型对于不同数量变量有不同的归一化公式 观察上面两个图先算B级指数即活力B1、经济压力B3、自然生态B4、景观破碎度B5、景观连通度B6。
如何去计算这几个指数则根据指标数量控制变量数量来带入公式此处以景观破碎都B5为例由图可知景观破碎度B5具有斑块密度C9、边缘密度C10、面颊加权平均形状指数C11、香浓多样性指数C12这四个控制变量那么带入的公式为 接下来打开栅格计算器
Spatial Analyst 工具--地图代数--栅格计算器 结果 以此类推得活力B1 社会经济压力B3 自然生态B4 景观连通度B6 生态服务能力 生态敏感性A2 生态安全指数 所有数据计算完毕调整细节出图