3

When creating standalone tables in a geodatabase, what are the requirements for the OID/FID/ObjectID field name? Specifically, does it have to be named 'ObjectID'?

5
  • Have you asked Tech Support what the Esri recommendation is? I generally let ArcGIS name the registered rowid column (which is the formal name), and it will use objectid if it's available, but it certainly isn't required (since sometimes the input table(s) already have an "objectid" and it chooses "objectid_1" instead).
    – Vince
    Apr 26, 2019 at 17:13
  • 1
    @Vince Thanks for the input. See my edit. I'd love to see some reference backing up your claim. As for calling ESRI, i'm holding off for now. This forum usually answers my questions faster than tech support.
    – Barbarossa
    Apr 26, 2019 at 18:09
  • My "claim" is documented behavior (second bullet). You will NOT find any source that asserts that registered rowid columns are required to be named "objectid". You are attempting to prove a negative. If you want what Esri says, you should ask Esri. Asking anyone else is hearsay (aka opinion-based).
    – Vince
    Apr 26, 2019 at 18:24
  • 1
    I've read that. It only mentions naming if you register a table with the geodatabase that does not have a qualifying field. If i'm attempting to prove a negative, that asserts that there is proof to the contrary somewhere. If i will not find any source where rowid columns should be named "objectid", then perhaps there is a source saying i can name it anything i wish? So, is asking any ESRI related questions on this forum opinion-based? It's not hearsay if it's documented.
    – Barbarossa
    Apr 26, 2019 at 18:30
  • 2
    This question should be re-opened. As it is phrased now, after editing, it is very clearly asking for specific requirements and not opinion based. Jan 22, 2021 at 18:36

1 Answer 1

2

I was under the assumption that row id columns (thanks for the correct nomenclature Vince) MUST be named FID for shapefiles and ObjectID in geodatabases. Even creating a table in Catalog automatically creates a row id column named ObjectID. It has been pointed out that it isn't required to use ObjectID as the row id column name, but I couldn't find documentation on the subject. It is alluded to however.

What is an ObjectID does point out the following:

  • An ArcGIS-maintained ObjectID field is automatically added to any table created using ArcGIS.
  • If you register a table with the geodatabase that does not have a qualifying field, the geodatabase adds another field to the table that meets the requirements of an ObjectID and names it OBJECTID. If your table already contains a column that is named OBJECTID, the geodatabase adds a column named OBJECTID_1.
  • If you register a table with the geodatabase and the table does contain a qualifying field (integer, not null), the existing column can be used as the ObjectID.

So if a table does contain a qualifying field (integer, not null), it can be used as the ObjectID, or row id column. This also states that one or more fields ( Integer (positive values only), String, GUID, Date ) can be used as row id columns. In the case of multiple fields, ArcGIS adds a field named ESRI_OID. However, neither discuss naming restrictions, so it can be assumed that naming methods of any field apply to row id column names as well.

Defining fields in tables states that

Field names in the same table must be unique; for instance, you can't have two columns with the name ObjectID. Field names must also start with a letter and not contain spaces or reserved words. Field names are limited to 64 characters for both file and personal geodatabases, 31 characters in SQL Server and SQLExpress, 30 characters in Oracle and DB2; dBASE is limited to 10 characters.

I've tested this and the row id column can be named anything I wish, as long as it adheres to the standard above.

Perhaps to someone with a better understanding of or more experience with ArcGIS behavior wouldn't have had trouble with this. However, I believe the question is something that many ArcGIS users don't have to worry with as they take it as ArcGIS gives it to them.

1
  • It's very likely that ArcMap will not recognize an existing ObjectID field in CSV or an Excel spreadsheet no matter what you do with regards to column name or number formatting. ArcGIS Pro is a bit smarter and will recognize an ObjectID number field. (I don't know if name matters.) Jan 22, 2021 at 19:03

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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