¿Qué es un Id. de objeto?
Un ObjectID es una columna única, de enteros no nulos utilizada para identificar exclusivamente filas en las tablas de una geodatabase. Los ObjectID están limitados a valores de 32 bits, que almacenan un valor máximo de 2,147,483,648.
Las tablas que se crean a través de ArcGIS o que se crean fuera de ArcGIS y luego se registran con la geodatabase, automáticamente tienen un campo objectID agregado a ellas. Los valores en este campo son mantenidos por la geodatabase. ArcGIS utiliza el objectID para hacer cosas como desplazar y visualizar conjuntos de selección y realizar operaciones de identificación en las entidades.
Dado que la mayor parte de la funcionalidad de ArcGIS for Desktop requiere que un objectID sea único, debe tener precaución cuando trabaja directamente con la base de datos para que los objectID no se dupliquen. Por ejemplo, cuando crea vistas con una relación de uno a muchos, es posible que se dupliquen los objectID. Esto ocasiona un comportamiento incoherente en la funcionalidad de ArcGIS for Desktop.
¿Cuándo se agrega un objectID a una tabla?
Hay tres maneras de agregar un objectID a una tabla:
- Una columna con ObjectID mantenida por una geodatabase se agrega automáticamente a cualquier tabla creada al utilizar ArcGIS.
- Si registra una tabla con la geodatabase que no tiene una columna que califica, la geodatabase agrega otra columna a la tabla que cumple con los requisitos de un objectID. Si la tabla ya contiene una columna que se denomina ObjectID, la geodatabase agrega una columna llamada OBJECTID_.
- Si registró su tabla con ArcSDE utilizando el comando sdetable o sdelayer, especificó una columna de Id. de fila en ese momento. También especificó que usted (mantenida por el usuario) o ArcSDE deben mantener esa columna.
Cuando registra posteriormente la tabla con la geodatabase, el Id. de fila de la tabla se utilizará para el Id. del objeto en la geodatabase si especificó un objectID de fila mantenido por ArcSDE. Si, en cambio, especificó un Id. de fila mantenido por el usuario, la geodatabase agrega una nueva columna de ObjectID cuando registra la tabla con la geodatabase posteriormente. Esta nueva columna ObjectID sustituye a la columna que especificó cuando registró la tabla con ArcSDE. También cambia el tipo de datos del usuario, definida a partir de un objectID de objectID a un entero largo.
Por lo tanto, si va a registrar la tabla con la geodatabase después de registrarla con ArcSDE, debe registrar el Id. de fila mantenido por ArcSDE.