CRS for calculating areas in Mexico

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`. Commented Mar 31, 2017 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? Commented Mar 31, 2017 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

Gerardo

• I upgraded to 2.14.13, but I can't find `EPSG:6263` or `EPSG:6272`. I'll try doing a custom projection. Commented Mar 31, 2017 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.... Commented Mar 31, 2017 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. Commented Mar 31, 2017 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). Commented Mar 31, 2017 at 19:18
• 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. Commented Mar 31, 2017 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.

• Does this use meters or decimal degrees for units? I get exactly the same areas when I use `EPSG:2163` or WGS 84. Commented Mar 30, 2017 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? Commented Mar 30, 2017 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. Commented Mar 31, 2017 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? Commented Mar 31, 2017 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. Commented Mar 31, 2017 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.

I would also recommend PolyGeo's option.

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

• What is PolyGeo's option? Using ellipsoid also seems to output area in decimal degrees. Commented Mar 31, 2017 at 19:04
• 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. Commented Apr 1, 2017 at 9:18