ArcGIS Desktop

  • Documentation
  • Support

  • My Profile
  • Help
  • Sign Out
ArcGIS Desktop

ArcGIS Online

The mapping platform for your organization

ArcGIS Desktop

A complete professional GIS

ArcGIS Enterprise

GIS in your enterprise

ArcGIS for Developers

Tools to build location-aware apps

ArcGIS Solutions

Free template maps and apps for your industry

ArcGIS Marketplace

Get apps and data for your organization

  • Documentation
  • Support
Esri
  • Sign In
user
  • My Profile
  • Sign Out

ArcMap

  • Home
  • Get Started
  • Map
  • Analyze
  • Manage Data
  • Tools
  • Extensions

Spatial reference and geoprocessing

  • What is the default output spatial reference?
  • How to override the default spatial reference's properties
  • Tools with multiple inputs—coordinate system affects tool performance
  • Avoid unknown coordinate systems
  • Coordinate system affects tool result
  • Setting the coordinate system environment in ModelBuilder

The spatial reference of a geodataset is made up of the following:

  • A coordinate system that consists of a map projection and datum
  • XY resolution and, optionally, M and Z resolution and domain
  • XY tolerances and, optionally, M and Z tolerances
Learn more about the properties of a spatial reference

These spatial reference properties can have significant impact on the performance and results generated by a geoprocessing tool.

  • When a geoprocessing tool creates output data, a spatial reference must be assigned to that newly created dataset.
  • When a geoprocessing tool processes features from more than one feature class (for example the Intersect tool) or from more than one raster (for example the Weighted Overlay tool), the data must be brought into a common spatial reference to compute relationships between contents of the two datasets.

The spatial reference of the output dataset and the spatial reference in which the processing occurs are one and the same. Another way to state this is that tools always process data in the spatial reference of the output dataset.

What is the default output spatial reference?

Geoprocessing tools determine the output spatial reference using the following logic:

  • If the output is inside a feature dataset, the spatial reference properties of the feature dataset are used.
  • If the output is a stand-alone geodataset (not inside a feature dataset), the spatial reference properties are the same as the input geodataset's spatial reference properties.
    • If the input is a layer in a display, that spatial reference of the layer's data source is used.
    • If the input is a list of datasets (for example, the Intersect tool), the spatial reference of the first input dataset will be used.
    • If the tool doesn't have an input dataset (for example, Create Feature Class and Create Feature Dataset), it is particularly important to choose a coordinate system so the remainder of the spatial reference properties (such as XY resolution and tolerance) can be calculated by the tool.

How to override the default spatial reference's properties

The geoprocessing environments listed below can be used to override the following default output spatial reference properties. If the output is inside a feature dataset, the coordinate system, as well as the XY and Z properties (except Z awareness), will always be that of the feature dataset.

  • Coordinate System
  • XY Tolerance
  • Z Tolerance
  • XY Resolution
  • XY Domain
  • Output Z Aware
  • Default Output Z Value
  • Z Resolution
  • Z Domain
Legacy:

The XY Domain environment is only used for output in geodatabase created earlier than 9.3.

The following environments can be used regardless of whether the output is stand-alone or in a feature dataset:

  • Output M Aware
  • M Tolerance
  • M Resolution
  • M Domain

For shapefile output, see Geoprocessing considerations for shapefile output.

Tools with multiple inputs—coordinate system affects tool performance

Geoprocessing tools that take multiple inputs, such as tools in the Analysis toolbox or Spatial Analyst toolbox, require all features or rasters to be in a common coordinate system to compute spatial relationships. Consider the Intersect tool, which computes the geometric intersection of multiple feature classes. Suppose that five feature classes are specified as input; the first feature class input has a UTM coordinate system while the remaining four feature classes have an Albers coordinate system. Because the first feature class is in UTM, the features in the other four feature classes will first be projected from Albers to UTM by the Intersect tool before it begins processing them. Projecting these datasets can significantly degrade performance; it may be far more efficient to project the one feature class from UTM to Albers rather than four feature classes from Albers to UTM. Conversely, if the feature class in UTM has many features compared to the total number of features in the other four feature classes, it would be more efficient to project the other feature classes from Albers to UTM.

To improve performance of the above situation, you can employ one of two techniques:

  • Set the geoprocessing output coordinate system environment to the appropriate coordinate system (Albers in the above example). Anytime the output coordinate system environment is specified, it is recommended that you specify an appropriate geographic transformation, if necessary.
  • Ensure the first geodataset input to the tool contains the coordinate system that will minimize the amount of data being projected (Albers in the above example).

Avoid unknown coordinate systems

Processing data with an appropriate coordinate system allows better default values for tolerance, resolution, and domains.

You should avoid processing data with an unknown coordinate system because the default tolerances may not be appropriate for the tool. The XY Tolerance default for an unknown coordinate system is 0.001 units—this is an exceedingly large value if the data's coordinates are in a geographic coordinate system where one unit (decimal degrees) represents up to 110 kilometers distance on the earth's surface, meaning the tolerance used for processing could be as large as 110 meters.

For help on how to proceed if the data has an unknown coordinate system, see Identifying an unknown coordinate system.

Coordinate system affects tool result

The spatial or topological relationship shared by two geometries in one coordinate system may change when projected to a different coordinate system. For example, the illustration below shows a blue line that connects the cities of Jakarta and Wellington. Depending on the coordinate system in which the data is projected and processed, the blue line connecting the two cities may or may not intersect the city of Alice Springs. It is important to choose a coordinate system that is appropriate for the data.

Projection and spatial relationships

Setting the coordinate system environment in ModelBuilder

The output coordinate system environment can be set for an individual process (a process is a tool plus its input and output data) or for the entire model. Setting the environment at the process level affects only the execution of the individual process. Setting the environment at the model level affects all processes in the model.

To set the coordinate system at the process level, follow the steps below:

  1. In ModelBuilder, right-click a tool element.
  2. Click Make Variable > From Environment > Output Coordinates > Output Coordinate System. A new variable named Output Coordinate System is created and connected to the tool.
  3. Double-click Output Coordinate System and enter the appropriate coordinate system, which is usually the coordinate system of the largest geodataset input to the tool.

To set the coordinate system at the model level, follow the steps below:

  1. In ModelBuilder, click Model > Model Properties. Alternatively, in the Catalog or ArcToolbox window, right-click the model and click Properties.
  2. Click the Environments tab.
  3. Expand Output Coordinates.
  4. Check Output Coordinate System.
  5. Click the Values button.
  6. On the Environment Settings dialog box, expand Output Coordinate Settings.
  7. In the Output Coordinate System list, choose As Specified Below.
  8. Click the browse button to browse for an existing coordinate system, or choose a model variable in the drop-down list.
Learn more about managing environments in models

Related topics

  • Coordinate system considerations for geoprocessing services

ArcGIS Desktop

  • Home
  • Documentation
  • Support

ArcGIS Platform

  • ArcGIS Online
  • ArcGIS Desktop
  • ArcGIS Enterprise
  • ArcGIS for Developers
  • ArcGIS Solutions
  • ArcGIS Marketplace

About Esri

  • About Us
  • Careers
  • Insiders Blog
  • User Conference
  • Developer Summit
Esri
Tell us what you think.
Copyright © 2017 Esri. | Privacy | Legal