[an error occurred while processing this directive] [an error occurred while processing this directive]
ArcUser Online
 

July - September 2007
Search ArcUser
 
ArcUser Main Current Issue Previous Issues Subscribe Advertise Submit An Article
 

E-mail to a Friend

Geodatabases That Are Easier to Set Up and Manage
By Derek Law, Esri Product Management

Migrating to high-precision spatial references at ArcGIS 9.2

With ArcGIS 9.2, geodatabases can have high-precision spatial references. In addition, geodatabases with low-precision spatial references that were created with earlier versions of ArcGIS can be migrated to high-precision spatial references.

The geodatabase, the native data format for ArcGIS, is a data storage container. Thematic layers of vector GIS data are stored within a geodatabase as feature classes. A feature class is a collection of geographic features with the same geometry type (such as point, line, or polygon), the same attributes, and the same spatial reference. The spatial reference of a feature class refers to a collection of properties that describe the coordinate system information used to store its feature geometry.

A spatial reference consists of two main components—a coordinate system and a spatial reference domain. A coordinate system is a reference framework used to describe the positions of points in space in either two or three dimensions. It defines where feature coordinates are located on the earth. There are two types of coordinate systems: geographic coordinate systems (three dimensional) and projected coordinate systems (two dimensional).

A spatial reference domain is the allowable set of values for x,y,z, and m in a feature class. Geographic positions in two-dimensional space are defined by x and y values. The optional values, z and m, are typically used for elevation and measure values (e.g., linear referencing and dynamic segmentation, respectively). The spatial reference domain controls how feature coordinate values are stored and processed in ArcGIS.

In geodatabases, a spatial reference is set as a property of a stand-alone feature class or a feature dataset. Feature classes within a feature dataset must have the same spatial reference as the feature dataset. To use a transportation example, feature classes called ConstructionSites and Roads that belong to the Transportation feature dataset would all share the same spatial reference. Once a spatial reference has been defined, only its coordinate system can be changed. All other properties are locked and cannot be modified.

Accuracy Versus Precision

Sometimes accuracy and precision are thought of as synonymous terms. It is important to distinguish between these terms commonly associated with the spatial references of feature classes because when GIS data is stored in a geodatabase, data accuracy is not changed—only the precision at which the data is stored.

Accuracy is the degree to which a measured value conforms to true or accepted values. In other words, how close a measure value is to the actual value. GIS data accuracy is determined by the method used when it was collected. For example, data acquired from a survey is likely to be more accurate than data created by digitizing a paper map. For a collection of measured values, precision is the closeness of a repeated set of observations of the same quantity to one another.

click to enlarge
Figure 1: Dartboard diagrams are used to illustrate the difference between accuracy and precision.

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.

  • A: Three darts hit the target center and are very close together = high accuracy and precision
  • B: Three darts hit the target center but are not very close together = high accuracy, low precision
  • C: Three darts do not hit the target center but are very close together = low accuracy, high precision
  • D: Three darts do not hit the target center and are not close together = low accuracy and precision

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:

  • XY resolution for x,y coordinates (required)
  • Z resolution for z values (optional)
  • M resolution for m values (optional)

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.

click to enlarge
Figure 2: The coordinate grid represented as a mesh and lattice

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.

click to enlarge
Figure 3: The relationship between spatial reference domain extent and XY resolution

Spatial References in a Geodatabase

There are two types of spatial references in geodatabases—low 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.

click to enlarge
Figure 4: Low-precision spatial reference coordinate grid conceptual diagram

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.

click to enlarge
Figure 5: High-precision spatial reference coordinate grid conceptual diagram

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 1—Upgrade 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 2—Upgrade 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.

click to enlarge
Figure 6: Low- to high-precision spatial reference upgrade causes XY resolution reduction.

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.

Conclusion

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.

[an error occurred while processing this directive]