Geographic Information Systems Stack Exchange is a question and answer site for cartographers, geographers and GIS professionals. Join them; it only takes a minute:

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

Census Tract IDs are ordered in large areas, but patchy across the state. I need to assign a new ID that flows in an order from one end to the opposite end (i.e, NW to SE) where polygons are touching. Any suggestions?

share|improve this question

Use Feature To Point (Data Management) to create a point inside each polygon (check the Inside box to make sure the generated points are inside your polygons). Then use Add XY Coordinates (Data Management) to add the XY coordinates for each point. Add a new field as double and do this field calculation: X^2 + Y^2. Sort the points attribute table based on the newly created field (descending or ascending depending on the location of your data) and create related IDs in a separate field, you may find this post useful. Finally use Spatial Join (Analysis) or intersect the points with the polygons and get their IDs using join/relates for your polygons.

share|improve this answer
thank you - a nice solution. – mapmedia Dec 31 '13 at 6:46
just a small remark : X^2 + Y^2 will correspond to circles centered on the origin of your reference system. You may need to use (X-Xb)^2 + (Y-Yb)^2 to put a false origin as far as you can from your area of interest (so that your curve are closer to straight lines, and you avoid considering (0,100) and (0, -100) equal ) – radouxju Dec 31 '13 at 10:43
This makes sense. I agree. – Arash Dec 31 '13 at 16:26
@radouxju what is the Xb and Yb of a given location? – mapmedia Jan 2 '14 at 23:25

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.