Error: SDE Error(-139) The specified coordinate exceeds the valid coordinate range
When appending data to an ArcSDE Feature class using the ArcSDE administration commands, for example, cov2sde and shp2sde, or ArcCatalog, the following error may occur:
"SDE Error(-139) The specified coordinate exceeds the valid coordinate range"
Receiving the error indicates some features in the dataset are outside the extent of the feature class.
ArcSDE uses a signed 32-bit integer to store the spatial data internally in the database. There is a limited extent to the feature class, determined by the precision and the xyoffset values you choose.
Note: The signed 32-bit integer will allow data storage of the whole world to approximately 2 cm accuracy.
When loading data into the geodatabase, it is important to select the precision and xyoffset for the data to preserve accuracy and allow for more data in the future. Once set, the values cannot be changed. The only way to change them is to export the data and to reload the data into a new Feature Class.
In ArcCatalog, the settings are Min X, Min Y, Max X, MaxY, and precision. Precision, xyscale, and system units refer to the same setting.
In the shp2sde command, the settings are -x <xoffset,yoffset,xyscale>.
In the sdelayer -o describe_long command, the settings are FalseX, FalseY, and System units.
- FalseX, xoffset, and minx refer to the same setting
- FalseY, yoffset, and miny refer to the same setting.
If the precision and offset are not set, the software will set the values to ensure the data is loaded to the maximum precision while allowing for some growth. This may not allow for all the future growth of the data. It may also set the precision to a value that is higher than the captured accuracy, leading to more space taken in the database. This may lead to poor performance.
Set the precision to a number that reflects the accuracy of the data. For example, if the data is accurate to 1 mm, set the precision to 1000; if the data is accurate to 1 inch, set the precision to 12, assuming the data is measured in feet.
Set the xyoffset to the lowest possible value the minX and minY data will contain. Consider rounding this down to an even number, such as 1000.
The precision and xyoffset determine the maxX and maxY extent of the dataset. Check this value to ensure the data fits in this extent.
Note: If the Feature Class contains M or Z values, the signed 32-bit limit also applies. The min value, and the precision need to be set, and will determine the max value.
Solution or Workaround
Use ArcCatalog to check the extent of the feature class and compare it to the extent of the dataset.
To check the extent of the feature class:
- Open ArcCatalog and navigate to the database.
- Right-click the feature class and select Properties.
- Select the Feature Extent tab in the Feature Class Properties dialog box.
- Under XY Extent, check the Min X, Min Y, Max X, and Max Y values. If they are not the values that support the data, reload the dataset, being careful to choose the appropriate setting for xy offset and precision.