I am currently working with rainfall data on a large grid layer and want to transfer the data onto smaller grids. In the image below the large blue polygons currently have the data stored in them and I want to smaller pink polygons to have the same data dependent on which blue polygon they lie within (which central point of blue polygon they are closest to).

enter image description here

The data in the large blue grid is in the following columns structure:

  • Location (corresponds to each polygon of the grid e.g. A1, A2, B1, B2)
  • Date (the measures occur over a time period split up into equal
  • chunks in the format of text e.g. 'Time 1' 'Time 2' 'Time 3') Mean rainfall (a measure of rainfall averaging the rain across the time period I chose)

There are 9 time chunks so for each blue grid square there are nine corresponding rows in the attribute table, each recording the location, date and mean rainfall, so for example in grid square G5 the structure is:

enter image description here

and so on for each grid cell in the table.

The pink squares are where I actually want the rainfall data. I've been trying different joins but it only takes one of the time values, whereas I need all 9 as the mean rainfall is dependent on the date.

How do I get it so that every pink square that overlays blue G5 contains all nine rows of information about G5, and do the same for each of the other blue squares with their overlaying pink squares too? So the end result should be this within the attribute table for the pink squares (where pink location = label for unique pink grids, no relationship to blue location names):

enter image description here

Then this is repeated for every pink square, rather than what has been happening which is only the mean rainfall for Time 1 being copied over to the pink square.

  • 1
    Wouldnt it be better to have one small grid square with time1-9 as columns? Or do you want 9 overlapping smal squares for each location?
    – BERA
    Aug 27, 2020 at 12:13
  • I originally had that format but then reformatted to this because I need to write a model to see whether my response variable (which I haven't mentioned here but is part of the final dataset) changes due to mean rainfall, so I think I need the rainfalls all in one column of a single attribute table
    – Eal20
    Aug 27, 2020 at 13:38

1 Answer 1


I would encourage you to reformat your data along the lines of what @BERA is suggesting in the comments. Have each of the time points be a separate column in the attribute table, rather than a new feature. This would be true for both the original blue squares, and then once you do a spatial join also for the pink squares. In the long run I think this be an easier format to work with.

Otherwise, it sounds like you're looking for the JOIN_ONE_TO_MANY parameter of Spatial Join.

  • This worked, thank you!
    – Eal20
    Aug 30, 2020 at 11:45
  • 1
    Great! When you find an answer that works, the best thing to do is accept it (click the check mark under the up/down arrows on the left side of the answer). This lets other people know you found a successful answer and removes it from the Unanswered Questions list. Aug 31, 2020 at 12:16

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.