Create Spatial Reference (Data Management)
Summary
Creates a spatial reference object for use in ModelBuilder and scripting.
Usage
-
You can create a spatial reference object with set coordinate system, spatial domains, and precision. The spatial domains and precision of the output spatial reference can be further modified using XY Domain, Z Domain, M Domain, Template XYDomains, and Grow XYDomain By Percentage parameters.
-
Template XYDomains does not have to be in the same coordinate system as that specified in Spatial Reference or Spatial Reference Template. If they are different, the extents will be projected to match.
-
If the Spatial Reference and Spatial Reference Template parameters are both set, spatial reference parameter will take priority.
-
All the parameters of the tool are optional. If no parameters are specified, the spatial reference will be defined as 'Unknown' and the XYDomain will assume standard defaults.
-
In ModelBuilder, the output of this tool can be used as input to tools with a spatial reference parameter (e.g., Create_Feature_Class, Create_Feature_Dataset, Make_XY_Event_Layer).
Syntax
Parameter | Explanation | Data Type |
spatial_reference (Optional) |
Name of the the spatial reference object to be created. | Spatial Reference |
spatial_reference_template (Optional) |
The feature class or layer to be used as a template to set the value for the spatial reference. | Feature Layer; Raster Catalog Layer; Raster Dataset |
xy_domain (Optional) |
Allowable coordinate range for x,y coordinates. | Envelope |
z_domain (Optional) |
Allowable coordinate range for z values. | String |
m_domain (Optional) |
Allowable coordinate range for m values. | String |
template [template,...] (Optional) |
Feature classes or layers that can be used to define the XY Domain. | Feature Layer |
expand_ratio (Optional) |
Percentage by which the XY Domain will be expanded. | Double |
Code Sample
The following stand-alone script uses the CreateSpatialReference function as part of a workflow that loops through a folder and finds all shapefiles that end in "ST", create spatial references, and append them into a geodatabase feature class.
# This script reprojects a shapefile in Redlands folder
# from NAD 1983 UTM Zone 11N
# to NAD 1983 StatePlane California V FIPS 0405 (US Feet)
# import system modules
import arcpy
try:
# set the workspace environment
arcpy.env.workspace = r"C:\data\Redlands"
# create a spatial reference object to be used as output coordinate system
out_sr = arcpy.CreateSpatialReference_management("NAD 1983 StatePlane California V FIPS 0405 (US Feet)")
# use the output of CreateSpatialReference as input to Project tool
# to reproject the shapefile
arcpy.Project_management("citylimit_Project1.shp", "city_CA_FIPS0405", out_sr)
except arcpy.ExecuteError:
# print geoprocessing message
print(arcpy.GetMessages(2))
except Exception as ex:
# print the exception message
print(ex.args[0])