For an automated ArcGIS solution, try the following in model builder:
- Add a new field "Latitude".
- Calculate the "Latitude" field using Calculate Field:
!SHAPE.FirstPoint.Y! (see attached field calculator screenshot). This calculation is based on the centroid of each polygon.
- Create a new shapefile using Sort. Note that the new shapefile
will have a new OBJECTID based on the sorted Latitude values.
Or, to loop through a workspace and perform the tasks on multiple shapefiles, here is an automated python approach:
# Import arcpy module
import arcpy
from arcpy import env
env.overwriteOutput = 1
env.workspace = r"C:\temp"
Dir = env.workspace
# List shapefiles
fclist = arcpy.ListFeatureClasses()
for fc in fclist:
# Process: Add Field
arcpy.AddField_management(fc, "Latitude", "DOUBLE", "", "", "", "", "NULLABLE", "NON_REQUIRED", "")
# Process: Calculate Field
arcpy.CalculateField_management(fc, "Latitude", "!SHAPE.FirstPoint.Y!", "PYTHON_9.3", "")
# Process: Sort
arcpy.Sort_management(fc, Dir + "\\" + fc + "_sort.shp", "Latitude ASCENDING", "UR")


