5 votos

¿Actualización de una columna en la calculadora de campos utilizando los valores de otra columna?

Soy muy nuevo en el SIG, así que espero recibir ayuda. Estoy utilizando ArcGIS 10.2 for Desktop.

Quiero crear una nueva columna numérica en mi tabla de atributos para almacenar las "estaciones" en números.

Por ejemplo, quiero que el campo "estaciones" contenga un código numérico (es decir, "verano" será "1", "otoño" será "2", "invierno" será "3" y "primavera" será "4").

¿Cómo puedo hacerlo con la calculadora de campo?

7voto

rg255 Puntos 111

Supongo que está utilizando ArcGIS por su terminología.

1) Añade un nuevo campo llamado "códigos". Tipo = Entero corto

2) Seleccione por atributos --en el menú superior-- "estaciones = verano".

3) Abra la tabla de atributos y en la calculadora de campos haga clic en el campo que añadió en el paso 1 y escriba 1.

Sólo hará los registros seleccionados por lo que todos los veranos obtendrán 1.

Repite para la primavera y así sucesivamente.

Puedes usar "si" en la calculadora de campo pero como eres un novato y solo tienes cuatro clases solo haz selecciones por ahora.

Ni siquiera te molestes en activar el modo de edición a menos que necesites "deshacer".

4voto

Dave Haynes Puntos 999

Si quieres usar QGIS puedes usar una sentencia CASE. En este ejemplo seasons es el nombre del campo que contiene la información del texto

CASE WHEN seasons = 'summer' THEN 1
  WHEN seasons = 'autumn' THEN 2
  WHEN seasons = 'winter' THEN 3
  WHEN seasons = 'spring' THEN 4
END

2voto

Robert Fraser Puntos 231

Añade tu nuevo campo entero corto a tu tabla de atributos, haz clic con el botón derecho del ratón en el nombre del campo y haz clic en "Calculadora de campos".

En la parte superior de la ventana de la calculadora de campos, en la casilla "Parser", marque la casilla/burbuja de Python. Debajo de la lista de 'Campos', marque la opción "Mostrar bloque de código" e introduzca el siguiente código en el bloque de código:

def Classify(a):
    if a == "summer": return 1
    elif a == "autumn": return 2
    elif a == "winter": return 3
    elif a == "spring": return 4

En el recuadro situado debajo del bloque de código (donde, de otro modo, se asignaría un valor al campo), escriba

Classify(!seasons!)

A continuación, haga clic en Aceptar. La ventana de la calculadora de campos debería tener este aspecto:

enter image description here

Avísame si tienes algún problema con él.

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X