rm(list=ls())
time_start<-Sys.time()
in_path<-"G:/20240506_Science/N02_Proces/N01_LST_LSE_RETRIEVAL/N01_DAY/N02_testing_image_2022a/D1_combi_results_dele"
f_arr<-list.dirs(in_path,full.names = F,recursive = F)
out_path<-"G:/20240506_Science/N02_Proces/N01_LST_LSE_RETRIEVAL/N01_DAY/N02_testing_image_2022a/D3_combi_results_tif"
out_path_arr_sub<-c(out_path)
for (i in seq_along(out_path_arr_sub)) {
for (j in seq_along(f_arr)) {
out_path_sub_j<-paste0(out_path_arr_sub[i],'/',f_arr[j])
if(! dir.exists(out_path_sub_j)){
dir.create(out_path_sub_j)
} else {
unlink(out_path_sub_j,recursive = T)
dir.create(out_path_sub_j)
}
}
}
group_arr<-readRDS("G:/20240506_Science/N02_Proces/N01_LST_LSE_RETRIEVAL/N01_DAY/N01_all_data_2020_2021a/D1_band_combi_info/simu_group_arr_list.rds")
group_arr_TE_in<-readRDS("G:/20240506_Science/N02_Proces/N01_LST_LSE_RETRIEVAL/N01_DAY/N01_all_data_2020_2021a/D1_band_combi_info/group_arr_TE_in_list.rds")
group_arr_TE_out<-readRDS("G:/20240506_Science/N02_Proces/N01_LST_LSE_RETRIEVAL/N01_DAY/N01_all_data_2020_2021a/D1_band_combi_info/group_arr_TE_out_list.rds")
library(raster)
AHI_refer_path<-"G:/20240506_Science/N02_Proces/N01_LST_LSE_RETRIEVAL/N01_DAY/N02_testing_image_2022a/C1_all_land/20220101UTC2000"
AHI_refer_arr<-list.files(pattern = "*.tif$",AHI_refer_path)
AHI_refer_arr<-AHI_refer_arr[grepl("t2m",AHI_refer_arr)]
AHI_refer<-raster(paste0(AHI_refer_path,'/',AHI_refer_arr[1]))
re_results_matrix_to_geotif_function_wh<-function(i){
combi_i<-f_arr[i]
f_i_path<-paste0(in_path,'/',combi_i)
f_i_arr<-list.files(f_i_path,pattern = '*.txt$')
f_i_arr_out<-group_arr_TE_out[[combi_i]]
for (j in seq_along(f_i_arr)){
f_j<-read.table(paste0(f_i_path,'/',f_i_arr[j]),header = T)
for (k in seq_along(f_i_arr_out)) {
ori_name<-f_i_arr_out[k]
re_name<-paste0('re_',ori_name)
f_j_re<-f_j[,re_name]
f_j_re_matrix<-matrix(f_j_re,nrow=AHI_refer@nrows)
library(raster)
f_j_re_raster<-raster(f_j_re_matrix,
xmn=AHI_refer@extent@xmin,
xmx=AHI_refer@extent@xmax,
ymn=AHI_refer@extent@ymin,
ymx=AHI_refer@extent@ymax,
crs=crs(AHI_refer))
writeRaster(f_j_re_raster,
paste0(out_path,'/',combi_i,'/',gsub('_pre_dele.txt','',f_i_arr[j]),'_',re_name,'.tif'),
format = 'GTiff',
overwrite = TRUE)
}
}
}
library(parallel)
library(doParallel)
library(foreach)
library(iterators)
detectCores()
cl<-makeCluster(8)
registerDoParallel(cl)
test<-foreach(j=seq_along(f_arr),.combine='c') %dopar% re_results_matrix_to_geotif_function_wh(j)
stopCluster(cl)
stopImplicitCluster()
exc_time<-difftime(Sys.time(),time_start,units='mins')
print(paste0('execution time: ',round(exc_time,2),' mins'))
print('============================Alright')
rm(list=ls())
time_start<-Sys.time()
in_path<-'G:/20240506_Science/N02_Proces/N01_LST_LSE_RETRIEVAL/N01_DAY/N02_testing_image_2022a/D3_combi_results_tif'
in_path_ref<-'G:/20240506_Science/N02_Proces/N01_LST_LSE_RETRIEVAL/N01_DAY/N02_testing_image_2022a/C1_all_land'
in_path_clip_ref<-'G:/20240506_Science/N02_Proces/N01_LST_LSE_RETRIEVAL/N01_DAY/N02_testing_image_2022a/C1_all_land'
time_selec<-read.table('G:/20240506_Science/N02_Proces/N04_testing_image_time_selec/2022a_testing_image_time_selec_DAY_01v_effec.txt',
header = T)
time_selec<-as.character(time_selec[,1])
group_arr<-readRDS("G:/20240506_Science/N02_Proces/N01_LST_LSE_RETRIEVAL/N01_DAY/N01_all_data_2020_2021a/D1_band_combi_info/simu_group_arr_list.rds")
group_arr_TE_in<-readRDS("G:/20240506_Science/N02_Proces/N01_LST_LSE_RETRIEVAL/N01_DAY/N01_all_data_2020_2021a/D1_band_combi_info/group_arr_TE_in_list.rds")
group_arr_TE_out<-readRDS("G:/20240506_Science/N02_Proces/N01_LST_LSE_RETRIEVAL/N01_DAY/N01_all_data_2020_2021a/D1_band_combi_info/group_arr_TE_out_list.rds")
f_arr_combi<-list.dirs(in_path,recursive = FALSE,full.names = FALSE)
f_arr_combi_symbol<-sub("^(C.*?)_.+", "\\1", f_arr_combi)
out_path_map<-'G:/20240506_Science/N02_Proces/N01_LST_LSE_RETRIEVAL/N01_DAY/N02_testing_image_2022a/E1_combi_results_mapping'
out_path_arr<-c(out_path_map)
for (i in seq_along(out_path_arr)) {
for (j in seq_along(f_arr_combi)) {
out_path_sub<-paste0(out_path_arr[i],'/',f_arr_combi[j])
if(! dir.exists(out_path_sub)){
dir.create(out_path_sub)
} else {
unlink(out_path_sub,recursive = T)
dir.create(out_path_sub)
}
}
}
cross_vali_mapping_fun<-function (i) {
ori_vari_name<-group_arr_TE_out[[f_arr_combi[i]]]
re_vari_name<-paste0('re_',ori_vari_name)
for (m in seq_along(ori_vari_name)) {
ori_vari_name_m<-ori_vari_name[m]
re_vari_name_m<-re_vari_name[m]
f_i_arr<-list.files(paste0(in_path,'/',f_arr_combi[i]),pattern = paste0('(',re_vari_name_m,')','.*tif$'))
f_i_arr_ref<-list.files(in_path_ref,pattern = paste0('(',ori_vari_name_m,')','.*tif$'),recursive = T)
f_i_arr_clip_ref<-list.files(in_path_clip_ref,pattern = paste0('(',ori_vari_name_m,')','.*tif$'),recursive = T)
f_i_arr_ref_time<-substr(f_i_arr_ref,1,15)
f_i_arr_clip_ref_time<-substr(f_i_arr_clip_ref,1,15)
f_i_arr_ref<-f_i_arr_ref[f_i_arr_ref_time %in% time_selec]
f_i_arr_clip_ref<-f_i_arr_clip_ref[f_i_arr_clip_ref_time %in% time_selec]
f_i_arr_ref_name<-basename(f_i_arr_ref)
f_i_arr_clip_ref_name<-basename(f_i_arr_clip_ref)
f_i_arr_group_name<-c('re_MODIS Day','MODIS Day')
library(stringr)
f_i_arr_time<-str_extract_all(f_i_arr_ref_name, "\\d{8}UTC\\d{4}")
f_i_arr_time<-unlist(f_i_arr_time)
for (j in seq_along(f_i_arr)) {
library(raster)
f_j<-raster(paste0(in_path,'/',f_arr_combi[i],'/',f_i_arr[j]))
f_j_ref<-raster(paste0(in_path_ref,'/',f_i_arr_time[j],'/',f_i_arr_ref_name[j]))
f_j_clip_ref<-raster(paste0(in_path_clip_ref,'/',f_i_arr_time[j],'/',f_i_arr_clip_ref_name[j]))
f_j<-crop(f_j,f_j_clip_ref,snap = "near")
f_j_ref<-crop(f_j_ref,f_j_clip_ref,snap = "near")
f_j[f_j == -999]<-NA
f_j_ref[f_j_ref == -999]<-NA
f_j_df <- as(f_j, "SpatialPixelsDataFrame")
f_j_df <- as.data.frame(f_j_df)
colnames(f_j_df) <- c("value", "x", "y")
f_j_ref_df<-as(f_j_ref, "SpatialPixelsDataFrame")
f_j_ref_df <- as.data.frame(f_j_ref_df)
colnames(f_j_ref_df) <- c("value", "x", "y")
min_value<-min(f_j_ref_df$value,f_j_df$value)
max_value<-max(f_j_ref_df$value,f_j_df$value)
qujian_value<-(max_value-min_value)/11
data_arr<-list()
data_arr$re_x<-f_j_df
data_arr$x<-f_j_ref_df
names(data_arr)<-c(re_vari_name_m,ori_vari_name_m)
data_arr_name<-names(data_arr)
data_arr_name_map<-c(re_vari_name_m,ori_vari_name_m)
if (grepl('LSE',re_vari_name_m)==TRUE) {
for (k in seq_along(data_arr_name)) {
data_k<-data_arr[[data_arr_name[k]]]
library(tidyverse)
library(dplyr)
data_k2<-data_k %>% mutate(value2=case_when(
value < round(min_value+qujian_value*1,3) ~ "K",
value >= round(min_value+qujian_value*1,3) & value < round(min_value+qujian_value*2,3) ~ "J",
value >= round(min_value+qujian_value*2,3) & value < round(min_value+qujian_value*3,3) ~ "I",
value >= round(min_value+qujian_value*3,3) & value < round(min_value+qujian_value*4,3) ~ "H",
value >= round(min_value+qujian_value*4,3) & value < round(min_value+qujian_value*5,3) ~ "G",
value >= round(min_value+qujian_value*5,3) & value < round(min_value+qujian_value*6,3) ~ "F",
value >= round(min_value+qujian_value*6,3) & value < round(min_value+qujian_value*7,3) ~ "E",
value >= round(min_value+qujian_value*7,3) & value < round(min_value+qujian_value*8,3) ~ "D",
value >= round(min_value+qujian_value*8,3) & value < round(min_value+qujian_value*9,3) ~ "C",
value >= round(min_value+qujian_value*9,3) & value < round(min_value+qujian_value*10,3) ~ "B",
value >= round(min_value+qujian_value*10,3) ~ "A"))
cclass <- c(paste0('[',sprintf("%.3f",min_value+qujian_value*0),',',sprintf("%.3f",min_value+qujian_value*1),')'),
paste0('[',sprintf("%.3f",min_value+qujian_value*1),',',sprintf("%.3f",min_value+qujian_value*2),')'),
paste0('[',sprintf("%.3f",min_value+qujian_value*2),',',sprintf("%.3f",min_value+qujian_value*3),')'),
paste0('[',sprintf("%.3f",min_value+qujian_value*3),',',sprintf("%.3f",min_value+qujian_value*4),')'),
paste0('[',sprintf("%.3f",min_value+qujian_value*4),',',sprintf("%.3f",min_value+qujian_value*5),')'),
paste0('[',sprintf("%.3f",min_value+qujian_value*5),',',sprintf("%.3f",min_value+qujian_value*6),')'),
paste0('[',sprintf("%.3f",min_value+qujian_value*6),',',sprintf("%.3f",min_value+qujian_value*7),')'),
paste0('[',sprintf("%.3f",min_value+qujian_value*7),',',sprintf("%.3f",min_value+qujian_value*8),')'),
paste0('[',sprintf("%.3f",min_value+qujian_value*8),',',sprintf("%.3f",min_value+qujian_value*9),')'),
paste0('[',sprintf("%.3f",min_value+qujian_value*9),',',sprintf("%.3f",min_value+qujian_value*10),')'),
paste0('[',sprintf("%.3f",min_value+qujian_value*10),',',sprintf("%.3f",min_value+qujian_value*11),')'))
classcolor <- c("#4541DE",
"#4160F7",
"#3381F5",
"#1E9FE3",
"#0BB6CB",
"#2DC4A3",
"#6BCA6C",
"#B2C33E",
"#E7C32B",
"#ffb242",
"#F19425")
llabel<-c("K", "J", "I", "H", "G", "F", "E", "D", "C", "B", "A")
mapping_df<-data.frame(cclass,classcolor,llabel)
table<-data.frame(table(data_k2$value2))
mapping_df<-mapping_df[which(mapping_df$llabel %in% table$Var1),]
data_k3<-data_k2[,-1]
colnames(data_k3)[3]<-"value"
library(ggpointdensity)
library(tidyverse)
library(ggplot2)
library(extrafont)
library(ggpubr)
library(ggpmisc)
library(ggsci)
library(raster)
library(viridis)
library(ggthemes)
library(sf)
library(showtext)
showtext_auto()
font_add("simsun", "C:/Windows/Fonts/simsun.ttc")
font_add("simsunb", "C:/Users/wangh/AppData/Local/Microsoft/Windows/Fonts/simsunb.ttf")
font_add("timesbd", "C:/Windows/Fonts/timesbd.ttf")
font_families()
par(family = "timesbd")
library(Cairo)
Cairo::CairoJPEG(
filename = paste0(out_path_map,'/',f_arr_combi[i],'/',f_arr_combi[i],'_',f_i_arr_time[j],'_',data_arr_name[k],".jpg"),
width = 1980*1.2,
height = 1320*1.1,
family="timesbd")
library(sf)
area<-read_sf("D:/N03_CAAS/N01_shp/ocean/ocean/ocean.shp")
A <- ggplot()+
geom_tile(data = data_k3,
aes(x = x, y = y, fill=factor(value)))+
scale_fill_manual(name=data_arr_name_map[k],
values=rev(mapping_df$classcolor),
labels=rev(mapping_df$cclass))+
theme_test(base_size=80,
base_family="timesbd",
base_line_size=8)+
theme(axis.text.x = element_text(color = "black"),
axis.text.y = element_text(color = "black"),
axis.ticks.length = unit(2,"cm"),
axis.ticks = element_line(color = "black"),
plot.margin = margin(t=1,r=1,b=1,l=1, unit = "cm"))+
theme(plot.title = element_text(hjust = 0.5),
legend.box.margin = margin(t=1,r=1,b=1,l=-0.5,unit = 'cm'),
legend.position="right",
legend.background = element_blank(),
legend.spacing.y = unit(1,'cm'),
legend.spacing.x = unit(1,'cm'),
legend.key.width = unit(2.3, "cm"),
legend.key.height = unit(3.6, "cm"),
legend.text = element_text(margin = margin(t=0,r=0,b=0,l=1.5,'cm'),size = 58),
legend.title = element_text(size = 60))+
theme(axis.title.x = element_blank(),
axis.title.y = element_blank(),
plot.title = element_text(hjust = 0))+
scale_x_continuous(breaks = c(floor(f_j@extent@xmin),
ceiling(mean(c(f_j@extent@xmin,f_j@extent@xmax))),
ceiling(f_j@extent@xmax)),
limits = c(floor(f_j@extent@xmin),ceiling(f_j@extent@xmax)))+
scale_y_continuous(breaks = c(floor(f_j@extent@ymin),
ceiling(mean(c(f_j@extent@ymin,f_j@extent@ymax))),
ceiling(f_j@extent@ymax)),
limits = c(floor(f_j@extent@ymin),ceiling(f_j@extent@ymax)))+
geom_sf(data=area,
fill='white',
linewidth=2)+
annotate("text_npc",
npcx = 0.05,
npcy = 0.95,
size = 42,
hjust=0,
family='timesbd',
label = f_i_arr_group_name[k])
print(A)
dev.off()
}
classcolor <- c("#4541DE",
"#4160F7",
"#3381F5",
"#1E9FE3",
"#0BB6CB",
"#2DC4A3",
"#6BCA6C",
"#B2C33E",
"#E7C32B",
"#ffb242",
"#F19425")
legend_data<-data.frame(
value = c(round(min_value+qujian_value*0,3),
round(min_value+qujian_value*1,3),
round(min_value+qujian_value*2,3),
round(min_value+qujian_value*3,3),
round(min_value+qujian_value*4,3),
round(min_value+qujian_value*5,3),
round(min_value+qujian_value*6,3),
round(min_value+qujian_value*7,3),
round(min_value+qujian_value*8,3),
round(min_value+qujian_value*9,3),
round(min_value+qujian_value*10,3)),
x = 1:11,
y = 1:11,
cclass <- c(paste0('[',sprintf("%.3f",min_value+qujian_value*0),',',sprintf("%.3f",min_value+qujian_value*1),')'),
paste0('[',sprintf("%.3f",min_value+qujian_value*1),',',sprintf("%.3f",min_value+qujian_value*2),')'),
paste0('[',sprintf("%.3f",min_value+qujian_value*2),',',sprintf("%.3f",min_value+qujian_value*3),')'),
paste0('[',sprintf("%.3f",min_value+qujian_value*3),',',sprintf("%.3f",min_value+qujian_value*4),')'),
paste0('[',sprintf("%.3f",min_value+qujian_value*4),',',sprintf("%.3f",min_value+qujian_value*5),')'),
paste0('[',sprintf("%.3f",min_value+qujian_value*5),',',sprintf("%.3f",min_value+qujian_value*6),')'),
paste0('[',sprintf("%.3f",min_value+qujian_value*6),',',sprintf("%.3f",min_value+qujian_value*7),')'),
paste0('[',sprintf("%.3f",min_value+qujian_value*7),',',sprintf("%.3f",min_value+qujian_value*8),')'),
paste0('[',sprintf("%.3f",min_value+qujian_value*8),',',sprintf("%.3f",min_value+qujian_value*9),')'),
paste0('[',sprintf("%.3f",min_value+qujian_value*9),',',sprintf("%.3f",min_value+qujian_value*10),')'),
paste0('[',sprintf("%.3f",min_value+qujian_value*10),',',sprintf("%.3f",min_value+qujian_value*11),')')),
classcolor = classcolor,
llabel = c("K", "J", "I", "H", "G", "F", "E", "D", "C", "B", "A"))
library(Cairo)
Cairo::CairoJPEG(
filename = paste0(out_path_map,'/',f_arr_combi[i],'/',f_arr_combi[i],'_',f_i_arr_time[j],'_',data_arr_name[2],'_','legend',".jpg"),
width = 1980*1.2,
height = 1320*1.1,
family="timesbd")
B <- ggplot()+
geom_tile(data = legend_data,
aes(x = x, y = y, fill=factor(value)))+
scale_fill_manual(name=data_arr_name[2],
values=rev(legend_data$classcolor),
labels=rev(legend_data$cclass))+
theme_test(base_size=80,
base_family="timesbd",
base_line_size=8)+
theme(axis.text.x = element_text(color = "black"),
axis.text.y = element_text(color = "black"),
axis.ticks.length = unit(2,"cm"),
axis.ticks = element_line(color = "black"),
plot.margin = margin(t=1,r=1,b=1,l=1, unit = "cm"))+
theme(plot.title = element_text(hjust = 0.5),
legend.box.margin = margin(t=1,r=1,b=1,l=-0.5,unit = 'cm'),
legend.position="right",
legend.background = element_blank(),
legend.spacing.y = unit(1,'cm'),
legend.spacing.x = unit(1,'cm'),
legend.key.width = unit(2.3, "cm"),
legend.key.height = unit(3.6, "cm"),
legend.text = element_text(margin = margin(t=0,r=0,b=0,l=1.5,'cm'),size = 58),
legend.title = element_text(size = 60))+
scale_x_continuous(breaks = 1:11)+
scale_y_continuous(breaks = 1:11)+
theme(axis.title.x = element_blank(),
axis.title.y = element_blank(),
plot.title = element_text(hjust = 0))
print(B)
dev.off()
} else {
for (k in seq_along(data_arr_name)) {
data_k<-data_arr[[data_arr_name[k]]]
library(tidyverse)
library(dplyr)
data_k2<-data_k %>% mutate(value2=case_when(
value < round(min_value+qujian_value*1) ~ "K",
value >= round(min_value+qujian_value*1) & value < round(min_value+qujian_value*2) ~ "J",
value >= round(min_value+qujian_value*2) & value < round(min_value+qujian_value*3) ~ "I",
value >= round(min_value+qujian_value*3) & value < round(min_value+qujian_value*4) ~ "H",
value >= round(min_value+qujian_value*4) & value < round(min_value+qujian_value*5) ~ "G",
value >= round(min_value+qujian_value*5) & value < round(min_value+qujian_value*6) ~ "F",
value >= round(min_value+qujian_value*6) & value < round(min_value+qujian_value*7) ~ "E",
value >= round(min_value+qujian_value*7) & value < round(min_value+qujian_value*8) ~ "D",
value >= round(min_value+qujian_value*8) & value < round(min_value+qujian_value*9) ~ "C",
value >= round(min_value+qujian_value*9) & value < round(min_value+qujian_value*10) ~ "B",
value >= round(min_value+qujian_value*10) ~ "A"))
cclass <- c(paste0('[',round(min_value+qujian_value*0),',',round(min_value+qujian_value*1),')'),
paste0('[',round(min_value+qujian_value*1),',',round(min_value+qujian_value*2),')'),
paste0('[',round(min_value+qujian_value*2),',',round(min_value+qujian_value*3),')'),
paste0('[',round(min_value+qujian_value*3),',',round(min_value+qujian_value*4),')'),
paste0('[',round(min_value+qujian_value*4),',',round(min_value+qujian_value*5),')'),
paste0('[',round(min_value+qujian_value*5),',',round(min_value+qujian_value*6),')'),
paste0('[',round(min_value+qujian_value*6),',',round(min_value+qujian_value*7),')'),
paste0('[',round(min_value+qujian_value*7),',',round(min_value+qujian_value*8),')'),
paste0('[',round(min_value+qujian_value*8),',',round(min_value+qujian_value*9),')'),
paste0('[',round(min_value+qujian_value*9),',',round(min_value+qujian_value*10),')'),
paste0('[',round(min_value+qujian_value*10),',',round(min_value+qujian_value*11),')'))
Johnson<-MetBrewer::met.brewer("Johnson")
Johnson<-rev(colorspace::lighten(Johnson))
length(Johnson)
Johnson[1]
mycol<-colorRampPalette(Johnson,bias=1)(n=11)
classcolor <- mycol
llabel<-c("K", "J", "I", "H", "G", "F", "E", "D", "C", "B", "A")
mapping_df<-data.frame(cclass,classcolor,llabel)
table<-data.frame(table(data_k2$value2))
mapping_df<-mapping_df[which(mapping_df$llabel %in% table$Var1),]
data_k3<-data_k2[,-1]
colnames(data_k3)[3]<-"value"
library(ggpointdensity)
library(tidyverse)
library(ggplot2)
library(extrafont)
library(ggpubr)
library(ggpmisc)
library(ggsci)
library(raster)
library(viridis)
library(ggthemes)
library(sf)
library(showtext)
showtext_auto()
font_add("simsun", "C:/Windows/Fonts/simsun.ttc")
font_add("simsunb", "C:/Users/wangh/AppData/Local/Microsoft/Windows/Fonts/simsunb.ttf")
font_add("timesbd", "C:/Windows/Fonts/timesbd.ttf")
font_families()
par(family = "timesbd")
library(Cairo)
Cairo::CairoJPEG(
filename = paste0(out_path_map,'/',f_arr_combi[i],'/',f_arr_combi[i],'_',f_i_arr_time[j],'_',data_arr_name[k],".jpg"),
width = 1980*1.2,
height = 1320*1.1,
family="timesbd")
library(sf)
area<-read_sf("D:/N03_CAAS/N01_shp/ocean/ocean/ocean.shp")
A <- ggplot()+
geom_tile(data = data_k3,
aes(x = x, y = y, fill=factor(value)))+
scale_fill_manual(name=data_arr_name_map[k],
values=rev(mapping_df$classcolor),
labels=rev(mapping_df$cclass))+
theme_test(base_size=80,
base_family="timesbd",
base_line_size=8)+
theme(axis.text.x = element_text(color = "black"),
axis.text.y = element_text(color = "black"),
axis.ticks.length = unit(2,"cm"),
axis.ticks = element_line(color = "black"),
plot.margin = margin(t=1,r=1,b=1,l=1, unit = "cm"))+
theme(plot.title = element_text(hjust = 0.5),
legend.box.margin = margin(t=1,r=1,b=1,l=-0.5,unit = 'cm'),
legend.position="right",
legend.background = element_blank(),
legend.spacing.y = unit(1,'cm'),
legend.spacing.x = unit(1,'cm'),
legend.key.width = unit(2.3, "cm"),
legend.key.height = unit(3.6, "cm"),
legend.text = element_text(margin = margin(t=0,r=0,b=0,l=1.5,'cm'),size = 58),
legend.title = element_text(size = 60))+
theme(axis.title.x = element_blank(),
axis.title.y = element_blank(),
plot.title = element_text(hjust = 0))+
scale_x_continuous(breaks = c(floor(f_j@extent@xmin),
ceiling(mean(c(f_j@extent@xmin,f_j@extent@xmax))),
ceiling(f_j@extent@xmax)),
limits = c(floor(f_j@extent@xmin),ceiling(f_j@extent@xmax)))+
scale_y_continuous(breaks = c(floor(f_j@extent@ymin),
ceiling(mean(c(f_j@extent@ymin,f_j@extent@ymax))),
ceiling(f_j@extent@ymax)),
limits = c(floor(f_j@extent@ymin),ceiling(f_j@extent@ymax)))+
geom_sf(data=area,
fill='white',
linewidth=2)+
annotate("text_npc",
npcx = 0.05,
npcy = 0.95,
size = 42,
hjust=0,
family='timesbd',
label = f_i_arr_group_name[k])
print(A)
dev.off()
}
Johnson<-MetBrewer::met.brewer("Johnson")
Johnson<-rev(colorspace::lighten(Johnson))
length(Johnson)
Johnson[1]
mycol<-colorRampPalette(Johnson,bias=1)(n=11)
classcolor <- mycol
legend_data<-data.frame(
value = c(round(min_value+qujian_value*0),
round(min_value+qujian_value*1),
round(min_value+qujian_value*2),
round(min_value+qujian_value*3),
round(min_value+qujian_value*4),
round(min_value+qujian_value*5),
round(min_value+qujian_value*6),
round(min_value+qujian_value*7),
round(min_value+qujian_value*8),
round(min_value+qujian_value*9),
round(min_value+qujian_value*10)),
x = 1:11,
y = 1:11,
cclass <- c(paste0('[',round(min_value+qujian_value*0),',',round(min_value+qujian_value*1),')'),
paste0('[',round(min_value+qujian_value*1),',',round(min_value+qujian_value*2),')'),
paste0('[',round(min_value+qujian_value*2),',',round(min_value+qujian_value*3),')'),
paste0('[',round(min_value+qujian_value*3),',',round(min_value+qujian_value*4),')'),
paste0('[',round(min_value+qujian_value*4),',',round(min_value+qujian_value*5),')'),
paste0('[',round(min_value+qujian_value*5),',',round(min_value+qujian_value*6),')'),
paste0('[',round(min_value+qujian_value*6),',',round(min_value+qujian_value*7),')'),
paste0('[',round(min_value+qujian_value*7),',',round(min_value+qujian_value*8),')'),
paste0('[',round(min_value+qujian_value*8),',',round(min_value+qujian_value*9),')'),
paste0('[',round(min_value+qujian_value*9),',',round(min_value+qujian_value*10),')'),
paste0('[',round(min_value+qujian_value*10),',',round(min_value+qujian_value*11),')')),
classcolor = classcolor,
llabel = c("K", "J", "I", "H", "G", "F", "E", "D", "C", "B", "A"))
library(Cairo)
Cairo::CairoJPEG(
filename = paste0(out_path_map,'/',f_arr_combi[i],'/',f_arr_combi[i],'_',f_i_arr_time[j],'_',data_arr_name[2],'_','legend',".jpg"),
width = 1980*1.2,
height = 1320*1.1,
family="timesbd")
B <- ggplot()+
geom_tile(data = legend_data,
aes(x = x, y = y, fill=factor(value)))+
scale_fill_manual(name=data_arr_name[2],
values=rev(legend_data$classcolor),
labels=rev(legend_data$cclass))+
theme_test(base_size=80,
base_family="timesbd",
base_line_size=8)+
theme(axis.text.x = element_text(color = "black"),
axis.text.y = element_text(color = "black"),
axis.ticks.length = unit(2,"cm"),
axis.ticks = element_line(color = "black"),
plot.margin = margin(t=1,r=1,b=1,l=1, unit = "cm"))+
theme(plot.title = element_text(hjust = 0.5),
legend.box.margin = margin(t=1,r=1,b=1,l=-0.5,unit = 'cm'),
legend.position="right",
legend.background = element_blank(),
legend.spacing.y = unit(1,'cm'),
legend.spacing.x = unit(1,'cm'),
legend.key.width = unit(2.3, "cm"),
legend.key.height = unit(3.6, "cm"),
legend.text = element_text(margin = margin(t=0,r=0,b=0,l=1.5,'cm'),size = 58),
legend.title = element_text(size = 60))+
scale_x_continuous(breaks = 1:11)+
scale_y_continuous(breaks = 1:11)+
theme(axis.title.x = element_blank(),
axis.title.y = element_blank(),
plot.title = element_text(hjust = 0))
print(B)
dev.off()
}
}
}
}
library(parallel)
library(doParallel)
library(foreach)
library(iterators)
detectCores()
cl<-makeCluster(8)
registerDoParallel(cl)
test<-foreach(x=seq_along(f_arr_combi),.combine='c') %dopar% cross_vali_mapping_fun(x)
stopCluster(cl)
stopImplicitCluster()
exc_time<-difftime(Sys.time(),time_start,units='mins')
print(paste0('execution time: ',round(exc_time,2),' mins'))
print('============================Alright')
rm(list=ls())
time_start<-Sys.time()
in_path<-"G:/20240506_Science/N02_Proces/N01_LST_LSE_RETRIEVAL/N02_NIGHT/N02_testing_image_2022a/D1_combi_results_dele"
f_arr<-list.dirs(in_path,full.names = F,recursive = F)
out_path<-"G:/20240506_Science/N02_Proces/N01_LST_LSE_RETRIEVAL/N02_NIGHT/N02_testing_image_2022a/D3_combi_results_tif"
out_path_arr_sub<-c(out_path)
for (i in seq_along(out_path_arr_sub)) {
for (j in seq_along(f_arr)) {
out_path_sub_j<-paste0(out_path_arr_sub[i],'/',f_arr[j])
if(! dir.exists(out_path_sub_j)){
dir.create(out_path_sub_j)
} else {
unlink(out_path_sub_j,recursive = T)
dir.create(out_path_sub_j)
}
}
}
group_arr<-readRDS("G:/20240506_Science/N02_Proces/N01_LST_LSE_RETRIEVAL/N02_NIGHT/N01_all_data_2020_2021a/D1_band_combi_info/simu_group_arr_list.rds")
group_arr_TE_in<-readRDS("G:/20240506_Science/N02_Proces/N01_LST_LSE_RETRIEVAL/N02_NIGHT/N01_all_data_2020_2021a/D1_band_combi_info/group_arr_TE_in_list.rds")
group_arr_TE_out<-readRDS("G:/20240506_Science/N02_Proces/N01_LST_LSE_RETRIEVAL/N02_NIGHT/N01_all_data_2020_2021a/D1_band_combi_info/group_arr_TE_out_list.rds")
library(raster)
AHI_refer_path<-"G:/20240506_Science/N02_Proces/N01_LST_LSE_RETRIEVAL/N02_NIGHT/N01_all_data_2020_2021a/C1_all_land/20200104UTC0810"
AHI_refer_arr<-list.files(pattern = "*.tif$",AHI_refer_path)
AHI_refer_arr<-AHI_refer_arr[grepl("t2m",AHI_refer_arr)]
AHI_refer<-raster(paste0(AHI_refer_path,'/',AHI_refer_arr[1]))
re_results_matrix_to_geotif_function_wh<-function(i){
combi_i<-f_arr[i]
f_i_path<-paste0(in_path,'/',combi_i)
f_i_arr<-list.files(f_i_path,pattern = '*.txt$')
f_i_arr_out<-group_arr_TE_out[[combi_i]]
for (j in seq_along(f_i_arr)){
f_j<-read.table(paste0(f_i_path,'/',f_i_arr[j]),header = T)
for (k in seq_along(f_i_arr_out)) {
ori_name<-f_i_arr_out[k]
re_name<-paste0('re_',ori_name)
f_j_re<-f_j[,re_name]
f_j_re_matrix<-matrix(f_j_re,nrow=AHI_refer@nrows)
library(raster)
f_j_re_raster<-raster(f_j_re_matrix,
xmn=AHI_refer@extent@xmin,
xmx=AHI_refer@extent@xmax,
ymn=AHI_refer@extent@ymin,
ymx=AHI_refer@extent@ymax,
crs=crs(AHI_refer))
writeRaster(f_j_re_raster,
paste0(out_path,'/',combi_i,'/',gsub('_pre_dele.txt','',f_i_arr[j]),'_',re_name,'.tif'),
format = 'GTiff',
overwrite = TRUE)
}
}
}
library(parallel)
library(doParallel)
library(foreach)
library(iterators)
detectCores()
cl<-makeCluster(8)
registerDoParallel(cl)
test<-foreach(j=seq_along(f_arr),.combine='c') %dopar% re_results_matrix_to_geotif_function_wh(j)
stopCluster(cl)
stopImplicitCluster()
exc_time<-difftime(Sys.time(),time_start,units='mins')
print(paste0('execution time: ',round(exc_time,2),' mins'))
print('============================Alright')
rm(list=ls())
time_start<-Sys.time()
in_path<-'G:/20240506_Science/N02_Proces/N01_LST_LSE_RETRIEVAL/N02_NIGHT/N02_testing_image_2022a/D3_combi_results_tif'
in_path_ref<-'G:/20240506_Science/N02_Proces/N01_LST_LSE_RETRIEVAL/N02_NIGHT/N02_testing_image_2022a/C1_all_land'
in_path_clip_ref<-'G:/20240506_Science/N02_Proces/N01_LST_LSE_RETRIEVAL/N02_NIGHT/N02_testing_image_2022a/C1_all_land'
time_selec<-read.table('G:/20240506_Science/N02_Proces/N04_testing_image_time_selec/2022a_testing_image_time_selec_NIGHT_01v_effec.txt',
header = T)
time_selec<-as.character(time_selec[,1])
group_arr<-readRDS("G:/20240506_Science/N02_Proces/N01_LST_LSE_RETRIEVAL/N02_NIGHT/N01_all_data_2020_2021a/D1_band_combi_info/simu_group_arr_list.rds")
group_arr_TE_in<-readRDS("G:/20240506_Science/N02_Proces/N01_LST_LSE_RETRIEVAL/N02_NIGHT/N01_all_data_2020_2021a/D1_band_combi_info/group_arr_TE_in_list.rds")
group_arr_TE_out<-readRDS("G:/20240506_Science/N02_Proces/N01_LST_LSE_RETRIEVAL/N02_NIGHT/N01_all_data_2020_2021a/D1_band_combi_info/group_arr_TE_out_list.rds")
f_arr_combi<-list.dirs(in_path,recursive = FALSE,full.names = FALSE)
f_arr_combi_symbol<-sub("^(C.*?)_.+", "\\1", f_arr_combi)
out_path_map<-'G:/20240506_Science/N02_Proces/N01_LST_LSE_RETRIEVAL/N02_NIGHT/N02_testing_image_2022a/E1_combi_results_mapping'
out_path_arr<-c(out_path_map)
for (i in seq_along(out_path_arr)) {
for (j in seq_along(f_arr_combi)) {
out_path_sub<-paste0(out_path_arr[i],'/',f_arr_combi[j])
if(! dir.exists(out_path_sub)){
dir.create(out_path_sub)
} else {
unlink(out_path_sub,recursive = T)
dir.create(out_path_sub)
}
}
}
cross_vali_mapping_fun<-function (i) {
ori_vari_name<-group_arr_TE_out[[f_arr_combi[i]]]
re_vari_name<-paste0('re_',ori_vari_name)
for (m in seq_along(ori_vari_name)) {
ori_vari_name_m<-ori_vari_name[m]
re_vari_name_m<-re_vari_name[m]
f_i_arr<-list.files(paste0(in_path,'/',f_arr_combi[i]),pattern = paste0('(',re_vari_name_m,')','.*tif$'))
f_i_arr_ref<-list.files(in_path_ref,pattern = paste0('(',ori_vari_name_m,')','.*tif$'),recursive = T)
f_i_arr_clip_ref<-list.files(in_path_clip_ref,pattern = paste0('(',ori_vari_name_m,')','.*tif$'),recursive = T)
f_i_arr_ref_time<-substr(f_i_arr_ref,1,15)
f_i_arr_clip_ref_time<-substr(f_i_arr_clip_ref,1,15)
f_i_arr_ref<-f_i_arr_ref[f_i_arr_ref_time %in% time_selec]
f_i_arr_clip_ref<-f_i_arr_clip_ref[f_i_arr_clip_ref_time %in% time_selec]
f_i_arr_ref_name<-basename(f_i_arr_ref)
f_i_arr_clip_ref_name<-basename(f_i_arr_clip_ref)
f_i_arr_group_name<-c('re_MODIS Night','MODIS Night')
library(stringr)
f_i_arr_time<-str_extract_all(f_i_arr_ref_name, "\\d{8}UTC\\d{4}")
f_i_arr_time<-unlist(f_i_arr_time)
for (j in seq_along(f_i_arr)) {
library(raster)
f_j<-raster(paste0(in_path,'/',f_arr_combi[i],'/',f_i_arr[j]))
f_j_ref<-raster(paste0(in_path_ref,'/',f_i_arr_time[j],'/',f_i_arr_ref_name[j]))
f_j_clip_ref<-raster(paste0(in_path_clip_ref,'/',f_i_arr_time[j],'/',f_i_arr_clip_ref_name[j]))
f_j<-crop(f_j,f_j_clip_ref,snap = "near")
f_j_ref<-crop(f_j_ref,f_j_clip_ref,snap = "near")
f_j[f_j == -999]<-NA
f_j_ref[f_j_ref == -999]<-NA
f_j_df <- as(f_j, "SpatialPixelsDataFrame")
f_j_df <- as.data.frame(f_j_df)
colnames(f_j_df) <- c("value", "x", "y")
f_j_ref_df<-as(f_j_ref, "SpatialPixelsDataFrame")
f_j_ref_df <- as.data.frame(f_j_ref_df)
colnames(f_j_ref_df) <- c("value", "x", "y")
min_value<-min(f_j_ref_df$value,f_j_df$value)
max_value<-max(f_j_ref_df$value,f_j_df$value)
qujian_value<-(max_value-min_value)/11
data_arr<-list()
data_arr$re_x<-f_j_df
data_arr$x<-f_j_ref_df
names(data_arr)<-c(re_vari_name_m,ori_vari_name_m)
data_arr_name<-names(data_arr)
data_arr_name_map<-c(re_vari_name_m,ori_vari_name_m)
if (grepl('LSE',re_vari_name_m)==TRUE) {
for (k in seq_along(data_arr_name)) {
data_k<-data_arr[[data_arr_name[k]]]
library(tidyverse)
library(dplyr)
data_k2<-data_k %>% mutate(value2=case_when(
value < round(min_value+qujian_value*1,3) ~ "K",
value >= round(min_value+qujian_value*1,3) & value < round(min_value+qujian_value*2,3) ~ "J",
value >= round(min_value+qujian_value*2,3) & value < round(min_value+qujian_value*3,3) ~ "I",
value >= round(min_value+qujian_value*3,3) & value < round(min_value+qujian_value*4,3) ~ "H",
value >= round(min_value+qujian_value*4,3) & value < round(min_value+qujian_value*5,3) ~ "G",
value >= round(min_value+qujian_value*5,3) & value < round(min_value+qujian_value*6,3) ~ "F",
value >= round(min_value+qujian_value*6,3) & value < round(min_value+qujian_value*7,3) ~ "E",
value >= round(min_value+qujian_value*7,3) & value < round(min_value+qujian_value*8,3) ~ "D",
value >= round(min_value+qujian_value*8,3) & value < round(min_value+qujian_value*9,3) ~ "C",
value >= round(min_value+qujian_value*9,3) & value < round(min_value+qujian_value*10,3) ~ "B",
value >= round(min_value+qujian_value*10,3) ~ "A"))
cclass <- c(paste0('[',sprintf("%.3f",min_value+qujian_value*0),',',sprintf("%.3f",min_value+qujian_value*1),')'),
paste0('[',sprintf("%.3f",min_value+qujian_value*1),',',sprintf("%.3f",min_value+qujian_value*2),')'),
paste0('[',sprintf("%.3f",min_value+qujian_value*2),',',sprintf("%.3f",min_value+qujian_value*3),')'),
paste0('[',sprintf("%.3f",min_value+qujian_value*3),',',sprintf("%.3f",min_value+qujian_value*4),')'),
paste0('[',sprintf("%.3f",min_value+qujian_value*4),',',sprintf("%.3f",min_value+qujian_value*5),')'),
paste0('[',sprintf("%.3f",min_value+qujian_value*5),',',sprintf("%.3f",min_value+qujian_value*6),')'),
paste0('[',sprintf("%.3f",min_value+qujian_value*6),',',sprintf("%.3f",min_value+qujian_value*7),')'),
paste0('[',sprintf("%.3f",min_value+qujian_value*7),',',sprintf("%.3f",min_value+qujian_value*8),')'),
paste0('[',sprintf("%.3f",min_value+qujian_value*8),',',sprintf("%.3f",min_value+qujian_value*9),')'),
paste0('[',sprintf("%.3f",min_value+qujian_value*9),',',sprintf("%.3f",min_value+qujian_value*10),')'),
paste0('[',sprintf("%.3f",min_value+qujian_value*10),',',sprintf("%.3f",min_value+qujian_value*11),')'))
classcolor <- c("#4541DE",
"#4160F7",
"#3381F5",
"#1E9FE3",
"#0BB6CB",
"#2DC4A3",
"#6BCA6C",
"#B2C33E",
"#E7C32B",
"#ffb242",
"#F19425")
llabel<-c("K", "J", "I", "H", "G", "F", "E", "D", "C", "B", "A")
mapping_df<-data.frame(cclass,classcolor,llabel)
table<-data.frame(table(data_k2$value2))
mapping_df<-mapping_df[which(mapping_df$llabel %in% table$Var1),]
data_k3<-data_k2[,-1]
colnames(data_k3)[3]<-"value"
library(ggpointdensity)
library(tidyverse)
library(ggplot2)
library(extrafont)
library(ggpubr)
library(ggpmisc)
library(ggsci)
library(raster)
library(viridis)
library(ggthemes)
library(sf)
library(showtext)
showtext_auto()
font_add("simsun", "C:/Windows/Fonts/simsun.ttc")
font_add("simsunb", "C:/Users/wangh/AppData/Local/Microsoft/Windows/Fonts/simsunb.ttf")
font_add("timesbd", "C:/Windows/Fonts/timesbd.ttf")
font_families()
par(family = "timesbd")
library(Cairo)
Cairo::CairoJPEG(
filename = paste0(out_path_map,'/',f_arr_combi[i],'/',f_arr_combi[i],'_',f_i_arr_time[j],'_',data_arr_name[k],".jpg"),
width = 1980*1.2,
height = 1320*1.1,
family="timesbd")
library(sf)
area<-read_sf("D:/N03_CAAS/N01_shp/ocean/ocean/ocean.shp")
A <- ggplot()+
geom_tile(data = data_k3,
aes(x = x, y = y, fill=factor(value)))+
scale_fill_manual(name=data_arr_name_map[k],
values=rev(mapping_df$classcolor),
labels=rev(mapping_df$cclass))+
theme_test(base_size=80,
base_family="timesbd",
base_line_size=8)+
theme(axis.text.x = element_text(color = "black"),
axis.text.y = element_text(color = "black"),
axis.ticks.length = unit(2,"cm"),
axis.ticks = element_line(color = "black"),
plot.margin = margin(t=1,r=1,b=1,l=1, unit = "cm"))+
theme(plot.title = element_text(hjust = 0.5),
legend.box.margin = margin(t=1,r=1,b=1,l=-0.5,unit = 'cm'),
legend.position="right",
legend.background = element_blank(),
legend.spacing.y = unit(1,'cm'),
legend.spacing.x = unit(1,'cm'),
legend.key.width = unit(2.3, "cm"),
legend.key.height = unit(3.6, "cm"),
legend.text = element_text(margin = margin(t=0,r=0,b=0,l=1.5,'cm'),size = 58),
legend.title = element_text(size = 60))+
theme(axis.title.x = element_blank(),
axis.title.y = element_blank(),
plot.title = element_text(hjust = 0))+
scale_x_continuous(breaks = c(floor(f_j@extent@xmin),
ceiling(mean(c(f_j@extent@xmin,f_j@extent@xmax))),
ceiling(f_j@extent@xmax)),
limits = c(floor(f_j@extent@xmin),ceiling(f_j@extent@xmax)))+
scale_y_continuous(breaks = c(floor(f_j@extent@ymin),
ceiling(mean(c(f_j@extent@ymin,f_j@extent@ymax))),
ceiling(f_j@extent@ymax)),
limits = c(floor(f_j@extent@ymin),ceiling(f_j@extent@ymax)))+
geom_sf(data=area,
fill='white',
linewidth=2)+
annotate("text_npc",
npcx = 0.05,
npcy = 0.95,
size = 42,
hjust=0,
family='timesbd',
label = f_i_arr_group_name[k])
print(A)
dev.off()
}
classcolor <- c("#4541DE",
"#4160F7",
"#3381F5",
"#1E9FE3",
"#0BB6CB",
"#2DC4A3",
"#6BCA6C",
"#B2C33E",
"#E7C32B",
"#ffb242",
"#F19425")
legend_data<-data.frame(
value = c(round(min_value+qujian_value*0,3),
round(min_value+qujian_value*1,3),
round(min_value+qujian_value*2,3),
round(min_value+qujian_value*3,3),
round(min_value+qujian_value*4,3),
round(min_value+qujian_value*5,3),
round(min_value+qujian_value*6,3),
round(min_value+qujian_value*7,3),
round(min_value+qujian_value*8,3),
round(min_value+qujian_value*9,3),
round(min_value+qujian_value*10,3)),
x = 1:11,
y = 1:11,
cclass <- c(paste0('[',sprintf("%.3f",min_value+qujian_value*0),',',sprintf("%.3f",min_value+qujian_value*1),')'),
paste0('[',sprintf("%.3f",min_value+qujian_value*1),',',sprintf("%.3f",min_value+qujian_value*2),')'),
paste0('[',sprintf("%.3f",min_value+qujian_value*2),',',sprintf("%.3f",min_value+qujian_value*3),')'),
paste0('[',sprintf("%.3f",min_value+qujian_value*3),',',sprintf("%.3f",min_value+qujian_value*4),')'),
paste0('[',sprintf("%.3f",min_value+qujian_value*4),',',sprintf("%.3f",min_value+qujian_value*5),')'),
paste0('[',sprintf("%.3f",min_value+qujian_value*5),',',sprintf("%.3f",min_value+qujian_value*6),')'),
paste0('[',sprintf("%.3f",min_value+qujian_value*6),',',sprintf("%.3f",min_value+qujian_value*7),')'),
paste0('[',sprintf("%.3f",min_value+qujian_value*7),',',sprintf("%.3f",min_value+qujian_value*8),')'),
paste0('[',sprintf("%.3f",min_value+qujian_value*8),',',sprintf("%.3f",min_value+qujian_value*9),')'),
paste0('[',sprintf("%.3f",min_value+qujian_value*9),',',sprintf("%.3f",min_value+qujian_value*10),')'),
paste0('[',sprintf("%.3f",min_value+qujian_value*10),',',sprintf("%.3f",min_value+qujian_value*11),')')),
classcolor = classcolor,
llabel = c("K", "J", "I", "H", "G", "F", "E", "D", "C", "B", "A"))
library(Cairo)
Cairo::CairoJPEG(
filename = paste0(out_path_map,'/',f_arr_combi[i],'/',f_arr_combi[i],'_',f_i_arr_time[j],'_',data_arr_name[2],'_','legend',".jpg"),
width = 1980*1.2,
height = 1320*1.1,
family="timesbd")
B <- ggplot()+
geom_tile(data = legend_data,
aes(x = x, y = y, fill=factor(value)))+
scale_fill_manual(name=data_arr_name[2],
values=rev(legend_data$classcolor),
labels=rev(legend_data$cclass))+
theme_test(base_size=80,
base_family="timesbd",
base_line_size=8)+
theme(axis.text.x = element_text(color = "black"),
axis.text.y = element_text(color = "black"),
axis.ticks.length = unit(2,"cm"),
axis.ticks = element_line(color = "black"),
plot.margin = margin(t=1,r=1,b=1,l=1, unit = "cm"))+
theme(plot.title = element_text(hjust = 0.5),
legend.box.margin = margin(t=1,r=1,b=1,l=-0.5,unit = 'cm'),
legend.position="right",
legend.background = element_blank(),
legend.spacing.y = unit(1,'cm'),
legend.spacing.x = unit(1,'cm'),
legend.key.width = unit(2.3, "cm"),
legend.key.height = unit(3.6, "cm"),
legend.text = element_text(margin = margin(t=0,r=0,b=0,l=1.5,'cm'),size = 58),
legend.title = element_text(size = 60))+
scale_x_continuous(breaks = 1:11)+
scale_y_continuous(breaks = 1:11)+
theme(axis.title.x = element_blank(),
axis.title.y = element_blank(),
plot.title = element_text(hjust = 0))
print(B)
dev.off()
} else {
for (k in seq_along(data_arr_name)) {
data_k<-data_arr[[data_arr_name[k]]]
library(tidyverse)
library(dplyr)
data_k2<-data_k %>% mutate(value2=case_when(
value < round(min_value+qujian_value*1) ~ "K",
value >= round(min_value+qujian_value*1) & value < round(min_value+qujian_value*2) ~ "J",
value >= round(min_value+qujian_value*2) & value < round(min_value+qujian_value*3) ~ "I",
value >= round(min_value+qujian_value*3) & value < round(min_value+qujian_value*4) ~ "H",
value >= round(min_value+qujian_value*4) & value < round(min_value+qujian_value*5) ~ "G",
value >= round(min_value+qujian_value*5) & value < round(min_value+qujian_value*6) ~ "F",
value >= round(min_value+qujian_value*6) & value < round(min_value+qujian_value*7) ~ "E",
value >= round(min_value+qujian_value*7) & value < round(min_value+qujian_value*8) ~ "D",
value >= round(min_value+qujian_value*8) & value < round(min_value+qujian_value*9) ~ "C",
value >= round(min_value+qujian_value*9) & value < round(min_value+qujian_value*10) ~ "B",
value >= round(min_value+qujian_value*10) ~ "A"))
cclass <- c(paste0('[',round(min_value+qujian_value*0),',',round(min_value+qujian_value*1),')'),
paste0('[',round(min_value+qujian_value*1),',',round(min_value+qujian_value*2),')'),
paste0('[',round(min_value+qujian_value*2),',',round(min_value+qujian_value*3),')'),
paste0('[',round(min_value+qujian_value*3),',',round(min_value+qujian_value*4),')'),
paste0('[',round(min_value+qujian_value*4),',',round(min_value+qujian_value*5),')'),
paste0('[',round(min_value+qujian_value*5),',',round(min_value+qujian_value*6),')'),
paste0('[',round(min_value+qujian_value*6),',',round(min_value+qujian_value*7),')'),
paste0('[',round(min_value+qujian_value*7),',',round(min_value+qujian_value*8),')'),
paste0('[',round(min_value+qujian_value*8),',',round(min_value+qujian_value*9),')'),
paste0('[',round(min_value+qujian_value*9),',',round(min_value+qujian_value*10),')'),
paste0('[',round(min_value+qujian_value*10),',',round(min_value+qujian_value*11),')'))
Johnson<-MetBrewer::met.brewer("Johnson")
Johnson<-rev(colorspace::lighten(Johnson))
length(Johnson)
Johnson[1]
mycol<-colorRampPalette(Johnson,bias=1)(n=11)
classcolor <- mycol
llabel<-c("K", "J", "I", "H", "G", "F", "E", "D", "C", "B", "A")
mapping_df<-data.frame(cclass,classcolor,llabel)
table<-data.frame(table(data_k2$value2))
mapping_df<-mapping_df[which(mapping_df$llabel %in% table$Var1),]
data_k3<-data_k2[,-1]
colnames(data_k3)[3]<-"value"
library(ggpointdensity)
library(tidyverse)
library(ggplot2)
library(extrafont)
library(ggpubr)
library(ggpmisc)
library(ggsci)
library(raster)
library(viridis)
library(ggthemes)
library(sf)
library(showtext)
showtext_auto()
font_add("simsun", "C:/Windows/Fonts/simsun.ttc")
font_add("simsunb", "C:/Users/wangh/AppData/Local/Microsoft/Windows/Fonts/simsunb.ttf")
font_add("timesbd", "C:/Windows/Fonts/timesbd.ttf")
font_families()
par(family = "timesbd")
library(Cairo)
Cairo::CairoJPEG(
filename = paste0(out_path_map,'/',f_arr_combi[i],'/',f_arr_combi[i],'_',f_i_arr_time[j],'_',data_arr_name[k],".jpg"),
width = 1980*1.2,
height = 1320*1.1,
family="timesbd")
library(sf)
area<-read_sf("D:/N03_CAAS/N01_shp/ocean/ocean/ocean.shp")
A <- ggplot()+
geom_tile(data = data_k3,
aes(x = x, y = y, fill=factor(value)))+
scale_fill_manual(name=data_arr_name_map[k],
values=rev(mapping_df$classcolor),
labels=rev(mapping_df$cclass))+
theme_test(base_size=80,
base_family="timesbd",
base_line_size=8)+
theme(axis.text.x = element_text(color = "black"),
axis.text.y = element_text(color = "black"),
axis.ticks.length = unit(2,"cm"),
axis.ticks = element_line(color = "black"),
plot.margin = margin(t=1,r=1,b=1,l=1, unit = "cm"))+
theme(plot.title = element_text(hjust = 0.5),
legend.box.margin = margin(t=1,r=1,b=1,l=-0.5,unit = 'cm'),
legend.position="right",
legend.background = element_blank(),
legend.spacing.y = unit(1,'cm'),
legend.spacing.x = unit(1,'cm'),
legend.key.width = unit(2.3, "cm"),
legend.key.height = unit(3.6, "cm"),
legend.text = element_text(margin = margin(t=0,r=0,b=0,l=1.5,'cm'),size = 58),
legend.title = element_text(size = 60))+
theme(axis.title.x = element_blank(),
axis.title.y = element_blank(),
plot.title = element_text(hjust = 0))+
scale_x_continuous(breaks = c(floor(f_j@extent@xmin),
ceiling(mean(c(f_j@extent@xmin,f_j@extent@xmax))),
ceiling(f_j@extent@xmax)),
limits = c(floor(f_j@extent@xmin),ceiling(f_j@extent@xmax)))+
scale_y_continuous(breaks = c(floor(f_j@extent@ymin),
ceiling(mean(c(f_j@extent@ymin,f_j@extent@ymax))),
ceiling(f_j@extent@ymax)),
limits = c(floor(f_j@extent@ymin),ceiling(f_j@extent@ymax)))+
geom_sf(data=area,
fill='white',
linewidth=2)+
annotate("text_npc",
npcx = 0.05,
npcy = 0.95,
size = 42,
hjust=0,
family='timesbd',
label = f_i_arr_group_name[k])
print(A)
dev.off()
}
Johnson<-MetBrewer::met.brewer("Johnson")
Johnson<-rev(colorspace::lighten(Johnson))
length(Johnson)
Johnson[1]
mycol<-colorRampPalette(Johnson,bias=1)(n=11)
classcolor <- mycol
legend_data<-data.frame(
value = c(round(min_value+qujian_value*0),
round(min_value+qujian_value*1),
round(min_value+qujian_value*2),
round(min_value+qujian_value*3),
round(min_value+qujian_value*4),
round(min_value+qujian_value*5),
round(min_value+qujian_value*6),
round(min_value+qujian_value*7),
round(min_value+qujian_value*8),
round(min_value+qujian_value*9),
round(min_value+qujian_value*10)),
x = 1:11,
y = 1:11,
cclass <- c(paste0('[',round(min_value+qujian_value*0),',',round(min_value+qujian_value*1),')'),
paste0('[',round(min_value+qujian_value*1),',',round(min_value+qujian_value*2),')'),
paste0('[',round(min_value+qujian_value*2),',',round(min_value+qujian_value*3),')'),
paste0('[',round(min_value+qujian_value*3),',',round(min_value+qujian_value*4),')'),
paste0('[',round(min_value+qujian_value*4),',',round(min_value+qujian_value*5),')'),
paste0('[',round(min_value+qujian_value*5),',',round(min_value+qujian_value*6),')'),
paste0('[',round(min_value+qujian_value*6),',',round(min_value+qujian_value*7),')'),
paste0('[',round(min_value+qujian_value*7),',',round(min_value+qujian_value*8),')'),
paste0('[',round(min_value+qujian_value*8),',',round(min_value+qujian_value*9),')'),
paste0('[',round(min_value+qujian_value*9),',',round(min_value+qujian_value*10),')'),
paste0('[',round(min_value+qujian_value*10),',',round(min_value+qujian_value*11),')')),
classcolor = classcolor,
llabel = c("K", "J", "I", "H", "G", "F", "E", "D", "C", "B", "A"))
library(Cairo)
Cairo::CairoJPEG(
filename = paste0(out_path_map,'/',f_arr_combi[i],'/',f_arr_combi[i],'_',f_i_arr_time[j],'_',data_arr_name[2],'_','legend',".jpg"),
width = 1980*1.2,
height = 1320*1.1,
family="timesbd")
B <- ggplot()+
geom_tile(data = legend_data,
aes(x = x, y = y, fill=factor(value)))+
scale_fill_manual(name=data_arr_name[2],
values=rev(legend_data$classcolor),
labels=rev(legend_data$cclass))+
theme_test(base_size=80,
base_family="timesbd",
base_line_size=8)+
theme(axis.text.x = element_text(color = "black"),
axis.text.y = element_text(color = "black"),
axis.ticks.length = unit(2,"cm"),
axis.ticks = element_line(color = "black"),
plot.margin = margin(t=1,r=1,b=1,l=1, unit = "cm"))+
theme(plot.title = element_text(hjust = 0.5),
legend.box.margin = margin(t=1,r=1,b=1,l=-0.5,unit = 'cm'),
legend.position="right",
legend.background = element_blank(),
legend.spacing.y = unit(1,'cm'),
legend.spacing.x = unit(1,'cm'),
legend.key.width = unit(2.3, "cm"),
legend.key.height = unit(3.6, "cm"),
legend.text = element_text(margin = margin(t=0,r=0,b=0,l=1.5,'cm'),size = 58),
legend.title = element_text(size = 60))+
scale_x_continuous(breaks = 1:11)+
scale_y_continuous(breaks = 1:11)+
theme(axis.title.x = element_blank(),
axis.title.y = element_blank(),
plot.title = element_text(hjust = 0))
print(B)
dev.off()
}
}
}
}
library(parallel)
library(doParallel)
library(foreach)
library(iterators)
detectCores()
cl<-makeCluster(8)
registerDoParallel(cl)
test<-foreach(x=seq_along(f_arr_combi),.combine='c') %dopar% cross_vali_mapping_fun(x)
stopCluster(cl)
stopImplicitCluster()
exc_time<-difftime(Sys.time(),time_start,units='mins')
print(paste0('execution time: ',round(exc_time,2),' mins'))
print('============================Alright')