Solution or Workaround
Description
Cannot convert Atlas .bna files to Atlas .agf.
Cause
This is generally caused by processing data that is not in single precision, which leads to attributes being lost in the resulting .PAT file.
PC ARC/INFO is limited to single precision data, which is accurate to 6-7 digits.
Solution
1. Load the .BNA file in a text editor and examine the coordinate data with respect to the limits of single precision.
For example: if the data coordinates look something like this:
-76.xxxxxx 38.yyyyyy
This means the data is probably in lat-long with 6 digits of decimal places. and two digits of accuracy on the -76 and 38 numbers are being wasted.
2. Adjust the coordinate data by doing an X,Y shift:
Code:
ATLASARC [atlas_export_file] [cover] {POLY / LINE / POINT} {x_shift} {y_shift}
The {x_shift} {y_shift} values will be substracted from each X and Y coordinate of the [atlas_export_file]. In our example:
Code:
ATLASARC b24003 mycover poly -76 38
This will strip off the leading -76 and 38 and give you two more digits of accuracy.
3. Run CLEAN with the appropriate dangle and fuzzy tolerance.
In our example, if we were to clean it wit the default dangle and fuzzy (0.002, or 3 decimal digits), we would lose all accuracy beyond the third decimal digit. Most of the coverage would collapse down to nothing or to one polygon. The correct dangle or fuzzy would be 1e-6 or 1e-7:
CLEAN mycover outcover .0000001 .0000001
4. Convert the coverage to a shapefile:
Code:
ARCSHAPE [cover] [shape_file] [LINE / POINT / POLY]
In our example:
Code:
ARCSHAPE outcover outshp POLY
5. Convert the shapefile to an AGF file:
Code:
SHAPEAGF [shape_file] [agf_file] [projection] [layer_name] [id_item]
[name1_item] [name2_item]
In our example:
shape_file = outshp
agf_file = newagf
projection = LL 27 Latitude/Longitude
layer_name = aacty
Name1 Item = outshp_
Name2 Item = ATLAS_P
ID Item = outshp_id