5 votos

Cómo reemplazar los valores nulos en la tabla de atributos de ArcGIS 10.2

Tengo un campo de cadena 'Oneway' con tres valores '+' '-' y Null que muestran la accesibilidad de una calle, me gustaría reemplazarlos con los valores 'F' 'T' y null como el script para la red del conjunto de datos espera esos valores. Sin embargo, parece que no es posible reemplazar los valores si los valores de Null están presentes. También intenté cambiar el tipo de campo a double o texto pero las propiedades del campo no son editables de alguna manera (intenté esto en el catálogo de Arc). Solo puedo reemplazar los valores '+' y '-' con números usando la calculadora de campos pero necesito reemplazarlos con letras.

1 votos

¿Cuál es el tipo de campo actual para cada una de las columnas?

0 votos

¿Cuál es su formato de datos? ¿Geodatabase de archivo, shapefile o geodatabase de ArcSDE, o ...?

18voto

Hameno Puntos 129

Una forma automatizada de realizar esta tarea es ejecutando una función de python dentro del Calculador de Campos (no se requiere selección y reversión de selección), vea el ejemplo a continuación:

introducir descripción de la imagen aquí

Adicionalmente, si desea reemplazar NULL con una cadena vacía, simplemente agregue estas dos declaraciones:

elif value is None:
    return ''

1 votos

¡Un método superior!

2 votos

+1, pero puede valer la pena señalar (si estoy en lo cierto) que al devolver '' si el formato de los datos es un shapefile en realidad insertará ' '.

6voto

John Kramlich Puntos 286

Así es como lo haría:

  1. Seleccionar todas las filas donde oneway = "+" luego ejecutar un cálculo de campo para establecerlas en "F"
  2. Seleccionar todas las filas donde oneway = "-" luego ejecutar un cálculo de campo para establecerlas en "T"
  3. Seleccionar todas las filas donde oneway = "F" Y oneway = "T", invertir la selección luego ejecutar el cálculo de campo y establecer las filas restantes en "nulo".

1 votos

Diría seleccionar todas las filas donde oneway = "F" O oneway = "T". No creo que tengas una fila donde oneway sea "F" Y "T".

0voto

Marco Puntos 11

Tuve este problema después de haber hecho una unión espacial: tenía valores nulos que en mi caso necesitaban cambiarse a 0. Lo solucioné usando el siguiente método:

  • Barra de herramientas 'Seleccionar tabla' (Esto extrae todos los campos a una tabla)

  • Barra de herramientas 'Tabla a Excel'

  • Luego abrí el archivo de Excel resultante en Excel y, usando Reemplazar, cambié [Blanco] por 0. Luego necesitas formatear las celdas, las celdas con números deben formatearse como números y el texto como texto, etc.

  • Barra de herramientas 'Excel a tabla' (Todos los valores nulos ahora son 0).

  • Unir por atributos a la entidad original.

¡Todo funcionó muy bien! (¡A veces es mucho más fácil hacer las cosas en otros programas!)

0voto

Denise Puntos 1
  • Seleccione por atributo para '+'
  • Iniciar editor
  • Haga clic en atributos en la barra de herramientas del editor
  • Cambie '+' a 'F' para los registros seleccionados en el campo
  • Repita para '-' a 'T'

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