2

I'm having issues when projecting habitat suitability rasters (WGS84) to a projected coordinate system (Africa Albers Equal Area Conic). The reason I reproject the rasters is so that I can calculate the area of suitable habitat which is intended to be used for conservation-related purposes.

Considering that I have about 900 individual rasters that need to be reprojected for area calculation purposes I decided to automate the process in R. However, I realised that there is a difference in 'cell size' values for the same rasters between R and ArcMap 10.7.

For example, when I use 'Raster A' (cell size: X: 0.00833333376786619; Y:0.00833333376786619) and project it to Africa Albers Equal Area Conic the cell sizes are different between R and ArcMap and therefore also the area of suitable habitat...

After reprojecting in ArcMap the cell size of the rasters are X: 879.789038737608 Y: 879.789038737608
But in R the 'cell size' is different: X: 853 Y: 902

The resampling method used was bilinear when reprojecting the raster.

This turned out to be a massive headache to me because I do not know which area calculated is the correct one as both R and ArcMap provide area estimates vastly different from one another. Area calculated from R = 18000km2 and in ArcMap 14000km2.

3
  • 1
    Pixel sizes in degrees don't equate to any one cell size (it varies by latitude). Pixel size and even pixel alignment can make a difference in values calculated in raster space (especially when one pixel is ~.77km2). Furthermore, bilinear interpolation can affect the outcome. I suggest you try to force both packages to use 293m square pixels with the same alignment, then compare results again (note that this will be ~10x larger in file size). – Vince Jul 27 '20 at 13:44
  • Could you please provide the parameters you used for both the projections? Also what is the size of your area of interest? – Aaron Jul 27 '20 at 13:59
  • 1
    You could do one of two things that follow "good practices" 1) create a mask raster that represents your study areas extent, coordinate origin and raster dimensions (cell size, nrow, ncol) and use it for all projection reference and masking or 2) functionally do the same thing but without a mask raster. Letting the software decide on defaults will create issues with extent and alignment. It is an imperative that you establish an analysis environment. – Jeffrey Evans Jul 27 '20 at 14:03
5

One of the main difference you see between the two is that R is willing to go for non-square pixels, while Arc enforces exactly square pixels by default.

In your input dataset, your pixels appear to be square, but in fact, in a projected coordinate system, the geographical coordinates are not a square (except at equator). As such, your pixels should not be the same size in X and Y.

However, that does not necessarily mean that R did it best. Without the data, we don't have the full information required to evaluate the problem.

Another approach would be to set the target resolution in the reprojection in R. That way, you could enforce square pixels and thus replicate the ArcGIS results.

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.