July - September 2007
Figure 1 illustrates the difference between the concepts of accuracy versus precision using a dartboard analogy that shows four different scenarios that contrast the two terms.
Precision in the Geodatabase
The precision of feature coordinates stored in a geodatabase is determined by coordinate resolution. This property defines the number of decimal places or significant digits used to store feature coordinates and is the minimum distance that separates unique x,y,z, or m values. It is set as a property of a spatial reference defined for a stand-alone feature class or a feature dataset.
ArcGIS uses three types of coordinate resolutions:
Coordinate Grid of a Spatial Reference
Every stand-alone feature class or feature dataset (henceforth referred to collectively as dataset) in the geodatabase has a spatial reference that has a coordinate grid. The grid's structure is a mesh of points that forms a square in two-dimensional space with an origin point called a false origin (i.e., minimum x,y coordinate) and an XY resolution. The coordinate grid represents the x,y coordinate space that can be stored within a feature class; it is not a visible structure in ArcGIS. In Figure 2, the coordinate grid's mesh point structure is shown on the left. On the right, it is shown as a lattice structure, which will be used to illustrate other related concepts.
The x,y coordinate space that can be represented within the coordinate grid is called the spatial reference domain extent and is influenced by XY resolution. Small XY resolution values (i.e., higher precision) will result in a smaller spatial reference domain extent. Larger XY resolution values (i.e., lower precision) will result in a larger spatial reference domain extent. Figure 3 shows a feature class with an XY resolution of 0.0001 that can store features with more precision and has a smaller spatial reference domain extent than a feature class with an XY resolution of 0.1.
Spatial References in a Geodatabase
There are two types of spatial references in geodatabaseslow precision and high precision.
Low-precision spatial reference
In releases prior to ArcGIS 9.2, all datasets in the geodatabase had low-precision spatial references and stored feature coordinates using 31 bits, which is the equivalent of single-precision storage (4 bytes). The coordinate grid for datasets with a low-precision spatial reference is approximately 2.147 x 109 grid cells, as shown in Figure 4.
Because XY resolution influences the spatial reference domain extent of the coordinate grid, determining a suitable XY resolution for low-precision spatial reference datasets can be challenging. Storing feature coordinates with very high precision would sometimes require undersized spatial reference domain extents that might be too small for some coordinate systems. Therefore, users had to balance the trade-off between spatial reference domain extent and XY resolution.
High-precision spatial reference
Geodatabases created with ArcGIS 9.2 store snapped feature coordinates using 53 bits, the equivalent of double-precision storage (8 bytes). The coordinate grid for a dataset is approximately 9.007 x 1015 grid cells, as shown in Figure 5. It stores a greater range of mesh point coordinate values (i.e., has a larger areal extent) than the coordinate grid of low-precision spatial references.
High-precision spatial references enable users to store large spatial reference domain extents while maintaining very small XY resolutions (e.g., higher precision). They are easier to set up and manage compared to low-precision spatial references. In addition, new geodatabase functionality at ArcGIS 9.2, such as historical archiving and geodatabase replication, requires that datasets have high-precision spatial references.
Upgrading to High-Precision Spatial References
The upgrade of a pre-ArcGIS 9.2 geodatabase and its contents from low-precision spatial references to high-precision spatial references is a two-step procedure designed to give users the ability to manage spatial reference precision on a per dataset basis. Both steps can be easily performed in ArcCatalog.
Step 1Upgrade the geodatabase
This operation updates the geodatabase schema (i.e., the internal system tables) and the geodatabase version number. Once a geodatabase has been upgraded, pre-ArcGIS 9.2 clients will be unable to access its contents. Datasets within the geodatabase before the upgrade was performed will still have low-precision spatial references with associated limitations.
New datasets created after the upgrade will have high-precision spatial references, with one exception: If a new feature class is created inside an existing low-precision feature dataset, it will have a low-precision spatial reference. This enables users to continue working with low-precision feature classes within an ArcGIS 9.2 high-precision geodatabase.
To upgrade a pre-ArcGIS 9.2 geodatabase in ArcCatalog, select the geodatabase in the Catalog Tree, right-click on it, and choose Properties from the context menu. In the Database Properties dialog box, select the General tab. Under the Upgrade Status section, click the Upgrade Geodatabase button to execute the upgrade. If this option is grayed out, the geodatabase has already been upgraded.
Step 2Upgrade the spatial reference of individual datasets
Each existing stand-alone feature class and feature dataset must have its spatial reference upgraded individually. Two things occur when a spatial reference is converted to high precision. First, the XY resolution value becomes smaller so coordinate values can be stored closer together within a finer coordinate grid. Note that, for each mesh point of the original low-precision coordinate grid, there is a corresponding mesh point in the high-precision coordinate grid as shown in Figure 6. Second, the minimum and maximum x,y coordinate values of the spatial reference domain extent are expanded to cover the entire coordinate system extent.
Note that feature coordinate values will not be altered (in terms of accuracy) by upgrading a geodatabase or upgrading a spatial reference. Therefore, all data types can be safely migrated to high-precision spatial references including topologies, geometric networks, network datasets, survey datasets, and versioned data. Versioned data does not have to be compressed to perform the upgrade to high precision.
To upgrade a dataset's spatial reference to high precision in ArcCatalog, select the dataset in the Catalog Tree, right-click on it, and select Upgrade Spatial Reference from the context menu. This will activate the Upgrade Spatial Reference geoprocessing tool. Alternatively, the tool can be accessed directly in ArcToolbox. Although this tool includes options for defining custom values for XY resolution, Z resolution, and M resolution, accepting the default values is recommended. Execute the tool to upgrade the dataset's spatial reference to high precision.
Note that there is also an implicit spatial reference upgrade when datasets are transferred from a pre-ArcGIS 9.2 geodatabase to a geodatabase created at ArcGIS 9.2. The spatial references for these datasets are automatically converted to high precision, including a new default XY resolution value and an expanded coordinate grid. Using the ArcCatalog copy/paste commands, export/import geoprocessing tools, and exporting or importing an XML workspace document (i.e., the XML specification for a geodatabase) implicitly upgrade low-precision datasets to high precision and yield the same default XY resolution for the output dataset.
Migrating pre-ArcGIS 9.2 datasets to high precision is not mandatory. If existing datasets with low-precision spatial references meet current business model and workflow needs, they can be left with low-precision spatial references. However, upgrading these geodatabases to high precision will enable users to take advantage of new functionality such as historical archiving and geodatabase replication.
Feature coordinates in the geodatabase can be stored with either a high- or low-precision spatial reference, depending on the ArcGIS release (e.g., ArcGIS 9.2 versus pre-ArcGIS 9.2, respectively). High- precision spatial references enable users to easily associate coordinate system information to geographic features in a feature class. Regardless of the spatial reference type (high or low precision), the accuracy of feature coordinates stored in the geodatabase is always maintained by ArcGIS when it is accessed or being processed.
For More Information
See the white paper, Understanding Coordinate Management in the Geodatabase, available from the Esri Support site at www.esri.com/support.