How To: Identify and correct mixed workspaces with 6.x and 7.x file formats


What is a 'mixed workspace' and how do I make it work with ArcInfo 7.x?


Workspaces that contain coverages with both 6.x and 7.x formats are 'mixed workspaces'. The documentation states that 7.x software is downward compatible with 6.x or earlier, but it should never be operated in a Version 7.x workspace with an earlier version of ArcInfo. Some clients may still do this (accidently or intentionally) and will need to convert their workspaces if they want to access all the coverages from the same directory.

The file-naming convention changed with Version 7.x. ArcDoc 7.x explains these differences under the section entitled "Internal file name changes at ArcInfo Version 7.0". In summary, workspaces created with ArcInfo Version 6.x or earlier are not in generic format, while workspaces created with ArcInfo Version 7.x or later are, by default, automatically created in generic format.

The primary difference between the two workspace formats is the structure of the files in the INFO directory. Pre-7.0 files have the format: arcXXXdat, arcXXXnit, and arcdr9. Files created at Version 7.x or later have the format:
arcXXXX.dat, arcXXXX.nit, and arc.dir. ARC/INFO 7.x can read and write to pre-7.x coverages, but ArcInfo 6.x does not recognize Version 7.x coverages.

Mixed workspaces may be identified by using the appropriate operating system command for listing files stored in the INFO directory; for example, ls on UNIX platforms, DIR on the VAX platform. There is no specific ArcInfo command for determining whether or not a workspace is in generic format. However, users could run a simple AML that checks for mixed workspaces before carrying out other actions. For example:

&s wks [show workspace]
&type Checking workspace format...
&if [exists %wks%/info/arc.dir] AND [exists %wks%/info/arcdr9] &then
&type WARNING! The current workspace is a Mixed Workspace!
&type Consult the CONVERTWORKSPACE command reference for information
&type on converting the workspace to either generic (7.x) or
&type pre-7.x format ...
&if [exists %wks%/info/arc.dir] &then
&type The workspace is in generic (7.x) format...
&type The workspace is in pre-7.x format...