For a shapefile, the spatial reference / coordinate system information is held in the .prj file. I would like to know which file or table in a geodatabase holds the equivalent information for a feature class. For example, if I have a geodatabase called "TownOfCoventry.gdb" and I use the Windows OS to drill down into the gdb folder, there are many many files for a single feature class.

a0000001.gdbindexes a0000001.gdbtable a0000001.gdbtablx etc. etc. etc.

I would just like to be able to tell students that while a .prj file contains the spatial reference for a shapefile, a ?????? table file contains the spatial reference for a feature class within a geodatabase.

  • 2
    FWIW, I think the actual location of the projection file on disk is an irrelevant detail which may just confuse the students. Showing where to find the projection information within ArcCatalog (and what it means) is another matter Commented Sep 20, 2011 at 23:18

5 Answers 5


For a file geodatabase (.gdb, the type made up of the a000000XX tables), I don't believe there is one file that stores all the spatial information like there is for a shapefile. The file geodatabase structure is far more complex.

The underlying schema for geodatabases in Arc10 is described here. However, this schema isn't represented to the user (i.e. can't see it directly). ESRI created a File Geodatabase API which allows you to access some of the back-end information.


being curious, I opened a-new-geodatabase.gdb\*.* in a hex editor and started poking around. It looks like the projection info is stored in a00000003.gdbtable. I'm guessing from gdb to gdb the number could change, but I bet it happens to be number 3 a lot of the time. Dunno what useful thing could be done with such info, but there you are. ;-)

table a0000003.gdbtable in a hexeditor

  • 1
    actually, that will depend on how many featureclasses you add and remove as to create changes. As soon as the database page is filled out, that information may move to a different db data page. Commented Feb 24, 2012 at 3:44

I don't remember the exact table names, but in enterprise (ArcSDE) and personal geodatabases, it's something like spatialreferences. In file geodatabases, you can't access it. There's usually a table that lists the feature classes and has a spatial reference ID column. That value is in the spatialreferences table.

  • if anyone really wants to know the table name, create a Personal Geodatabase, put some data into it, and then open mydata.mdb in MS Access or other tool which understands mdb's. (Ok, I just did it. It's called GDB_SpatialRefs) Commented Sep 19, 2011 at 21:47

Following on from @mkennedy for ArcSDE geodatabases the table is called SPATIAL_REFERENCES and the column that contains the actual projection information as WKT is named SRTEXT. The SRTEXT is populated depending on how the table is registered into the SDE schema. If its by importing a shapefile it will use the text in the .prj file. If there is no .prj file SRTEXT will be set to UNKNOWN. If it is an oracle table that is registered in the sde schema, it will take the info from the oracle metadata table USER_SDO_GEOM_METADATA, etc. That is ofcourse if you DO want to go into such details with your students!


How about hook it up with MS Access ? It may show up there ? I'd make a backup of it before you do. Good Luck.

  • This won't work with a file geodatabase (.gdb), and @mattwilkie already said in a comment earlier that the table is called GDB_SpatialRefs in personal geodatabases (.mdb).
    – blah238
    Commented Feb 24, 2012 at 4:11
  • Oops ! Sorry. I must have not read carefully. Yeah you are right, there's no ms access for the file geodata.
    Commented Feb 27, 2012 at 16:00

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.