Using Cylindrical Equal Area Projection in Map Visualization: A Step-by-Step Guide

Understanding Cylindrical Equal Area Projection in Map Visualization

Cylindrical equal area projection is a type of map projection that aims to preserve the shape and size of features on the Earth’s surface. However, due to the limitations of this projection, it can distort shapes and sizes of certain features, particularly near the poles.

In this article, we will explore how to add axes to a map with cylindrical equal area projection and address the issue of distorted polygon lines around west Asia and eastern Europe.

What is Cylindrical Equal Area Projection?

Cylindrical equal area projection is a type of map projection that uses a cylinder as a reference surface. The cylinder is placed over the Earth, and points on the cylinder’s surface are used to represent points on the Earth’s surface. This projection preserves angles and shapes well, but it distorts sizes and shapes near the poles due to the finite size of the cylinder.

Issues with Polygon Lines in Cylindrical Equal Area Projection

Polygon lines can become distorted when using cylindrical equal area projection. In particular, around west Asia and eastern Europe, the polygon lines can appear stretched out or distorted.

Understanding Axis Labels and Coordinates

To create axes that label coordinates at 30° latitude and 60° longitude, we need to understand how axis labels work in map visualization.

Axis Labels and Coordinate System

In a coordinate system, x-axis represents longitude (east-west direction), while y-axis represents latitude (north-south direction). The values on the axis represent distances from a reference point, usually the center of the map.

For cylindrical equal area projection, we need to specify the scale of the axis labels. In this case, we are looking for 30° latitude and 60° longitude. These values will be used as reference points for our axis labels.

Setting Up the Map

To create a world map with cylindrical equal area projection, we use the mapproj library in R. We need to specify several parameters:

  • database: specifies the source of the data (in this case, “world2”)
  • regions: specifies which regions to include in the map
  • exact: sets whether to display exact coordinates or not
  • boundary: sets whether to display boundaries or not
  • interior: sets whether to display interior polygons or not
  • lty: sets the line type for boundaries and interior polygons
  • projection: specifies the map projection (in this case, “cylequalarea”)
  • parameters: sets various parameters for the map, such as fill color, border width, etc.

Adding Axis Labels

To add axis labels that represent 30° latitude and 60° longitude, we use the axis function in R. We specify:

  • at: specifies the values on the axis
  • labels: specifies the text for each value on the axis
  • lwd.ticks: sets the line width for tick marks
  • pos: specifies the position of the axis

We also need to set the coordinate system so that our axis labels match the specified coordinates. For this, we use the las argument.

Customizing Axis Labels and Coordinate System

To customize axis labels and coordinate system, we can use various arguments in the axis function. For example:

  • cex.axis: sets the font size for axis labels
  • lwd: sets the line width for the axis itself
  • tck: sets the tick mark spacing

By adjusting these parameters, we can fine-tune our axis labels and coordinate system to match our specific requirements.

Conclusion

Cylindrical equal area projection is a useful map projection that preserves angles and shapes well. However, it can distort sizes and shapes near the poles. By understanding how to set up the map and add axis labels, we can create effective visualizations with cylindrical equal area projection.

Code Snippet: Cylindrical Equal Area Map

Here’s an example code snippet in R that demonstrates how to create a world map with cylindrical equal area projection:

CylEqAreaMAP <- function(){
  library(mapproj)
  library(maps)
  
  # World Map, cylindrical equal area projection
  map(database = "world2", 
      regions = ".", 
      exact = FALSE, 
      boundary = FALSE,
      interior = FALSE,
      lty = 0,
      projection='cylequalarea', parameters = 0,
      fill = TRUE, 
      col = '#f2f2f2', 
      plot = TRUE, 
      add = FALSE, 
      namesonly = FALSE,
      xlim = c(0,360), ylim = c(-90,90), 
      wrap = TRUE, 
      resolution = 1,
      type = "l", bg = par("bg"), 
      myborder = 0.01, namefield="name")
  
  # Desired axis
  ## long
  axis(1,
       at=c(-2.05,-1,0,1,2.05),
       labels = c(parse(text = '60^o*E'),parse(text = '120^o*E'),parse(text = '180^o'),parse(text = '120^o*W'),parse(text =  '60^o*W')),
       lwd.ticks = 1,
       lwd = 0,
       pos = -1.1,
       tck =0.01,
       cex.axis = 0.75
  )
  
  ## lat
  axis(2,
       at=c(-0.67,-0.33,0,0.33,0.67),
       labels = c(parse(text = '60^o*S'),parse(text = '30^o*S'),parse(text = '0^o'),parse(text = '30^o*N'),parse(text = '60^o*N')),
       las=1,
       lwd =0,
       lwd.ticks = 1,
       tck =0.01,
       cex.axis = 0.75
  )
  
  # title
  title("Site Locations")
}

CylEqAreaMAP()

Final Notes

By understanding how to set up the map and add axis labels, we can create effective visualizations with cylindrical equal area projection. The key is to specify the correct parameters for the map and adjust the axis labels as needed.

Remember that cylindrical equal area projection distorts sizes and shapes near the poles, so be mindful of this when creating your maps.


Last modified on 2024-10-14