Getting started

Defining a Coordinate System

ArcSDE adds some additional requirements for a coordinate transformation: conversion from floating point real–world units to positive integer system units for storage in the database. This conversion requires the following false origin and scale information:

 

 

All coordinates must be 32-bit positive integers between 0 and 2147483647 in ArcSDE. This format provides better data accuracy, data integrity, and processing speed than real numbers.

 

Because coordinates are often neither positive nor integer, ArcSDE requires an offset distance (a false origin) to ensure numbers are positive and a minimum resolution multiplier (called the scale factor) to convert real numbers to integers. The conversion algorithm is:

 

ArcSDE X = truncate ((( X coordinate - false X ) * xyunits ) + 0.5 )
ArcSDE Y = truncate ((( Y coordinate - false Y ) * xyunits ) + 0.5 )
ArcSDE Z = truncate ((( Z coordinate - false Z ) * zunits ) + 0.5 )
ArcSDE M = truncate ((( M coordinate - false M ) * munits ) + 0.5 )

 

0.5 is added to round off numbers. ArcSDE coordinates are converted back to plane coordinates with the following formula:

 

X coordinate = (( ArcSDE X / xyunits ) + false X)
Y coordinate = (( ArcSDE Y / xyunits ) + false Y)
Z coordinate = (( ArcSDE Z / zunits ) + false Z)
M coordinate = (( ArcSDE M / munits ) + false M)

False origin

The false origin (false x, false y, false z) translates the origin of the layer in either a positive or negative direction along any of the three axes. As a rule, the false origin of a layer should be set to its minimum x,y,z plane coordinate. The z-origin should be set to 0 for two-dimensional layers.

 

A false origin is mandatory for layers that have negative world coordinates. In the figure below, coordinates are in latitude–longitude decimal degrees.

 

 

All coordinates must be positive, so the false origin is set to at least the minimum x-value (125.652), but probably even further to move all features into positive space. You want to be sure you allow for more features to be added in all directions. If Hawaii and Alaska are added to the layer, you’ll need to shift the false origin to about -180,18.

 

 

The false origin is moved so that the minimumx-coordinate will be positive. The y-values are all positive, but you can extend the y false origin in case other data is added to the database.

 

A false origin can also improve coordinate precision, especially for maps that cover a very small area. For example, the extent of the lots layer shown below has more than 10 digits, so ArcSDE will not keep all of them. You can offset the origin in the positive direction because all coordinates are the same for the first two digits in the x-direction (2400000) and one digit in the y-direction. The false origin could be set to 2400000, 700000, 0. This preserves the precision of the numbers when they are converted to integers.

For this layer, all x- and y-values are greater than 2.4 million and 700000 meters, respectively.

Minimum resolution

The minimum resolution below which the precision of a plane coordinate is truncated is called the scale in ArcSDE. For instance, for a layer with units of measure in meters and a precision of no less than half a centimeter, the xyscale would be set to 200. Remember that digital data is only as accurate as its source. z-coordinates and measures also can have scales.

 

You can translate the precision of real numbers to the scale. In the example above, the coordinates are stored to three decimal places. A scale of 1000 will convert the numbers to integers and preserve the same resolution. Double–precision coordinates may have up to six decimal places. ArcSDE integers can have up to ten digits (about two billion), so you need to consider the number of digits to the left of the decimal place plus the number to the right in deciding the system unit.

 

A quick look at the coordinate values of your data will show you the number of decimal places you can use to determine the system unit.