Geographic Information Systems Stack Exchange is a question and answer site for cartographers, geographers and GIS professionals. It's 100% free, no registration required.

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I need a polygon layer to draw in order based on a date field... What I'm trying to do:

I need to display an easement feature class with two different symbols: one for easements and one for vacations. In addition, I need this layer to draw in an order that represents the date in which they were recorded (stored in a date field). Using symbol levels is not an option because I am working with thousands of different dates (Also, ArcMap symbology options do not recognize date fields as dates...). The sort tool, which reorders the features in the database, is also not an option because this feature class is constantly being updated and it is not feasible for this tool to be ran frequently.

Any ideas?

share|improve this question
Just for clarity: Is that supposed to be "vacancies" instead of "vacations"? – Erica Jul 1 '14 at 14:47
No, it is a vacation. As in vacating an easement. – Aaron Jul 1 '14 at 14:48
Ah, ok, I see. Thanks. – Erica Jul 1 '14 at 14:51

Sounds like you are trying to juggle several things at once here, regular updates, huge datasets (you say you have thousands of dates), different symbols and you want them drawn in a specific order.

I have never tried it but you can create custom renderers and layers using ArcObjects, this may be your solution but it will require quite sophisticated development. The topic is discussed here.

share|improve this answer

I have a feeling that without using symbol levels, feature draw order cannot be controlled by ArcGIS. I believe it depends entirely on the order of items returned from storage/database, which is arbitrary and can change. I've tried to change draw order of polygon features based on shape_area in the past (e.g. small features on top), but have never found a working solution unfortunately (except for sort).

share|improve this answer

Another option would be to use arcpy/python. The general code work flow would go something like this:

  1. Use search cursor against the layer/date field and create a arrary pair list (feature ID, and date) sorted by oldest to newest date.
  2. For each item in the date list, do another search cursor and grab the shape geometry (array of vertice x/y value pairs) and write the features using an insert cursor to a new or empty template feature class.

In theory this method should write all the features from oldest to newest, which should display the newest features on-top. You could create a script to run this manually or call this script to run via Windows scheduler at x time interval.

Also, you may reference this Q/A for additional options:

How to change the order of features in a shapefile?

share|improve this answer
Wouldn't that essentially be the same thing as running the Sort tool? Wouldn't the method's effectiveness also depend on the storage format as mentioned in this question? – Chris W Jul 1 '14 at 20:17
@Chris W, Essentially yes, however if you want to sort by shape geometry you need advanced license. – artwork21 Jul 2 '14 at 11:43

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

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