Le géotraitement repose sur le concept de type de données. Chaque paramètre d'outil est associé à un type de données définissant son contenu. Certains types de données simples sont de type chaîne (tout ensemble de caractères alphanumériques), booléen (valeur vrai ou faux), ou entier long (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 les informations de champ, le système de coordonnées et l'étendue.
La documentation de chaque type de données est recherchée dans Geoprocessing_data_types.pdf. Si ce lien ne fonctionne pas, vous pouvez ouvrir le document (Geoprocessing_data_types.pdf) contenu dans le sous-dossier \arcgis\Documentation du dossier d'installation d'ArcGIS for Desktop.
Pour afficher ce document, vous devez disposer d'Adobe Reader que vous pouvez télécharger gratuitement sur le site http://www.adobe.com/products/acrobat/readstep.html.
Nécessité de spécifier les types de données
Les utilisateurs occasionnels du géotraitement n'ont pas besoin de connaître les types de données. Il existe toutefois des situations dans lesquelles vous devez fournir des types de données pour les variables et 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 Assistant d'outil script, vous devez fournir le type de données pour chacun des paramètres correspondants.
Dans le cas de ModelBuilder, la plupart du temps vous créez des variables à partir d'un paramètre d'outil existant. Puisque tous les paramètres ont un type de données associé, la variable est automatiquement créée avec le type de données correct.
Identification du type de données d'un paramètre
Plusieurs méthodes permettent de déterminer le type de données d'un paramètre :
- Dans la page de référence d'un outil, la section correspondant à la syntaxe contient un tableau décrivant l'ensemble des paramètres et leurs types de données.
- Dans ModelBuilder, créez une variable à partir du paramètre d'un outil. Cliquez avec le bouton droit de la souris sur la variable, cliquez sur Propriétés, puis 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. Ce rapport affiche tous les types de données pour l'ensemble des paramètres.
Syntaxe de chaîne
Chaque type de données a une syntaxe de chaîne utilisée dans la boîte de dialogue de l'outil et pour la création de scripts. La plupart des types de données ont une syntaxe de chaîne très simple, comme le chemin d'accès d'un jeu de données, un nombre ou un mot-clé. Par exemple, le type de données de champ désigne le nom du champ. D'autres types de données ont des syntaxes plus complexes.
La syntaxe de chaîne d'un type de données figure dans le fichier PDF décrit ci-dessus. Si vous doutez de la syntaxe de chaîne particulière d'un type de données, essayez les actions suivantes :
- Recherchez un outil utilisant 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 de la souris sur le résultat, puis cliquez sur Copier comme extrait Python. Vous pouvez ensuite coller ce petit morceau dans un éditeur de texte (ou la fenêtre Python) et examiner les valeurs littérales 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. Voici par exemple la chaîne de texte pour le type de données de référence spatiale définissant 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 ayant des chaînes complexes, arcpy contient des classes avec des méthodes et propriétés permettant de créer et de modifier facilement le type de données. Par exemple, reportez-vous à la classe SpatialReference.