0 votos
177 vistas

Estoy usando la capa de 2,469 municipios que el SCINCE 2020 tiene para México, y lo que quiero es crear un nuevo campo en donde se enumeren automaticamente del 1 al 2,469 a partir de la población reportada por el INEGI para cada municipio.


Gracias
por Novato (100 puntos)   en ArcGIS Desktop | 177 vistas

1 Respuesta

0 votos
La enumeración directa del 1 al 2,469 no será posible a menos que primero ordenes los municipios de acuerdo con la población que reporta el INEGI.

En la ventana de Calculate Field, necesitas usar una expresión que genere una secuencia de números. En este caso, puedes usar el siguiente código Python que deberás colocarlo en ambos campos:

autoIncrement()

Luego, debes definir la función autoIncrement en el cuadro de "Pre-Logic Script Code" (Código de Pre-Script Lógico) como:

rec=0
def autoIncrement():
 global rec
 pStart = 1 #puedes cambiar esto si quieres que comience desde otro número
 pInterval = 1 #puedes cambiar esto si quieres que incremente en un número distinto a 1
 if (rec == 0):
  rec = pStart
 else:
  rec += pInterval
 return rec
por Administrador (7.9k puntos)  
0
Gracias, de hecho lo que quería evitar era el ordenar manualmente o desde excel el listado de municipios con base en el ranking de población total reportada por el INEGI, y de esta manera evitar el JOIN de ese dbf editado en excel y hacerlo todo desde ArcMap o QGis.
Pues la opción de autoIncrement() ya la había intentado pero siempre me ordena en el mismo orden, y no con base en un campo número ya existente, en este caso el de población.

Nuevamente, muchas gracias.
0
Disculpa en realidad no sé que significa INEGI, pero si es posible generar una numeración en base a otro campo. Mejor dicho me puedes ayudar con un ejemplo de cómo se muestra actualmente tú tabla de atributos y cómo desearías que quede el nuevo campo. Si es posible envía el nombre exacto de los campos.
1,441 preguntas
1,591 respuestas
980 comentarios
1,271 usuarios