I'm using QGIS 2.0.1. I want to compute areas (in km^2) of all municipalities in Mexico. I understand that I need to convert my map from WGS84 to UTM to get units in km, but I'm not sure how to account for the fact that Mexico spans six UTM zones (from 11N to 16N), or which CRS I should pick from the hundreds available.

Which CRS should I use for this task?

  • Here's how I compute areas: first, set CRS layer to WGS84; then, use save as to create a new layer with the desired CRS. Do NOT use set layer CRS. Then use the field calculator (attribute table, ctrl-i) with $area. – Macaulay Mar 31 '17 at 23:10
  • Gerardo suggests using the lambert conformal conic. afalciano recommends lambert azimuthal equal-area. Projection Wizard says to use albers equal-area conic. How should I choose between these? – Macaulay Mar 31 '17 at 23:13

If you want the area of all municipalities of the whole country you can not use UTM. This is because Mexico is located from UTM zones 11 to 16. If you want to calculate areas in km2 you must use INEGI's lambert conformal conic projection. In QGis 2.14 you can find that EPSG 6362 (ITRF92) and 6372 (ITRF2008)have the specific parameters for this projection which are:

+proj=lcc +lat_1=17.5 +lat_2=29.5 +lat_0=12 +lon_0=-102 +x_0=2500000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs

As you can see this parameters define the coordinates measuring units in meters. If you want to have the same parameters in another datum you must create a custom CRS (settings/custom CRS). For instance:

INEGI Lambert Conformal Conic, WGS84 datum:

+proj=lcc +lat_1=17.5 +lat_2=29.5 +lat_0=12 +lon_0=-102 +x_0=2500000 +y_0=0 +ellps=WGS84 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs

INEGI lambert Conformal Conic, NAD27 datum:

+proj=lcc +lat_1=17.5 +lat_2=29.5 +lat_0=12 +lon_0=-102 +x_0=2500000 +y_0=0 +ellps=clrk66 +towgs84=-12,130,190,0,0,0,0 +units=m +no_defs

Hope it helps


| improve this answer | |
  • I upgraded to 2.14.13, but I can't find EPSG:6263 or EPSG:6272. I'll try doing a custom projection. – Macaulay Mar 31 '17 at 3:59
  • I have 2.14.12 and I have both CRS that I mention. My 2.14.12 is a stand allone install on win 64. I also have 2.18.5 Osgeo4w install. I can find the crs not only by the numbre, if I type Mexico in the filter I can see all the CRS that are have a Mexico on the name (even New Mexico). Correct codes are 6362 and 6372 not 6263 or 6272.... – Gerardo Jimenez Mar 31 '17 at 14:11
  • Sorry, I typed the wrong codes. But on both 2.14.13 and 2.18.5, 6362 and 6372 aren't showing up. I'm on Linux Mint 17.3. – Macaulay Mar 31 '17 at 17:55
  • I created a custom CRS with parameters +proj=lcc +lat_1=17.5 +lat_2=29.5 +lat_0=12 +lon_0=-102 +x_0=2500000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs, but I still get exactly the same result as using any other CRS (see comments on @afalciano's answer). – Macaulay Mar 31 '17 at 19:18
  • 1
    Are you reprojecting using selecting the layer and choosing save as? I have a layer from Inegi's SINCE in 6362 and the area for Aguascalientes municipality is calculated as 1,116.359 km2. What I did to get the result in square meters is ($area)/1000000, since the CRS measuring units is in meters. – Gerardo Jimenez Mar 31 '17 at 19:28

I'd avoid using the UTM projection in order to compare areas across six different zones because of the different areal distortions. Instead the Lambert azimuthal equal-area projection (LAEA) is the best option, because it preserves area. For instance, you can use the "US National Atlas Equal Area" (EPSG:2163) or you can define a custom one for Mexico simply changing the coordinates of the natural origin used in the CRS.

| improve this answer | |
  • Does this use meters or decimal degrees for units? I get exactly the same areas when I use EPSG:2163 or WGS 84. – Macaulay Mar 30 '17 at 18:12
  • I have data on areas (in km2) for a subset of municipalities, which I can use to check my results. For example, the area of muni 1002 is 547.22km2. When I calculate this in QGIS, I get 0.048057 (using EPSG:2163 or WGS84). So I think QGIS is giving me areas in decimal degrees, because the conversion factor is 106.71^2 (=547.22/0.048057). But this conversion factor varies across municipalities. How do I get QGIS to output the area in km2? – Macaulay Mar 30 '17 at 21:51
  • My Project Properties | General | Measurements settings are: Ellipsoid: None/ Planimetric; Distance: meters; Area: square km. But I still get the same as before. – Macaulay Mar 31 '17 at 4:16
  • Add your layer in QGIS, save it as new one setting EPSG:2163 as CRS, add the new layer to the map and finally do your area calculation dividing the area by 1.000.000 to express it in Kmq, because the unit of measure of EPSG:2163 is meter. Note: the above settings are relative only to measurement, not calculations. Useful link: How to calculate polygon area in QGIS? – Antonio Falciano Mar 31 '17 at 7:59
  • I'm still getting areas in decimal degrees. I've set the layer CRS to EPSG:2163 (as well as saving as a new layer with that CRS). When I use Vector | Geometry tools | Export/Add geometry columns, I get area(muni 1002) = 0.048057, but I know that its area in km2 is 547.22. When I use the field calculator and the $area operator I get the same result. – Macaulay Mar 31 '17 at 18:58

For small areas, as you already said, the best would be choosing the projection of the related UTM zone.

If you are dealing with the whole Country, instead, I think that the best would be choosing the UTM zone for the capital city. For this specific case, I would use the UTM zone 14 North (EPSG:32614), which seems to be the one for which Mexico City falls within.

| improve this answer | |

I would also recommend PolyGeo's option.

OR: You can calculate areas from ellipsoidal coordinates -> Geometry Tools -> Export/add geometry columns -> Calculate using: Ellipsoid

| improve this answer | |
  • What is PolyGeo's option? Using ellipsoid also seems to output area in decimal degrees. – Macaulay Mar 31 '17 at 19:04
  • 1
    The "US National Atlas Equal Area" projection. I tried that I've written, it worked for me, I got square meters. I use 2.14.10-Essen version. Maybe you should try that. – pnz Apr 1 '17 at 9:18

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.