Web Analytics Made Easy -

Node Dangles

Feature classes and Tables with names starting with 'nd_'

Random luck me to discovering a bug related to feature classes whose names start with ‘nd_'.  It appears that you are allowed to create feature classes starting with ‘nd_’ but ArcCatalog will not display them.  Further research shows this behavior also occurs for table and for ArcSDE (PostGres) geodatabases,  personal geodatabase, and file geodatabases–I am using ArcCatalog 10.0.

I first noticed something odd was occurring while importing a series of shapefiles into a geodatabases.  After importing 15 shapefiles, I only had thirteen feature classes despite receiving no errors during the process.  The two shapefiles that failed to import were named ND_oil_and_gas.shp and ND_Bendix_Study.shp.  Subsequent attempts to import them individually returned an error ‘Invalid Target Name’.

Invalid Target Name

I discovered in pgAdmin III (Postgres SDE Geodatabase) that the table existed and there was an entry in sde.sde_layers for the feature class but ArcCatalog refused to show it.


I used some un-supported methods to try to resolve the problem and despite some sweating, I failed to find a way to get ArcCatalog to display these feature classes.  I did, however, at least found a way to delete them–arcpy can detect that the feature classes exists so it is able to delete them.


At least by deleting them, I can prevent leaving ‘invisible’ feature classes from hanging out in my geodatabase.

I suspect the problems stems from how ESRI has implemented the Network dataset table-naming structure –dirty areas are stored in tables named _nd__dirtyareas and nd__dirtyobjects. Possibly the developer  working on the ArcCatalog GUI ended up suppressing showing feature classes and tables whose names start with ‘nd’.

And, just for posterity’s sake, here is a python code snippet listing the feature classes in a workspace:

import arcpy
arcpy.env.workspace = 'c:/temp/_nd/F.gdb'
print arcpy.env.workspace  
for fc in arcpy.ListFeatureClasses():  
   print fc
print 'Done!'