Here's a solution in R based on the OP's comments:
#Load the three packages below
library(sp)
library(raster)
library(rgdal)
##Load Raster
r <- raster("path to raster")
fun <- function(x) { x * 10 } #function you want to use here, am multiplying all cells by 10
rc <- calc(r, fun) #Performs a raster calculation
##WriteRaster to a .tif
writeRaster(rc, "C:\\...\\newrast.tif", format="GTiff")
Note, you could write a loop, if you have multiple rasters to start with, or alternately explore the stack function in the raster package to stack them and run the calc function on that stack, and then write it out.
Example:
rast <- stack(r1,r2,r3,r4) #Note they have to be of the same extent and resolution
fun <- function(x){ x * 10}
rc_stack <- calc(rast, fun)
##Writing it out, by keeping old names
newname<-paste("C:\\Users\\",names(rast)) #Saves the previous names
writeRaster(rc_stack, newname, bylayer=T, format="GTiff")
Best Answer
You need to use the Merge tool from
Processing toolbox -> GDAL/OGR -> Miscellaneous -> Merge
because it gives you the option to specify the pixel type ofFloat32
.The
Merge
tool accessed fromRaster -> Miscellaneous -> Merge
does not have show pixel type option or it is hidden and you may need to specify it explicitly using the creation option, but I didn't try it.