I am intersecting two shapefiles in QGIS: a city council map and the census blocks in the city's county with demographic variables (e.g., population).

When I use the intersect tool in QGIS, the blocks that cross two city council districts are split geometrically (which I am ok with), but all of their attribute fields are also duplicated. This results in inflated population estimates.

How can I intersect these shapefiles without duplicating relevant information? I assume I have to perform some sort of spatial weighting, but it's unclear to me how to do this in QGIS at the block level for every duplicated row/split feature.

Is there any solution that maintains the correct demographic information (or at least relatively close) when intersecting the two shapefiles?

enter image description here

enter image description here

enter image description here

  • 3
    The whole point of an Intersect is to create those "duplicates". Maybe you want a Join instead. Note that folks who work to generate population data are quite emphatic about mot disaggregating the results of their effort, by area or any other basis, since it is not statistically valid.
    – Vince
    Nov 21, 2023 at 16:19

1 Answer 1


Here is a common way to do this for a single value to be calculated relative to the new smaller polygons:

  1. Save the area of each polygon in your original data as a new field with the field calculator using area($geometry) with type real, name the field e.g. area_original.
  2. Perform the intersection.
  3. Save the new area in another real type field, call it area_new e.g.
  4. Calculate the new population field as another real type field, for example pop_calculated, using this expression: ("area_new" / "area_original") * "pop"

There may be other solutions though, because this one requires several manual calculations if you need all the other population-related columns calculated as well.

Please note: While this solves the problem of keeping the same population sums, it is not statistically valid as the disaggregation into the smaller polygons is not spatially correct.
(see Vince's comment to the OP)

  • Yes, unfortunately I have at least 6 population-related columns that would also need to be calculated. Nov 21, 2023 at 16:35

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.