3

I am trying to use QGIS to get the perimeter, area, bounds width, and bounds height of US congressional districts, using the US Census TIGER shapefile. I loaded the shapefile into QGIS, set my CRS to NZGD49 with on-the-fly transformation enabled, and then started doing calculations using field calculator.

Perimeter and area seemed to work fine; I got pretty large numbers as you'd expect for units in meters and square meters. But when I tried to get bounds width and bounds height using bounds_width($geometry) and bounds_height($geometry), I got very small numbers, mostly less than 5 - it looks as if the units are in degrees for bounds but in meters for perimeter and area. I tried different projections, but with similar results for all of them. How can I get QGIS to report bounds width and bounds height in meters instead of degrees?

7
  • 1
    I would always first Save as... the layer in the target CRS which works in meters. If not all, many QGIS tools works with layer source CRS (or simply works with numbers without care about CRS) and changing project CRS on the fly won't affect anything.
    – Miro
    Sep 22, 2015 at 3:26
  • Why do you want to use NZGD49 for US Tiger data?
    – AndreJ
    Sep 22, 2015 at 5:08
  • @Miro Thank you! Turns out that was indeed the issue :P
    – tlng05
    Sep 22, 2015 at 8:42
  • @AndreJ What CRS would you recommend, if NZGD49 isn't appropriate? My primary goal is just getting reasonably accurate perimeters, areas, and bounds sizes, for congressional districts across the entire US.
    – tlng05
    Sep 22, 2015 at 8:43
  • For the United States, use one of the USA_contiguous CRS, ESRI:102003 to 102005.
    – AndreJ
    Sep 22, 2015 at 8:46

1 Answer 1

3

The right workflow is:

  1. In Settings -> Options, CRS tab, select Prompt for CRS
  2. Load the census shape files, and select EPSG:4269 NAD83 if asked for it
  3. Rightclick on the layer , Save As ..., choose another filename with the Browse button, select EPSG:102003 as CRS, and check Add saved file to map
  4. Remove the original layer
  5. Rightclick on the new layer, Set Project CRS from Layer

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.