ASCII vers raster (Conversion)
Récapitulatif
Convertit un fichier ASCII représentant des données raster en jeu de données raster.
Utilisation
Le fichier en entrée correspond à un fichier texte au format ASCII.
-
La structure du fichier ASCII se compose d'informations d'en-tête contenant un ensemble de mots-clés, suivies de valeurs de cellules classées par ordre d'importance des lignes.
Il existe deux variantes à la structure du fichier ASCII. L'une identifie l'origine par les coordonnées de l'angle inférieur gauche de la cellule inférieure gauche et l'autre comme le centre de la cellule inférieure gauche.
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 row 1 row 2 . . row n
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 ASCII.
XLLCORNER et YLLCORNER désignent les coordonnées du coin inférieur gauche de la cellule inférieure gauche.
Vous pouvez également utiliser XLLCENTER et YLLCENTER pour spécifier l'origine par les coordonnées du centre de la cellule inférieure gauche.
CELLSIZE est la taille de cellule du raster.
NODATA_VALUE est la valeur qui doit représenter les cellules NoData.
Les valeurs de cellule doivent être délimitées par des espaces. Aucun retour chariot n'est nécessaire à la fin de chaque ligne du fichier ASCII. Le nombre de colonnes dans l'en-tête permet de déterminer à quel moment une nouvelle ligne commence.
Voici un exemple de fichier raster ASCII :
NCOLS 480 NROWS 450 XLLCORNER 378922 YLLCORNER 4072345 CELLSIZE 30 NODATA_VALUE -32768 43 2 45 7 3 56 2 5 23 65 34 6 32 54 57 34 35 45 65 34 2 6 78 4 2 6 89 3 2 7 45 23 5 ...
-
La valeur NODATA_VALUE correspond à la valeur du fichier ASCII qui sera affectée aux cellules NoData dans le raster en sortie. Normalement, cette valeur est réservée aux cellules dont la valeur vraie est inconnue. Lorsque le raster en sortie est créé, une valeur NoData générée par le système est utilisée à la place de NODATA_VALUE. La rubrique Valeurs NoData dans les jeux de données raster explique comment modifier la valeur NoData une fois le raster créé.
-
Le nombre de valeurs de cellule contenu dans le fichier doit être égal au nombre de lignes multiplié par le nombre de colonnes. Sinon, le système renvoie une erreur.
-
Il est possible d'avoir un réel simple ou un entier comme type de données en sortie.
Une fois le raster en sortie créé, utilisez l'outil Définir une projection pour lui attribuer le système de coordonnées approprié.
Seul le paramètre Générer la structure pyramidale des paramètres d'environnement Pyramide est respecté. Les paramètres d'environnement Pyramide restants sont ignorés, ainsi que les autres paramètres d'environnement Stockage des données raster. Il est possible de renforcer votre contrôle sur la nature des pyramides en effectuant une procédure supplémentaire à l'aide de l'outil Générer la structure pyramidale.
Syntaxe
Paramètre | Explication | Type de données |
in_ascii_file |
Fichier ASCII en entrée à convertir. | File |
out_raster | Jeu de données raster en sortie à créer. Si vous n'enregistrez pas le fichier dans une géodatabase, indiquez l'extension .tif pour un format de fichier TIFF, .img pour un format de fichier ERDAS IMAGINE, ou aucune extension pour un format de raster Esri Grid. | Raster Dataset |
data_type (Facultatif) |
Type de données du jeu de données raster en sortie.
| String |
Exemple de code
Convertit un fichier ASCII représentant des données raster en jeu de données raster.
import arcpy
arcpy.ASCIIToRaster_conversion("c:/data/elevation.asc", "c:/output/elevation",
"INTEGER")
Convertit un fichier ASCII représentant des données raster en jeu de données raster.
# Name: ASCIIToRaster_Ex_02.py
# Description: Converts an ASCII file representing raster data to a raster
# dataset.
# Import system modules
import arcpy
# Set local variables
inASCII = "c:/data/elevation.asc"
outRaster = "c:/output/elevation02"
rasterType = "INTEGER"
# Execute ASCIIToRaster
arcpy.ASCIIToRaster_conversion(inASCII, outRaster, rasterType)