I have a table with polygons that I wish to display in a map. I would like the smaller polygons to appear on top of larger polygons. Is there a way to set the drawing order such that the larger polygon outlines don't cover up the smaller ones?

I've tried using the polygon area attribute as a transparency factor within the layer's symbology properties - but this is not working well enough.

marked as duplicate by Chris W, Mapperz May 26 '15 at 21:18

This question has been asked before and already has an answer. If those answers do not fully address your question, please ask a new question.

  • Does esri know about this? – Steve Oct 29 at 18:19
up vote 7 down vote accepted

Since you already have a field carrying the area, just use the Sort tool, and use the area field with the 'DESCENDING' option.

Note: The Sort tool requires an advanced license.

  • 2
    @val Note this method is not guaranteed to always draw the small shapes on top of the large ones. It also has other performance implications - see Vince's answer at gis.stackexchange.com/questions/135892 – Chris W May 26 '15 at 19:43
  • If you edit the data and add features, then a Sort is needed. So this isn't the always true method. Normally, the features will be drawn in the order that they are returned from the database/file. I thinks Ian answer is the correct one here. like this post gis.stackexchange.com/questions/94781/… – Farid Cheraghi May 26 '15 at 20:16

You could add a new field called Size, and then field calc either Small or Large into the new field.

Then symbolize by Unique Values based on the Size field. Then go into Advanced --> Symbol Levels and make sure the Draw this layer using symbol levels specified below is checked, and that the Small label is above the Large label.

However you choose to do it, what you're looking for is the Symbol Levels option.

enter image description here

Result:

enter image description here

If these are gdb feature classes, another option would be to use a Definition Query that is based on the SHAPE_AREA field. Just right-click on the layer in the TOC and copy and paste it. Place the new layer on top of the old layer, and in the new layer add a definition query that will filter out any features that are bigger than ____. Now you have the smaller features on top of the larger features.

  • Thx but there are way too many features for this method (>1000) – val May 26 '15 at 19:39

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