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?

1 Answer 1


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.

  • 1
    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, 2013 at 10:43
  • This makes sense. I agree.
    – Arash
    Dec 31, 2013 at 16:26
  • @radouxju what is the Xb and Yb of a given location?
    – mapmedia
    Jan 2, 2014 at 23:25

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.