5 votos

¿Cómo puedo reclasificar un raster a valores de punto flotante?

Tengo un raster de valores de uso del suelo que necesito reclasificar en valores de concentración de contaminación. Tengo los valores de contaminación en una tabla separada. Son valores decimales (por ejemplo, 0,0056), y mis valores de uso del suelo son enteros del 1 al 6. Tengo una tabla que asigna los valores de uso del suelo a los valores de contaminación.

Intenté utilizar la herramienta Reclass By Table, estableciendo mis valores de contaminación como "Campo de valor de salida", pero la descripción de la herramienta dice que este campo debe ser un campo entero. ¿Cómo puedo reclasificar los valores en valores decimales? Siento que debo estar perdiendo una solución alternativa mucho más fácil.

Mi objetivo es tener una trama de concentración de la contaminación que pueda utilizar posteriormente en otros cálculos.

8voto

Lucas Puntos 128
  1. Asegúrese de que su raster de valores de uso del suelo tiene un tabla de atributos
  2. Añadir una unión entre la tabla de atributos de uso del suelo y la tabla de concentración de la contaminación
  3. Utilice el Búsqueda (Reclass) para crear un nuevo ráster a partir del ráster de uso del suelo con los valores del campo de concentración de contaminación unido.

1 votos

¿Por qué es necesario el paso 3? ¿No se puede simplemente crear una nueva trama a partir de los valores de concentración obtenidos en el paso 2? (Antes se podía hacer eso en versiones anteriores de Spatial Analyst).

4 votos

@whuber Porque la antigua notación de puntos (raster.attribute) que ESRI apoyó durante años ha sido abandonada a partir de ArcGIS 10.

4voto

Konrad Garus Puntos 166

Puedes probar una forma sencilla: multiplicar tus concentraciones por 10000 (u otro valor), para obtener todos los valores como enteros. Luego reclasifica el raster. Esto dará como resultado un raster de tipo entero, así que conviértalo en punto flotante usando la función float. Luego sólo hay que dividir el raster de salida por el mismo 10000 usando la calculadora de Raster.

1voto

Jim Puntos 4057

Int convierte una trama de punto flotante en una versión de número entero como se indica. Flotador convierte una trama de enteros en su representación en coma flotante

1voto

docstryder Puntos 106

Esto puede hacerse con una declaración condicional compleja en la calculadora de trama. Por ejemplo, tengo un raster con FIDs de 0, 1, 2 y 3, y valores flotantes asociados para cada clase. La expresión tenía este aspecto:

Con("n_scene" == 0,0.04,Con("n_scene" == 1,0.13648,Con("n_scene" == 2,0.10343,Con("n_scene" == 3,0.0369))))

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