La mejor manera de manejar los valores únicos donde no pueden ser duplicados, es el uso de un diccionario de Python para vincular el nombre del Pueblo con el número de identificación.
Aquí es un ejemplo de Python campo de cálculo bloque de código:
villages = {}
id = 1
def GetID(village):
global villages
global id
if not village in villages:
villages[village] = id
id += 1
return villages[village]
A continuación, simplemente llame GetID(!VillageNameField!)
para la expresión.
Esto creará un vacío de Python diccionario llamado villages
. Luego, para cada registro en el Pueblo de Nombre de Campo va a recordar si ya ha asignado un número de identificación para que el pueblo basado en si ya existe en el diccionario. Si el pueblo ya no existe en el diccionario se le asignará la siguiente secuencial número de identificación. Finalmente, devuelve el número de id de asociado, con el pueblo, desde el diccionario de si había o se tenía que añadir.