I'm fitting a SDM using R. A requirement is that all environmental predictor layers have the same extent, origin and resolution.

I have high resolution bathymetry data (25m) that I will resample to 100m (precision of occurrence records). However, some environmental predictors pulled from a hydrodynamic model are at a much lower resolution (~7km) e.g. temperature / salinity.

I am aware of the introduction of error in resampling from low -> high resolutions. However, resampling the from 25m -> 7km is not suitable for my requirements.

Is it permissible, using QGIS, to define the resolution of the low resolution layers by saving the resolution to that of the higher res layers? Please note I am not resampling - just changing the number of columns & rows in the saved tiff so that R sees the layer as having an equal resolution to the other layers.

  • Welcome to GIS SE! Some of our protocols take a little getting used to and you may have noticed that I removed your signature. This is because every Question, Answer and Comment you post here is already signed by your user card. – PolyGeo Jun 10 '14 at 7:57

As soon as you change the spatial resolution of a raster, you are resampling. If you want to keep exactly the same values as in the input data, you can use the "nearest neighbour" method.

  • Unless you're dealing with categorical data though I would avoid nearest neighbor resampling. – pvdev Jun 10 '14 at 10:06
  • I agree. but the OP seems to have good reasons for not using another interpolation method. – radouxju Jun 10 '14 at 10:11
  • Thanks for replies so far. If changing the spatial resolution is resampling. Then which resampling method is used when simply defining a higher resolution for the tiff file while saving_as in a GIS? This resampling has zero processing time - or at least the same as saving to the native resolution? – DaveS Jun 10 '14 at 11:53
  • Cubic resampling will most likely produce the best results for continuous data types. – pvdev Jun 10 '14 at 13:32
  • 2
    there is a processing because each new pixel receives a value based on the larger pixel. This will be a nearest neighbour if yu do this. – radouxju Jun 11 '14 at 5:59

I found a more suitable solution: using the disaggregate function in R (raster package), achieve a resolution close to that you wish to resample to. Then use the resample function (nearest neighbour) to get the exact resolution.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.