Le géotraitement repose sur le concept des types de données. Un type de données qui définit le contenu de la variable est associé à chaque paramètre d'outil. Certains types de données simples sont des chaînes (n'importe quel ensemble de caractères alphanumériques), des valeurs booléennes (valeur vraie/fausse) et des valeurs longues (valeur entière comprise entre -2 147 483 648 et 2 147 483 647). En plus de ces types de données simples, des dizaines d'autres types de données sont créés spécifiquement pour les données existant dans ArcGIS, comme le champ, le système de coordonnées et l'étendue.
La documentation relative à chaque type de données se trouve dans Geoprocessing_data_types.pdf. Vous pouvez également ouvrir le document (Geoprocessing_data_types.pdf) depuis le dossier \arcgis\Documentation dans l'emplacement d'installation d'ArcGIS Desktop.
Pour afficher ce document, vous devez disposer d'Adobe Reader, que vous pouvez télécharger gratuitement à partir du site http://www.adobe.com/products/acrobat/readstep.html.
Cas où les types de données sont requis
Dans certains cas, vous pouvez être amené à fournir des types de données pour les variables et les paramètres.
- Dans ModelBuilder, lorsque vous créez une variable autonome, vous devez fournir un type de données pour la variable à créer.
- Lorsque vous ajoutez un outil de script à l'aide de l'assistant Outil de script, vous devez fournir le type de données pour chacun des paramètres de l'outil de script.
Dans le cas de ModelBuilder, vous créez la plupart du temps des variables à partir d'un paramètre d'outil existant. Comme un type de données est associé à tous les paramètres, la variable est automatiquement créée avec le type de données approprié.
Définition du type de données d'un paramètre
Vous pouvez définir le type de données d'un paramètre de plusieurs manières :
- Dans la page de référence d'un outil, la section de syntaxe comporte un tableau décrivant chaque paramètre et son type de données.
- Dans ModelBuilder, créez une variable à partir d'un paramètre d'outil. Cliquez avec le bouton droit sur la variable, sélectionnez Propriétés, puis cliquez sur l'onglet Type de données. Le type de données s'affiche en haut de la boîte de dialogue.
- Dans ModelBuilder, créez un rapport de modèle. Le rapport répertorie tous les types de données pour tous les paramètres.
Syntaxe de chaîne
Chaque type de données possède une syntaxe de chaîne utilisée dans la boîte de dialogue de l'outil et dans les scripts. La syntaxe de chaîne de la plupart des types de données est très simple, telle que le chemin d'accès à un jeu de données, un nombre ou un mot-clé. Par exemple, le type de données de champ est le nom du champ. D'autres types de données ont une syntaxe plus complexe.
Vous trouverez la syntaxe de chaîne d'un type de données dans le fichier PDF décrit ci-dessus. Si vous ne connaissez pas la syntaxe de chaîne particulière à un type de données, essayez cette procédure :
- Localisez un outil qui utilise le type de données.
- Exécutez l'outil à l'aide de sa boîte de dialogue.
- Dans la fenêtre Résultats, cliquez avec le bouton droit sur le résultat et sélectionnez Copier comme extrait Python. Vous pouvez ensuite coller cet extrait dans n'importe quel éditeur de texte (ou dans la fenêtre Python) et examiner les valeurs de chaîne de tous les paramètres.
Types de données et objets de script
La syntaxe de chaîne de certains types de données est trop complexe pour être utilisée dans un script. Par exemple, voici la chaîne de texte du type de données de référence spatiale qui définit un système de coordonnées Eckert IV :
PROJCS['World_Eckert_IV',
GEOGCS['GCS_WGS_1984',
DATUM['D_WGS_1984',
SPHEROID['WGS_1984',6378137.0,298.257223563]],
PRIMEM['Greenwich',0.0],
UNIT['Degree',0.0174532925199433]],
PROJECTION['Eckert_IV'],
PARAMETER['False_Easting',0.0],
PARAMETER['False_Northing',0.0],
PARAMETER['Central_Meridian',0.0],
UNIT['Meter',1.0]]
Pour les types de données comportant des chaînes complexes, ArcPy contient des classes avec des méthodes et des propriétés qui vous permettent de créer et de modifier facilement le type de données. Par exemple, consultez la classe SpatialReference.