【R-terra包|第二节】:栅格重分类、投影变换、分区统计

terra|第二节:栅格重分类、投影变换、区域统计、属性融合与提取

本节将介绍基于R语言terra包的栅格重分类、矢量绘图、字段融合、投影变换、区域统计、属性表的提取、栅格矢量的输出等内容。

重分类

R-terra包|第一节中,得到处理好的NDVI,下面将对其进行栅格重分类,采用 classify 函数:


classify(x, rcl, include.lowest=FALSE, right=TRUE,
            others=NULL, brackets=TRUE, filename="", ...)

其中 x为栅格, rcl为分类依据。具体如下:


m  c( -1,   0,    1,
         0,   0.3,  2,
        0.3,  0.6,  3,
        0.6,   1,   4)
rcl  matrix(m, ncol =3, byrow =TRUE)
rcl
re_ndvi  classify(dx_ndvi, rcl)

freq(re_ndvi)
plot(re_ndvi,  main ='NDVI')

【R-terra包|第二节】:栅格重分类、投影变换、分区统计

矢量读取与绘图

vect函数可读取矢量数据,并可使用 plot函数加上属性字段进行映射出图,如下所示:


bj  vect("E:/Data/R_save/dingxi/bjt.shp")
bj
plot(bj, col=rainbow(n))

plot(bj, "gpd", col=rainbow(25))

【R-terra包|第二节】:栅格重分类、投影变换、分区统计
其中,name对应的为该矢量所包含的属性,或者通常所说的字段,以各地区gdp的属性绘图:
【R-terra包|第二节】:栅格重分类、投影变换、分区统计

按字段合并矢量

该矢量是以县为边界,使用 aggregate函数按属性中的 ID_shi代码进行合并得到市行政区划,如下


shi  aggregate(bj,  "ID_shi")
plot(bj, col="light blue", lty=2, border="red", lwd=2)

lines(shi, lwd=5)
lines(shi, col="white", lwd=1)
text(bj, "name_1", cex=.8, halo=TRUE)

【R-terra包|第二节】:栅格重分类、投影变换、分区统计

投影变换

计算得到ndvi坐标系为WGS_1984,为矢量区划坐标系为CGCS_2000 ,因此需要投影变换到同一坐标系下,采用 terra::project函数,如下所示:


crdref  crs(dx_ndvi)

bj1  terra::project(bj, crdref)
bj1
plot(dx_ndvi)
plot(bj1, add = TRUE, border='red', lwd=1.5 )

【R-terra包|第二节】:栅格重分类、投影变换、分区统计
【R-terra包|第二节】:栅格重分类、投影变换、分区统计

区域统计

现在有区域ndvi和行政区划数据,采用 extract函数提取各个县的ndvi的均值


tj  extract(dx_ndvi1, bj1, mean, na.rm=TRUE)

【R-terra包|第二节】:栅格重分类、投影变换、分区统计

矢量属性表操作

将提取到ndvi均值追加到行政区划 bj 属性里


bj1$ndvimean  tj$b4
head(bj1)

【R-terra包|第二节】:栅格重分类、投影变换、分区统计

提取属性


bjv  values(bj1)
head(bjv)

bjv1  as.data.frame(bjv)
head(bjv1)

【R-terra包|第二节】:栅格重分类、投影变换、分区统计

提取字段


bj1$gpd

bj1[, "gpd"]

【R-terra包|第二节】:栅格重分类、投影变换、分区统计

栅格矢量输出


writeRaster(dx_ndvi, "E:/Data/R_save/dingxi/OUTPUT/dx_dnvi.tif", overwrite = FALSE)
writeVector(bj1,  "E:/Data/R_save/dingxi/OUTPUT/dx_bj.shp", overwrite = FALSE)

【R-terra包|第二节】:栅格重分类、投影变换、分区统计

Original: https://blog.csdn.net/keepclam/article/details/124604521
Author: 地理空间科学
Title: 【R-terra包|第二节】:栅格重分类、投影变换、分区统计

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/662255/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球