40 lines
964 B
R
Executable File
40 lines
964 B
R
Executable File
# Function to unzip input files and rename them in R
|
|
# Files which are not zipped will be just renamed
|
|
#
|
|
# Author: Matthias Hinz
|
|
###############################################################################
|
|
|
|
unzipRename = function(file, name, ext){
|
|
t=unzip(file)
|
|
baseFileName = paste(name,ext,sep=".")
|
|
|
|
if(length(t)==0){
|
|
file.rename(file, baseFileName)
|
|
return(baseFileName)
|
|
}
|
|
|
|
for(i in t){
|
|
suffix = gsub("./","",i)
|
|
suffix = unlist(strsplit(i,"\\."))
|
|
if(length(suffix)>1){
|
|
suffix = suffix[length(suffix)]
|
|
suffix = paste(".",suffix,sep="")
|
|
}else suffix = ""
|
|
newName = paste(name,suffix,sep="")
|
|
file.rename(i, newName)
|
|
}
|
|
|
|
return(baseFileName)
|
|
}
|
|
|
|
zipShp = function(file){
|
|
base = unlist(strsplit(file,"\\."))[1]
|
|
shx = paste(base,"shx", sep=".")
|
|
dbf = paste(base,"dbf", sep=".")
|
|
prj = paste(base,"prj", sep=".")
|
|
zip = paste(base,"zip", sep=".")
|
|
zip(zip, c(file,shx,dbf,prj))
|
|
if(zip %in% dir())
|
|
return(zip)
|
|
else return(NULL)
|
|
} |