关注城市数据人微信公众号
数据资讯、数据分享、数据技能
欢迎文末加入城市数据学社,共同学习进步
今日为大家推荐来自CSDN博客用户“ceibake”的文章,感谢作者授权转载。文章详细介绍了如何用ArcGIS对不同时期的土地利用矢量数据进行土地利用变化分析。
土地利用图(左图为1993年,右图为2003年)
思路如下:
可以先对2个图层进行Union操作,然后在结果中新建一个字段,分析属性的变化。如果属性没变,就赋值为1,如果属性变化了就赋值为0。
操作步骤如下:
1、将两个图层的属性放到一个图层里。
使用GP工具Union(联合)。注意JoinAttribute,选择All,也就是结果中包含两个图层的所有字段。
结果属性表如下:
Unoin可以将数据的属性合并到一起,同时,图斑不一样的区域也可以拆分开。见下图:
2、新建一个短整型字段。
3、使用字段计算器,比较两个字段的内容。如果属性没变,就赋值为1,如果属性变化了就赋值为0。这里我们定义isSame()函数,在函数中比较字段值,相同就赋值1,不相同就赋值0。
Python代码如下:
Pre-Logic Script Code中写:
变化中写:(比较的是Class_Name和Class_Name1两个字段)
简单方法:
Python语法中比较字段值是否相等,可以用 == 。注意,中间不能有空格。所以表达式可以简化为:
!Class_Name! == !Class_Name_1!
结果如下:
如果想知道变化的图斑是从什么类型转为什么类型,可以新建一个文本型字段,将土地利用类型的两个字段赋值过去。
结果如下:
使用GP工具Summary Statistics(汇总统计数据),统计各类的总面积。
结果是一张统计表,如下:
可以使用GP工具Tabulate Intersection(交集制表)进行统计。
结果如下:
有一份行政区划矢量数据,希望知道每个图斑隶属于哪个行政区划。数据可以是行政区域,也可以是坡度及其他数据。
一个图斑可能会跨区域,如果图斑需要切分,一部分属于行政区划A,另一部分属于B,可以使用GP工具Intersect(相交),参数中的JoinAttribute,选择All。结果如下:
如果不希望图斑被切分,在属性表中记录属于A、B、C区,可以使用GP工具Spatial Join(空间连接)。
在区域名字段上右键,合并规则选择连接,其他设置默认就可以了。
结果如下:
对于分类后的土地利用栅格数据,在ENVI里很容易计算土地利用变化矩阵。针对矢量数据,我们可以在ArcGIS中统计数据,然后在Excel中制作矩阵。
思路如下:
1、对两期土地利用数据分别进行融合Dissolve(融合)操作,使每个土地利用类型仅有一条记录;
2、再对融合的结果进行Intersect(相交)操作,分析土地利用变化;
3、转出为Excel表;
4、在Excel中采用透视表进行统计。
模型如下:
针对上面的操作思路,制作了一个Model模型,转出结果为Excel。模型内容如下:
模型下载链接:https://pan.baidu.com/s/1pKNHDeb 密码:n9hy
双击工具箱中此工具,界面如下:
关于土地利用转移矩阵模型,适用ArcMap 10.2及以上版本。如何打开模型,编辑模型,见下图操作。大家可以参考模型中的工具,自己来制作这个模型。模型构建参考帮助文档:在模型构建器中执行工具。
结果为一个Excel表格,制作透视图方法如下:
1、点击数据透视图,然后选中所有区域的数据;
2、先勾选第一期的土地利用类型字段;
3、再将第二期的土地利用类型字段拖拽到透视图的第一行位置;
4、最后将面积字段拖拽到透视图的中间空白位置;
再修改下字头内容,添加下边框,土地利用转移矩阵就做好了。
博客地址为:https://blog.csdn.net/ceibake/article/details/77924315
城市数据学社
长按二维码加入
数据领域,一起探索
数据分享 | 数据教程 | 数据工具 | 数据社群
加入数据学社后,请添加微信“wwwcaup”,发送购买截图,即可加入交流群。
本篇文章来源于微信公众号:%城市数据人%