I have two layers: a 30m x 30m grid and a layer of polygons indicating landuse.

I already know how many landuse polygons are in each cell. For example cell 105 has 4 different classes of landuse. However, I also want to know which landuse classes are in this cell.

Is there are way to use "Join attributes by location (summary)" or another function to get a summary of the landuse classes for each cell? For example: cell 105 contains residential, industrial, allotment and park.

  • Where do you want the results? In a text column of the grid layer?
    – Bera
    Commented Sep 14, 2020 at 12:58
  • Yes. That would be optimal. So I can check each cell which classes it contains. Commented Sep 14, 2020 at 13:03
  • If your grid layer has unique values in its table, and you run an intersect of it with your Land Use layer, and then run the aggregate tool on the results using the the unique value field, does that work?
    – John
    Commented Sep 14, 2020 at 13:11
  • It seems like this is what I want, but none of the solutions work for me. Commented Sep 14, 2020 at 17:59

1 Answer 1


I have found a solution.

  1. I did a regular spatial join with both layers (one-to-many).
  2. Then I used the aggregate function on the result layer of the first step (group by unique cell ID and concatenate on the landuse classes).
  3. The result layer from step 2 now has a column for each cell ID of the grid layer and a column with the landuse classes in each cell.

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