Define Projection (Data Management)

License Level:BasicStandardAdvanced

Summary

This tool overwrites the coordinate system information (map projection and datum) stored with a dataset. The only use for this tool is for datsets that have an unknown or incorrect coordinate system defined.

All geographic datasets have a coordinate system that is used throughout ArcGIS to display, measure, and transform geographic data. If the coordinate system for a dataset is unknown or incorrect, you can use this tool to specify the correct coordinate system. You must know the correct coordinate system of the dataset before using this tool.

Usage

Syntax

DefineProjection_management (in_dataset, coor_system)
ParameterExplanationData Type
in_dataset

Dataset or feature class whose projection is to be defined.

Feature Layer;Geodataset
coor_system

Valid values are a Spatial Reference object, a file with a .prj extension, or a string representation of a coordinate system.

Coordinate System

Code Sample

DefineProjection example (Python window)

The following Python Window script demonstrates how to use the DefineProjection function in immediate mode.

import arcpy
infc = r"C:\data\citylim_unk.shp"
sr = arcpy.SpatialReference("NAD 1983 UTM Zone 11N")
arcpy.DefineProjection_management(infc, sr)
DefineProjection example (stand-alone script)

The following stand-alone script uses the DefineProjection function to record coordinate system information for the input dataset.

# Name: DefineProjection.py 
# Description: Records the coordinate system information for the specified input dataset or feature class

# import system modules
import arcpy

# set workspace environment
arcpy.env.workspace = "C:/data"

try:
    # set local variables
    in_dataset = "citylim_unk.shp" #"forest.shp"
    
    # get the coordinate system by describing a feature class
    dsc = arcpy.Describe("citylim_utm11.shp")
    coord_sys = dsc.spatialReference
    
    # run the tool
    arcpy.DefineProjection_management(in_dataset, coord_sys)
    
    # print messages when the tool runs successfully
    print(arcpy.GetMessages(0))
    
except arcpy.ExecuteError:
    print(arcpy.GetMessages(2))
    
except Exception as ex:
    print(ex.args[0])

Environments

Related Topics

Licensing Information

ArcGIS for Desktop Basic: Yes
ArcGIS for Desktop Standard: Yes
ArcGIS for Desktop Advanced: Yes
5/7/2015