[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