With ArcGIS 10.1, a spatial reference object can be created using a name or well-known ID (WKID).
# By name sr = arcpy.SpatialReference('WGS 1984 UTM Zone 11N') # By WKID sr = arcpy.SpatialReference(32611)
However, once a spatial reference is created, many of the properties cannot be altered because they are read-only.
# Not possible sr.centralMeridian = -110.0
Instead, if you need to change a property, you will need to take advantage of Python’s string manipulation capabilities. Since spatial reference properties can be expressed as well known strings, one solution is to export the spatial reference to a string, modify that string, and then use the altered string to create a new spatial reference.
import arcpy import re sr = arcpy.SpatialReference('WGS 1984 UTM Zone 11N') # Change the central meridian. sr.loadFromString(re.sub('PARAMETER\[\'Central_Meridian\'\,.+?]', 'PARAMETER\[\'Central_Meridian\',-120.0]', sr.exportToString()))
In addition to the documentation above, storage parameters like the coordinate domains and resolution, as well as tolerances are included in the spatial reference string.