基于ArcGIS的作物适宜区分析案例 | 当GIS化身农科月老
前言
这是空间分析专栏的开篇之作🎉
在这一篇,小编将基于具体的任务情景,从任务拆解到arcmap具体实现,跟大家分享一个超详版的【适宜性评价->适宜区分析】的分析思路和处理流程,以帮助大家更好的理解适应性评价的灵魂和通用处理思路,在面对不同领域不同任务时能够灵活变通。
废话放到最后说,现在开始讲干货!
一、案例背景
(一)案例背景
某一地区引进X型经济作物,该作物的生长环境需要满足一定的地形及气象条件。现有该地区的地形及气象数据,请你根据X型作物的生长条件,为该地区进行X型作物适宜区分析,并制作专题图。
(二)数据说明
数据名称 | 数据类型 | 坐标系 | 说明 |
dem | 栅格数据 | 自定义 | 数字高程模型,提取坡向等 |
climate.txt | 文本文件 | - | 气象观测表数据(坐标、气温、降水等) |
gully.shp | .shp文件 | 自定义 | 主沟谷数据 |
注:自定义的意思,是原始数据已经自带了一致的投影坐标系,故在之后的处理过程中省去了一个做任何项目前首先要检查和处理好的移步,就是确定和统一项目的坐标系统。
家人们在做自己的项目时,一定切记要首先看看所拿数据的属性信息,看看任务的要求,如果是经纬度坐标,也要根据任务来看看用不用投影。
(三)任务要求
- X型作物生长条件
- 作物喜阳(规定坡向90-270为阳坡);
- 作物一般生长在该山区主沟谷两侧区域,一般不超过800米;
- 作物生长的年平均温度为9.5-11.5℃;
- 作物生长的年总降雨量为600-720mm。
- 要求
以上条件确定此地区适合种植这种作物的范围,并制作专题图。专题图内容要求以地形和水系作为背景,且给出适宜种植面积(投影面积即可)。
二、任务分析与处理流程
这是一个典型的适宜性评价任务。首先基于题目所列出的X型作物生长适宜的各个条件,求得满足单一维度的适宜区域,然后对在各单一条件下求解得到的结果进行栅格叠加,得到所有条件均满足的区域,即最终结果并求解种植区投影面积。最后对dem进行水文分析相关操作得到研究区水系,和地形一起作为专题图背景,制作专题图,直观反映当地适宜X型作物生长的区域。具体实施流程如下:
图 1实验整体流程图
三、arcmap完整实现
(一)获取满足各单一条件的适宜区
1.加载所有数据
在加载数据前先查看数据坐标系,确定dem和gully.shp坐标系一致,均是基于横轴墨卡托投影的自定义坐标系,故直接加载且无需在之后做坐标系的统一处理。
1)加载dem和gully.shp
先执行【Geoprocessing->Environment Settings】配置好实验环境,然后直接在右侧的Catalog里连接实验数据文件夹,将gully和dem数据拖到数据视图处,arcmap自动导入。具体实现如下。
图 2实验环境配置
图 3 gully和dem导入情况
2)加载climate.txt
执行【File->Add Data->Add XY Data】,在弹出的加载XY坐标数据的窗口按如下设置,完成对气象数据的加载。
导入结果如下:
图 4 climate文件导入情况
2.提取阳坡区域
已知作物喜阳,且坡向为90-270为阳坡,因此首先基于dem获取坡向栅格,然后在对得到的坡向栅格进行筛选,得到阳坡区(阳坡栅格像元值为1,非阳坡0)。下面给出实施流程。
1)提取坡向栅格
打开工具箱,执行【3D Analyst->Raster Surface->Aspect】,在弹出的坡向工具窗口进行如下设置
得到坡向数据,如下。
图 5 研究区坡向数据
2)筛选阳坡
利用栅格计算器完成阳坡筛选。执行【Spatial Analyst->Map Algebra->Raster Calculator】,在打开的栅格计算器窗口进行如下设置:
输出栅格中,深色部分即阳坡。
图 6研究区阳坡范围
3.提取主沟谷两侧800m区域
首先对gully做缓冲区分析,得到其周围800m的缓冲区范围,然后为了方便之后的综合评价,将缓冲区图层转换为栅格,再利用栅格计算器处理无效值,最终得到栅格二值图,1即缓冲区内。下面是具体实施流程。
1)对gully做缓冲区
执行【Analysis Tools->Proximity->Buffer】,在弹出的缓冲区窗口进行如下设置。
得到的缓冲区结果如下。
2) 矢量转栅格
执行【Conversion->To Raster->Feature to Raster】,在弹出的要素转栅格对话框,按如下图设置。
结果如下
图 7缓冲区栅格图
可以看出缓冲区的范围已经和dem一致了。
3)栅格二值化
仍然利用栅格计算器,执行【Spatial Analyst->Map Algebra->Raster Calculator】,在打开的栅格计算器窗口进行如下设置:
结果如下,深灰为符合区域:
图 8主沟谷两侧800m内区域
4.提取年平均温度适宜区
这里由于气象数据是点状数据,因此首先需要对其进行栅格化,选择气温作为Z字段来进行插值,得到温度栅格,然后在利用栅格计算器筛选得到符合温度要求的区域。
1)获取温度栅格
执行【3D Analyst->Raster Interpolation->Kriging】,在弹出的克里金插值窗口,按如下设置。
得到插值结果栅格。
图 9基于克里金插值得到的温度栅格
2)获取温度适宜区
执行【Spatial Analyst->Map Algebra->Raster Calculator】,在打开的栅格计算器窗口进行如下设置:
得到输出结果,绿色为温度适宜区。
图 10温度适宜区(绿)
5.提取年降水适宜区
操作和确定温度适宜区是一样的,只是插值对象更换为降雨量字段。
1)获取降雨量栅格
执行【3D Analyst->Raster Interpolation->Kriging】,在弹出的克里金插值窗口,按如下设置。
得到基于降雨量的插值结果。
图 11降雨量栅格
2)获取降雨量适宜区
执行【Spatial Analyst->Map Algebra->Raster Calculator】,在打开的栅格计算器窗口进行如下设置:
得到的结果如下,绿色是降雨量适宜的区域。
图 12降水适宜区(绿)
(二)综合评价求最终适宜区
1.多条件叠加,确定最终适宜区
在前一部分已经得到了四幅在单一条件下的适宜区二值图,现在要做的就是利用栅格计算器“求交”,通过让四幅栅格相乘,最终得到的值为1的区域,就是本实验的目标,即该地适宜种植X型作物的区域。
执行【Spatial Analyst->Map Algebra->Raster Calculator】,在打开的栅格计算器窗口进行如下设置:
得到的结果如下,其中蓝色部分,就是最终要找的适宜区!
图 13 X型作物生长适宜区(终)
2.求解适宜区投影面积
计算适宜种植区的投影面积,可以理解为就是统计得到的栅格数据中值为1的面积。在dem属性表中查看得知单个像元大小为25×25,我们利用属性表来“统计”像元值为1的面积。
在最终适宜区的属性表新建双精度的area字段,打开字段计算器后按下图进行操作,得到面积结果,其中适宜区面积为174.97125平方千米。
注意,这里家人们也可以选择这一种计算方式:执行【空间分析->区域分析->面积制表】。这一种方式就是直接利用工具来自动完成计算啦
图 14利用字段计算器求解适宜区面积
(三)提取河流水系
1.获取河流栅格
依次对dem进行填洼、流向提取、流量计算,然后利用栅格计算器以10000为阈值进行筛选,得到河流栅格。下面是各步骤操作以及最终得到的河流栅格结果。
沟谷线和水系,所基于的地理逻辑是一样的,是一体两面。后者是地形对水流的控制作用,而前者则是水流对地形的塑造作用。“水流塑造沟谷,沟谷承载水系”。因此最终得到的水系,和主沟谷线,差不离。
(所以在这里,题目要求最后的专题图要以水系为背景,小编一开始以为这是一个送分项哈哈,因为主沟谷线就基本可以代表研究区水系了哈哈,但是最后还是老老实实干了哈哈哈哈)
1)dem填洼
2)获取流向栅格
3)计算流量
4)获取河流栅格
执行【Spatial Analyst->Map Algebra->Raster Calculator】,此处尝试过很多阈值之后,选择以10000为阈值来提取河流栅格,在这一阈值下得到的河流栅格和沟谷线数据gully.shp是大致一样的,也就说明了河流和沟谷相依相生的关系。
得到河流栅格数据如下。
2.获取河流线
将河流栅格转换为矢量线数据,即得到水系的矢量表示。执行【Spatial Analyst->Hydrology->Stream to Feature】,按如下设置。
得到水系。
图 15研究区水系
(四)制作X型作物生长适宜区专题图
按照题目要求以地形和水系作为背景,以最终适宜区范围为主体,添加比例尺、指北针等元素,进行图幅整饰,得到X型作物生长适宜区专题图。
图 16 X型作物生长适宜区专题图
四、唠唠叨叨
在这一篇,基于“研究区的X型经济作物的适宜种植区选择”这一个任务背景,从目标分析到arcmap完整实现,从头脑风暴到行动落地,小编把在处理过程中领悟到的知识,踩过的坑,和一些小小拙见都分享给大家,希望能够给大家带来一些帮助,一些避雷点。
好啦,这里就又是小编的标准结束语了哈哈。由于小编只是一个半瓶子晃荡的二六子,在一些处理,一些表达,一些观点和看法上一定会有一些不周到不妥当不正确的地方,真心的欢迎大家批评指正,小编一定虚心受教,大家有更好的处理思路或者和小编有不一样的看法,都欢迎大家在评论区分享,能和大家一起进步,一起收获成长,就是小编的青铜门!
感谢大家看到这里,大家真的都超级棒!