基于R和ArcGIS两种方法制作土地利用转移图详细教程

Part1背景

土地利用转移矩阵大家应该都会做,但是土地利用转移图还是有部分人不太会做,本期介绍下R和ArcGIS两种方法绘制土地利用转移图,大家多多分享。练习数据来源请引用:地理遥感生态网科学数据注册与出版系统

Part2R方法

3f258f2ac716cf875aa2093c5ee712b2.jpeg

代码:

#加载安装包
library("raster");library(ggplot2); library(rgdal); library(sf); library(ggspatial); library(do)
#设置工作目录
setwd("C:\\Users\\90659\\Desktop\\案例\\")
#加载数据
CNLC2010=raster("CNLC2010gz.tif")
CNLC2020=raster("CNLC2020gz.tif")

p= sf::st_read("C:\\Users\\90659\\Desktop\\案例\\gz.shp")
#将矢量边界转换与2020年一致的投影
p=st_transform(p,crs(CNLC2020))
#将2020年2010年的栅格数据裁剪一样的边界
CNLC2020<-crop(mask(CNLC2020,p),p)
CNLC2010<-crop(mask(CNLC2010,p),p)
#将两期数据合成多波段
hjzk=stack(CNLC2010,CNLC2020)
#转换成数据框格式
test_spdf = as.data.frame(hjzk, xy = T)
#新建字段,两期变化
test_spdf$value=paste0(test_spdf$CNLC2010gz,"→",test_spdf$CNLC2020gz)
#将数字转换成中文版式
test_spdf$value=do::Replace(data=test_spdf$value,pattern = c("10:耕地", "20:林地", "30:草地","40:水域","50:城市用地","60:未利用地","80:荒地"))#完美
#构建各类型的颜色变化
col1=colorRampPalette(c("#348D47", "#BADCBD"))(7)
col2=colorRampPalette(c("#B2182B", "#FDDBC7"))(4)
col22= colorRampPalette(c("#83488B", "#E5C5EA"))(7)
col3=colorRampPalette(c("#C0468A", "#FECCE5"))(6)
col4=colorRampPalette(c("#007D6E", "#A4E1D9"))(7)
col5=colorRampPalette(c("#166490", "#B7D2EE"))(6)
col6=colorRampPalette(c("#9B5417", "#E0DE83"))(6)

col=c(col1,col2,col22,col3,col4,col5,col6)
#采用ggplot2画图
p=ggplot() +
&nbsp;geom_raster(data = na.omit(test_spdf),aes(x,y,fill=factor(value))) +
&nbsp;scale_fill_manual(name = "2010→2020",values = col) +
&nbsp;
&nbsp;geom_sf(data = p,fill="NA",size=0.3,color="black")+
&nbsp;annotation_scale(location = "bl") +
&nbsp;annotation_north_arrow(location = "tr", which_north = "true",
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; pad_x = unit(0.02, "in"), pad_y = unit(0.02, "in"),
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; style = north_arrow_fancy_orienteering)+
&nbsp;labs(x ='',y=" ")+
&nbsp;theme_bw()+
&nbsp;theme(axis.text.y = element_text(angle = 90, hjust = 0.5))


#导出数据 &nbsp;
ggsave("土地转移.tiff", plot = p, device = "tiff", dpi =300, width = 30, height = 30, units = "cm")

Part3ArcGIS方法

1.导入数据

328aed453c45d25f5b218e133eed6e52.jpeg

2.合并栅格

90662e2bb7810d2e581f9cc3d9516b99.jpeg

3.一共有43种变化类型,与R语言出来的一样

6f27748ad28508bdd1e70fc60df6df98.jpeg

4.合并栅格的属性表里新建字段位2010->2020,最好长度60以上,不然有可能显示不完全

1737c308aabdb33c746606cd6ce9bc79.jpeg


5.属性表里都是数字,想要我们中文的含义,使用属性里的链接,分别将2010和2020字段进行连接起来。(土地分类的表格内容一样,因为不同字段不能同时链接一个表)

7a199775ca60800fa71d1f80a79a6098.jpeg

6.在属性表格里的2010->2020将链接好的字段进行计算器计算,代码及含义如下

f49f1375aac47900c03924c77da007b4.jpeg


7.根据配色要求,自行选取颜色

7c675afed1e6f936281d7bb80b860932.jpeg


8.成图

8755e09ac13dc3665f3219954bb42d6a.jpeg


  • 4
    点赞
  • 22
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值