1

two layers here - maroon smaller polygons overlayed on a the pale grid

I have polygons containing an attribute to be summed by a polygon grid. the polygons with the attribute always share borders with each grid cell and never extend outside any grid cell (the grid has been used to 'union' the polygons prior).

I am having trouble in ArcMap 10.x getting the 'spatial join' tool using the 'intersect' or 'have their center in' or 'within' match options to assign the sum of the attributes of polygons within each grid cell to an attribute of the grid cell. I think this may be because of share borders, though the 'select by location' tool using 'within' will select the desired polygons.

The layers are the same projection and in the same geodatabase. Also have set the 'merge rule' parameter of the field to 'sum' in the 'spatial join' tool.

The only work-around I've found is to use 'spatial join' tool with the 'intersect' match option and a 'search radius' set to a negative such as -100 meters.

6
  • 1
    Assuming polygons have grid's ID, summarise polygons table. If not spatial join 'have their cntres' must work in assigning those ids to polygons
    – FelixIP
    Sep 27, 2015 at 2:34
  • Thanks I'll try the summarize. The 'have their centres' always fails for some reason... Think it may be a bug in arcmap 10.2.3
    – r4gt4g
    Sep 27, 2015 at 8:22
  • 1
    Repair geometry?
    – FelixIP
    Sep 27, 2015 at 8:34
  • 1
    I don't think there exist a 10.2.3 ArcMap version! Sep 27, 2015 at 10:34
  • Sorry - 10.2.2.
    – r4gt4g
    Sep 27, 2015 at 16:21

1 Answer 1

1

@FelixIP answered this in the comments...

The spatial join is unnecessary when there is a summary statistics function (although the spatial join with 'have their centres' in as the match option should work, it did not for me).

This is useful when there are large polygons with a stat, say, a population estimate. You need to display this data on a common grid (vector). Sometimes two polygons or more intersect with a single grid poly. The following can be used:

  1. First scale your statistic - calculate population per unit area and add to attribute table
  2. Union polygons with the poly grid (not raster)
  3. Calculate the new population stat for each unioned poly - use the pop per unit area multiplied by the area of each unioned poly
  4. Summary statistics with the Gridcell ID as unique summary field
  5. Join output of (4) back to the poly grid using the Gridcell ID as unique case field

Your Answer

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

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