Wednesday, October 19, 2005

Geodatabase... GIS Database... Part 1

Coordinates (X/Y or Latitude/Longitude) in geodatabase consists of at a minimum an X and Y pair, sometimes Z and M. Each of these values x,y,z and m is represented in the internal geodatabase storage as 32 –bit integers. This Integer is not a MSAccess or Oracle datatype... this is a C/C++ Data Type which is 32 bit in size. The order in which these coordinates are stored is also known as BINARY STREAM: x1/y1, x2/y2, …. x/y. This BINARY STREAM is something like a bit array or enumerations (if you are familiar with programming).

These coordinates or sets of it... creates POINTS, LINES and POLYGON features in GIS.

OK so far?? I think better I explain from high-level then into juicy details... lets start my explanation from simple to complicated. Some of the explanation below are from ESRI documentation... some my own research.

A. Float Point storage in Geodatabase


Geodatabase (personal or ArcSDE) stores geometry coordinates as Integer data type (32 bit) streams internally in a SHAPE field (personal) or POINTS field (ArcSDE).



Basically, you can scale floating-point values to a larger integer value in order to preserve information stored in digits to the right of the decimal point. In a simple example, the number 3.6 could be stored as the integer value 36 with no loss of information. By multiplying each floating-point number by 10 before converting it to an integer, you can preserve one decimal digit. To convert back to floating-point, the 36 value would be divided by 10, resulting in the number 3.6.

The precision you choose when creating a new feature class should reflect the quality of the source coordinate data. Higher-resolution data requires a higher precision value to preserve all of the known information recorded in the floating-point coordinate values.

Not all digits in a floating-point number represent actual data, though. A data capture device, such as a scanner, may be able to resolve coordinate locations within one foot when reading a 1:20,000 scale map. But on the scanned paper map, the pen used to draw a line representing a river may cover 40 feet on the ground. As a result, the computer would end up storing 40 times more data than is necessary to represent the actual information contained in the map.

Be aware that it is impossible for the computer to determine the quality of your data for you. For example, you may purchase an economical global positioning system (GPS) at most sporting supply stores. You could read the display on your GPS receiver and determine that your office is located at –120.4832765 degrees longitude and +34.5912634 degrees latitude. But, those values may only be accurate to four decimal places, not the seven displayed on the receiver. You could create a feature class with a precision of only 10,000 and still preserve all of the true information collected by your GPS receiver.

Without input from you, the ArcGIS software or a client application will calculate the largest precision possible for a given dataset, approximately, in order to preserve the most information from the source floating point numbers. This will result in unnecessarily large storage requirements. Information regarding data quality should accompany any data source, either digitally or as supporting hard-copy documentation.

0 Comments:

Post a Comment

Subscribe to Post Comments [Atom]

<< Home