14

I would like to check if using different equal-area projections lead to near-identical area estimation for a list of countries.

Importing modules:

import numpy as np
import geopandas as gpd
import matplotlib.pyplot as plt

Retrieving country data:

world = gpd.read_file(gpd.datasets.get_path('naturalearth_lowres'))

Calculating area using two equal area projections:

world = world.assign(area6933=world.to_crs(epsg=6933).geometry.area)
world = world.assign(area3395=world.to_crs(epsg=3395).geometry.area)

Code for result visualization:

plt.scatter(world.area6933,world.area3395)
plt.plot(np.arange(0,10**13,10**9),np.arange(0,10**13,10**9),c='r')
plt.xlabel('Area with epsg=6933')
plt.ylabel('Area with epsg=3395')
plt.xlim(0,10**13)
plt.ylim(0,10**13)

Result:

enter image description here

If the two method for calculating the area gave similar results, all the dots would be on the red line.

Why do the two equal-area projections not give near-identical result?

4
  • 7
    EPSG 3395 is world mercator, this is not an equal area projection so you are not comparing two equal area projection...
    – J.R
    Sep 20 at 15:08
  • 3
    You may choose two equal area projection from this list en.wikipedia.org/wiki/List_of_map_projections and try to compare result again...
    – J.R
    Sep 20 at 15:12
  • @J.R., thank you fro your comments! My understanding is that this änswer mentions 3395 as an equal area projection. Is my understanding wrong then, or the answer is wrong maybe? (Probably the former is the case.)
    – zabop
    Sep 20 at 16:05
  • I am not a specialist in projection but mercator projections are not equal area. Maybe 3395 is a special case that is equal area...
    – J.R
    Sep 20 at 17:21
13
+50

What went wrong: EPSG:3395 is not equal area

The CRS you use, EPSG:3395, is definitely not an equal area projection. It is a World Mercator projection that heavily distorts areas, see here, including a map that visually shows the distortion with Tissot's indicatrix:

The primary disadvantage of the Mercator is that it makes areas close to the poles like Greenland look much larger than they really are. https://michaelminn.net/tutorials/gis-projections/index.html

You can also very easy test it yourself empirically (see below how to find equal area projections in QGIS):

  1. In QGIS, type world to the coordiantes filed at the bottom of the window to load the pre-installed world map.

  2. Set project CRS to EPSG:3395 (at the bottom right of your QGIS window).

  3. Now compare the size of Greenland to that of Africa: roughly similar, see screenshot 1 at the bottom. In reality, however, Greenland is ca. 14 times (!) smaller than Africa. So from your bare eye, simply watching this map, you can tell that EPSG:3395 is definitely not equal area.

  4. Repeat step 2 with an equar area projection like EPSG:6933 (screenshot 2) and you'll see: Greenland is indeed much smaller than Africa.

How to find equal area projections in QGIS

On the bottom right of your QGIS window, click again on the icon to select a CRS. In the dialog window, there's a Filter field. Type equal area to this field and you get a list of supported CRS that are equal area.

If you click on any of the CRS, the map at the bottom of the dialog window shows you for which part of the world this CRS is valid. EPSG:53034 for example (see screenshot 3) is equal area and valid worldwide.

Links:

See also here for different equal area projections: https://gisgeography.com/equal-area-projection-maps/

Wikipedia's List of equal-area projections: https://en.wikipedia.org/wiki/Equal-area_map#List_of_equal-area_projections

ArcGIS Pro: List of supported map projections (you can use this information in QGIS as well): https://pro.arcgis.com/en/pro-app/latest/help/mapping/properties/list-of-supported-map-projections.htm

and

https://www.esri.com/arcgis-blog/products/arcgis-online/mapping/here-are-some-equal-area-projected-maps-for-arcgis-online-and-how-to-make-them/

Screenshots

Screenshot 1: World map projected to EPSG:3395 - Greenland has roughly the size of Africa: enter image description here

Screenshot 2: World map projected to EPSG:6933: Africa is much larger than Greenland: enter image description here

Screenshot 3: Selecting equal area CRS in QGIS: enter image description here

8

In addition to the fact that EPSG:3395 is not an equal area projection (therefore inaccurate for area measures), as mentioned by @Babel, a precise measure of the area requires a good projection. Indeed, the projection will only project the vertices of your polygons. Thus if you have long segments in the boundaries of your country, they will remain as long segments after the projection (even if they should be curved). The workaround is to densify your lines before projection.

4
  • Indeed - good point: see here for such a case: gis.stackexchange.com/a/392248/88814
    – Babel
    Sep 28 at 10:33
  • Thank you for your answer. If I densify the polygons sufficiently, and then use two equal area projections, the areas calculated will be exactly the same, is this correct?
    – zabop
    Sep 28 at 11:01
  • 3
    in theory yes, but you could have very minor differences in practice.
    – radouxju
    Sep 28 at 11:21
  • 2
    Apart from what @radouxju sayed about the way QGIS connects the vertices, also consider that every reprojection (transformation) is a potential source for (rounding and other) errors - so the accuracy of the transformation is indicated in the transformation dialog, see: i.stack.imgur.com/QKQeV.png - the larger the area, the smaller the influence of this.
    – Babel
    Sep 29 at 6:52

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.