+1 voto
4.3k vistas

Numerar automáticamente un campo de una tabla en un shp, distinto al de FID u objectid, ya que el orden del numero correlativo de  fid u objectid es DIFERENTE al orden alfabético Ejemplo centros poblados

Object ID Centros poblados

Número Automático

(Enumerar según orden alfabético de los centros poblados)
 

1 Alzamora 1
3 Bartolomé 2
2 Guadalupe 3

                      

por Confiable (256 puntos)   en ArcGIS Desktop
reetiquetada por | 4.3k vistas

1 Respuesta

0 votos

Tal vez has intentado con al crea un nuevo campo tipo Double/Short Integer, clic derecho sobre el campo seleccionar Field Calculator, selecciona Python, activa Show Codeblock, ahora en Pre-Logic Script Code y el siguiente cuadro copias los siguientes códigos respectivamente:

Expression:
autoIncrement()

Expression Type:
PYTHON_9.3

Code Block:
rec=0
def autoIncrement():
 global rec
 pStart = 1 #adjust start value, if req'd 
 pInterval = 1 #adjust interval value, if req'd
 if (rec == 0): 
  rec = pStart 
 else: 
  rec = rec + pInterval 
 return rec

Los valores de las líneas pStart pInterval, se pueden modificar arbitrariamente.

Field Calculator Python Rec

 

Otra opción sería con un script de Visual Basic rec_number.cal de Easy Calculate.

Static rec As Long
Static i As Long
Dim lStart As Long
Dim lInterval As Long
'=================
'adjust start value and interval below
lStart =  1
lInterval = 1
'=================
If (i = 0) Then
  rec = lStart
Else
  rec = rec + lInterval
End If
i = i + 1

__esri_field_calculator_splitter__
rec

por Administrador (7.9k puntos)  
editado por
0
Franz, podrías en reenviar esos códigos de una manera con separaciones, que se puedan ver los que siguen después y no colocar todos de unos solo sin con separación, no se si me dejo entender, algo así ya que solo puedo ver lo de la imagen, espero puedas y seria de gran ayuda, gracias

global rec
pStart = 1
pInterval = 1
if (rec == 0):

Bueno lo he intentado pero se enumera igual al de object o fid y no se puede realizar una numeración de acuerdo al orden alfabético a-z o z-a que deberían de ser distinta numeración.
0
Correcto, ya lo he corregido.
No olvides hacer un correcto uso de la gramática y ortografía.
0
Buenas tardes Franzpc:

En primer lugar gracias por el blog, me esta siendo de gran ayuda. Estoy intentando, sin éxito, aplicar esta explicación práctica a mi caso. Tengo un shape con 1700 parcelas que contienen datos del catastro con un FID asignado (por defecto). Quiero ordenar este shape  a mi manera y asignarle un ID personalizado. El problema es que siempre que creo mi ID desde Phyton, tal y como has explicado, no me varia el orden respecto a FID, mi ID personaliza es igual al FID y yo lo que quiero es que sea distinta. ¿ Puedes ayudarme?

Gracias
0
Cómo deseas ordenar, este script ordena en base al orden de creación de cada registro.
0
Tengo la misma duda que le primer comentario. Al aplicar el código phyton, si bien se enumeran automáticamente, no es en el orden que yo deseo. Me gustaría que el producto fuera que estuvieran numerados por orden alfabético del campo (A., B, C ...... Z - 1. A, 2.B, 3.C .... n.Z)
0
Hola, tengo la misma duda, y no consigo que nadie me pueda ayudar, lo he buscado por todos los foros que conozco, igual me dejo alguno pero no hay manera de poder conseguir lo que quiero hacer que és lo mismo que piden estos usuarios.
Alguien lo ha conseguido?
como se puede ordenar automaticamente un campo nuevo o ya creado siguiendo el orden de otro campo, o según su selección y ordenados de mayor a menor o al revés.

gracias
1,450 preguntas
1,594 respuestas
986 comentarios
1,299 usuarios