Licence: Advanced
Version: ArcMap 10.3

In my shape are thousands of overlapping polygons. My goal is, to generate a new output in which the biggest overlapping value represents a new polygon/raster cell.

enter image description here

I've tried the Conversion Tool "Polygon to Raster" and set diffrent "cell assignment type" configurations. It works fine, if only 2 polygons overlapping each other. In the output raster represents each pixel value the biggest value of the polygon. However, in cases with >2 overlapping polygons it doesnt work for me.

Maybe there is a solution with QGIS too? The output should be a raster or polygon shape.

Input: polygon shape
Output: Raster or polygons

  • In the figure,do you consider polygon#20 is bigger or polygon#5
    – addcolor
    Commented Jul 11, 2016 at 10:56
  • The Polygon with value 20 is located under the polygon with value 5. I'm interested in the highest value in the overlapping area. Therefore polygon#10 and polgon#5 have to "divide".
    – elbarado
    Commented Jul 11, 2016 at 11:06
  • By biggest do you mean spatially or the highest value in the attributes?
    – Paul
    Commented Jul 11, 2016 at 22:07
  • @Paul the highest value in the attributes.
    – elbarado
    Commented Jul 12, 2016 at 5:59
  • This worked almost perfectly for my problem as well; thank you!!! One small change: the syntax I had to use for the last part of step 2 (Field Calculator on xy) was [x_coord] & [y_coord] instead. Commented Jan 31, 2019 at 17:16

1 Answer 1

  • Union the polygon feature class (on itself)
  • Add centroid coordinates to the attribute table:

    • Add Field: x_coord (Double)
    • Add Field: y_coord (Double)
    • Add Field: xy (Text, length: 50)
    • Calculate Geometry on x_coord: Property = X Coordinate of Centroid
    • Calculate Geometry on y_coord: Property = Y Coordinate of Centroid
    • Field Calculator on xy: x_coord & " " & y_coord
  • Summary Statistics:

    • Input Table: Your_Union
    • Output Table: Your_Summary
    • Statistics Field: Your_Value
    • Statistics Type: MAX
    • Case Field: xy
  • Join:

    • Right click Your_Union
    • Select Joins & Relates -> Join
    • Field that join will be based on: xy
    • Table to join: Your_Summary
    • Field in table to base join on: xy
  • Dissolve Your_Union on the new max value field

  • 1
    Very interesting. The output seems to be correct, because the polygon with the highest value is laying on top. BUT, that's not the solution i need. Behind the uppermost polygon with the highest value, the other polygons still exist. I need a solution, in which the polygon with the highest value is on top, and parts of the underlaying polygons are deleted. Parts around the uppermost polygons have to remain. Maybe I’ve dissolved the wrong attributes? My workflow with results: imgur.com/AEwNnOs
    – elbarado
    Commented Jul 11, 2016 at 18:24
  • My sample output did not have any polygons under the highest value. Did you Dissolve on the Max field that was joined from the Summary Statistics?
    – klewis
    Commented Jul 11, 2016 at 19:07
  • 1
    Those screen shots are nice. You should have Value under Field not x_coord. y_coord. XY is correct for the case field
    – klewis
    Commented Jul 11, 2016 at 19:11
  • Excellent work, @klewis - As you said, i made a mistake in the Summary Statistics tool. Now it works for me. I've tested it with a complex dataset too. Thanks a lot. May it's possible that you explain how this workflow works? e.g. why it's necessary to calculate the x and y centroids?
    – elbarado
    Commented Jul 12, 2016 at 8:19

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.