Raster to Float (Conversión)
Resumen
Convierte un dataset ráster en un archivo de valores de punto flotante binarios que representa datos ráster.
Uso
-
El dataset ráster de entrada puede ser cualquier dataset ráster válido.
-
Se crean dos salidas: un archivo binario con signo de 32 bits en formato punto flotante IEEE con una extensión .flt y un archivo de encabezado ASCII con una extensión .hdr. Los dos utilizarán el mismo nombre de archivo ráster de punto flotante de salida.
-
El archivo ASCII consta de información de encabezado que contiene un conjunto de palabras clave.
El formato del archivo en general es:
NCOLS xxx NROWS xxx XLLCORNER xxx YLLCORNER xxx CELLSIZE xxx NODATA_VALUE xxx BYTEORDER <MSBFIRST | LSBFIRST>
Las definiciones de las palabras clave son las siguientes:
NCOLS y NROWS son el número de columnas y filas del ráster definido por el archivo binario.
XLLCORNER y YLLCORNER son las coordenadas de la esquina inferior izquierda de la celda inferior izquierda.
El uso de XLLCENTER y YLLCENTER no está admitido por De ráster a flotante.
CELLSIZE es el tamaño de celda del ráster.
NODATA_VALUE es el valor que representa a las celdas NoData.
BYTEORDER representa cómo se almacenan los números binarios multibytes en el sistema en el que se generó el archivo binario. En los sistemas basados en Intel, el orden de bytes es LSBFIRST (también conocido como Big Endian). En la mayoría de las otras arquitecturas (todos los sistemas UNIX excepto Alpha y versiones anteriores de Macintosh con CPU Motorola), el orden de bytes es MSBFIRST (también conocido como Little Endian).
-
El NODATA_VALUE es el valor del archivo de salida asignado a las celdas en el ráster de entrada que contienen NoData. Este valor normalmente se reserva para aquellas celdas cuyo valor verdadero es desconocido.
-
Por defecto, los valores NoData en el ráster de entrada tendrán un valor de -9999 en el archivo flotante de salida. Si desea utilizar otro valor para representar NoData, se puede aplicar un procedimiento similar al siguiente:
- Ejecute la herramienta IsNull de Spatial Analyst en el ráster original. La salida será un ráster de valores binarios, donde 1 corresponde a NoData en el ráster original y 0 es cualquier otro valor.
- Ejecute la herramienta Con de Spatial Analyst, especificando el resultado IsNull como el Ráster condicional de entrada, el nuevo valor al que le asignará valores NoData como el valor verdadero de entrada, el ráster original como el ráster falso de entrada y una condición Expresión de "valor = 1".
- Convierta el ráster de salida Con a un archivo binario de punto flotante con De ráster a flotante
- Cambie el valor de NODATA_VALUE en el archivo de encabezado ASCII al valor al que se convirtió el NoData.
-
Esta herramienta sólo escribe el origen como la esquina inferior izquierda de la celda inferior izquierda. La herramienta De flotante a ráster también admite el origen como el centro de la celda inferior izquierda.
Sintaxis
Parámetro | Explicación | Tipo de datos |
in_raster |
El dataset ráster de entrada. El ráster puede ser de tipo entero o punto flotante. | Raster Layer |
out_float_file |
El archivo ráster de punto flotante de salida El nombre de archivo debe tener una extensión .flt. | File |
Ejemplo de código
Convierte un dataset ráster en un archivo de valores de punto flotante binarios que representa datos ráster.
import arcpy from arcpy import env env.workspace = "C:/data" inRaster = "elevation" outFloat = "c:/output/elevation.flt" arcpy.RasterToFloat_conversion("elevation", "c:/output/elevation.flt")
Convierte un dataset ráster en un archivo de valores de punto flotante binarios que representa datos ráster.
# Name: RasterToFloat_Ex_02.py # Description: Converts a raster dataset to a file of binary floating-point # values representing raster data. # Requirements: None # Import system modules import arcpy from arcpy import env # Set environment settings env.workspace = "C:/data" # Set local variables inRaster = "elevation" outFloat = "c:/output/elevation.flt" # Execute RasterToFloat arcpy.RasterToFloat_conversion(inRaster, outFloat)