Raster vers réels (Conversion)
Récapitulatif
Convertit un jeu de données raster en un fichier de valeurs binaires à virgule flottante représentant les données raster.
Utilisation
-
Le jeu de données raster en entrée peut correspondre à tout jeu de données raster.
-
Deux sorties sont créées : un fichier de nombres binaires à virgule flottante IEEE, 32 bits, avec une extension .flt et un fichier d'en-tête ASCII avec une extension .hdr. Ces deux fichiers utilisent le même nom de fichier raster de type flottant en sortie.
-
Le fichier ASCII se compose d'informations d'en-tête contenant un ensemble de mots-clés.
En règle générale, le format du fichier est le suivant :
NCOLS xxx NROWS xxx XLLCORNER xxx YLLCORNER xxx CELLSIZE xxx NODATA_VALUE xxx BYTEORDER <MSBFIRST | LSBFIRST>
Les définitions des mots-clés sont les suivantes :
NCOLS et NROWS correspondent au nombre de colonnes et de lignes dans le raster défini par le fichier binaire.
XLLCORNER et YLLCORNER désignent les coordonnées du coin inférieur gauche de la cellule inférieure gauche.
L'utilisation de XLLCENTER et de YLLCENTER n'est pas prise en charge par Raster vers réels.
CELLSIZE est la taille de cellule du raster.
NODATA_VALUE est la valeur qui doit représenter les cellules NoData.
BYTEORDER représente la manière dont les nombres binaires à plusieurs octets sont stockés sur le système où le fichier binaire a été généré. Sur les systèmes dotés de processeurs Intel, l'ordre des octets est LSBFIRST (également connu sous le nom de primauté des octets de poids faible). Sur la plupart des autres architectures (la majorité des systèmes UNIX, à l'exception d'Alpha, et sur les Macintoshes antérieurs avec processeurs Motorola), l'ordre des octets est MSBFIRST (également connu sous le nom de Big Endian).
-
La valeur NODATA_VALUE du fichier de sortie est attribuée à toutes les cellules NoData du raster en entrée. Normalement, cette valeur est réservée aux cellules dont la valeur vraie est inconnue.
-
Par défaut, les valeurs NoData du raster en entrée est égale à -9999 dans le fichier de type flottant en sortie. Pour utiliser une autre valeur pour représenter NoData, appliquez la procédure suivante :
- Exécutez l'outil IsNull de l'Extension ArcGIS Spatial Analyst sur le raster d'origine. Vous obtiendrez en sortie un raster de valeurs binaires, où 1 correspond à NoData sur le raster d'origine et 0 à toute autre valeur.
- Exécutez l'outil Con de l'Extension ArcGIS Spatial Analyst, en indiquant le résultat de l'outil IsNull comme la condition à vérifier dans le Raster de condition en entrée, la nouvelle valeur à attribuer aux valeurs NoData pour lesquelles la condition est vraie en entrée, le raster d'origine comme raster faux en entrée, et une Expression de condition de "valeur = 1".
- Convertissez le raster en sortie Con en un fichier binaire à virgule flottante avec l'outil Raster vers réels
- Modifiez la valeur du paramètre NODATA_VALUE dans le fichier d'en-tête ASCII par la valeur obtenue après conversion de la valeur NoData.
-
Cet outil identifie l'origine uniquement par les coordonnées du coin inférieur gauche de la cellule inférieure gauche. L'outil Réels vers raster identifie également l'origine avec le centre de la cellule inférieure gauche.
Syntaxe
Paramètre | Explication | Type de données |
in_raster |
Jeu de données raster en entrée. Le raster peut être de type entier ou à virgule flottante. | Raster Layer |
out_float_file |
Fichier maillé de réels en sortie. Le nom de fichier doit porter une extension .flt. | File |
Exemple de code
Convertit un jeu de données raster en un fichier de valeurs binaires à virgule flottante représentant les données raster.
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")
Convertit un jeu de données raster en un fichier de valeurs binaires à virgule flottante représentant les données raster.
# 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)