[R-sig-Geo] Equal-area projection

Ahmed El-Gabbas elgabass at gmail.com
Wed Jan 21 17:17:20 CET 2015


Hello all,

I am quiet confused about what is the best projection type and CRS
parameters I should use that is suitable for my study area. In my work, I
am working at two scales, one at Egypt scale (roughly: Latitude +22°:+32°
and longitude +24°:+37°) and the other is somehow regional (including the
whole Africa, Europe and Western Asia - Latitude -35°:+90° and longitude
-20°:+89°).

At Egypt scale, I used to work with WGS84 projection type (latitude and
longitude are in the form of decimal degrees), as Egypt does not represent
that huge latitudinal gradient; and so the differences in cell areas does
not have much distorsion across latitudinal gradient. Now I am interesting
to work at both scales in a comparable way, using a projection that
maintain an equal representation of cell areas across high latitude
gradient [coordinates stated above].

I've read about some types of equal-area projections and not sure which one
is best one describing my study area. Possible projections I found include:
Lambert azimuthal equal-area projection -- Lambert cylindrical equal-area
projection -- Albers projection -- Mollweide projection -- and others.

I need help in answering:
- which one of these projection types is the most representative of my
study area (at both scales)?
- Also, it is not clear for me how to best determine the right parameters
passed to the CRS line in R; including values of +lat_0, +lon_0, +x_0,
+y_0, etc.
- Is there any function in R that enables me to change the projection type
to an equal-area projection and, at the same step, determine the dimensions
of the new pixels? I need, for example to project the resulted raster into
an equal-area projection with a pixel size of 5Km*5Km. I've tried the
"projectRaster" function of raster package and it seems, as far as I
noticed, there is no argument to determine what is the dimensions of
projected map.

Here is some code for pointing out the study area and for possible
reproducibility in further replies:
    require(raster)
    # Extent for both study scales
    EgyptExtent <- extent(24,37,22,32)
    RegionalExtent <- extent(-20,89,-35,90)

    # Download a world raster map for mean temperature for January
    TMean_Jan = getData('worldclim', var='tmean', res=2.5)[[1]]
    projection(TMean_Jan) <- "+proj=longlat +datum=WGS84 +ellps=WGS84
+towgs84=0,0,0" # WGS84 projection

    #Plotting the global map and showing the study area
    plot(TMean_Jan, axes=F, legend=F, box=F)
    plot(RegionalExtent, add=T, col="blue")
    plot(EgyptExtent, add=T, col="red")

    TMean_Jan_Egy <- crop(TMean_Jan, EgyptExtent)
    TMean_Jan_Regional <- crop(TMean_Jan, RegionalExtent)
    plot(TMean_Jan_Regional, axes=F, legend=F, box=F); plot(TMean_Jan_Egy,
add=T) # All are find on WGS84 projection


Thanks in advance,
Ahmed

	[[alternative HTML version deleted]]



More information about the R-sig-Geo mailing list