R语言terra包,flip,rev翻转或反转栅格
# Thu Dec 24 08:41:47 2020 -
# 字符编码:UTF-8
# R 版本:R x64 4.0.3 for window 10
# cgh163email@163.com
# 个人笔记不负责任
# —— 拎了个梨🍐
.rs.restartR()
require(terra)
# flip,rev翻转或反转栅格
rm(list=ls());gc()
# 通过反转行(vertical = TRUE)或列(vertical = FALSE)的顺序来翻转SpatRaster的值。
# rev与水平*和*垂直翻转相同。
r <- rast(nrow=18, ncol=36)
m <- matrix(1:ncell(r), nrow=18)
values(r) <- as.vector(t(m))
rx <- flip(r, direction="h")
par(mfrow = c(1,2))
plot(r,pax=F,main='before')
plot(rx,pax=F,main='filp翻转')
dev.copy(png,'filp翻转.jpg');dev.off()
values(r) <- as.vector(m)
ry <- flip(r, direction="v")
v <- rev(r)
plot(r,pax=F,main='before')
plot(ry,pax=F,main='filp垂直翻转')
plot(v)
dev.copy(png,'filp&rev垂直翻转.jpg');dev.off()
# Thu Dec 24 08:49:08 2020 --
require(sf)
map.sf <- sf::st_read('https://geo.datav.aliyun.com/areas/bound/geojson?code=440100_full')
map.sp <- as(map.sf,'Spatial')
map.spv <-vect(map.sp)
map.spr <- rast(map.spv)
values(map.spr) <- 1:ncell(map.spr)
plot(map.sp)
plot(map.spr)
flip(map.spr,direction="v") %>% plot()
dev.copy(png,'filp.jpg');dev.off()
# Thu Dec 24 09:10:30 2020 --