Présentation de la syntaxe des outils
La section sur la syntaxe d'une page de référence de l'outil fournit des détails sur chaque paramètre d'outil. Elle indique également la syntaxe d'utilisation de l'outil dans Python.
Pour créer de manière simple du code Python exécutant un outil particulier, utilisez la fenêtre Résultats comme suit :
- Utilisez la boîte de dialogue de l'outil pour exécuter l'outil.
- Après avoir exécuté l'outil, ouvrez la fenêtre Résultats.
- Cliquez avec le bouton droit sur le résultat, puis sur Copier comme extrait Python.
- Dans le code Python, collez l'extrait copié.
Signature d'un outil
La première ligne au-dessous de l'en-tête de la syntaxe contient la signature de l'outil.
Nom et alias de l'outil
Dans Python, les outils sont désignés par leur nom, et non par leur étiquette.
- L'étiquette de l'outil est affichée en haut de la boîte de dialogue de l'outil ou dans la fenêtre Catalogue.
- Dans Python, l'alias de la boîte à outils suit le nom de l'outil séparé par un tiret de soulignement. Par exemple, dans Python, l'outil Différence symétrique est identifié sous le nom SymDiff_analysis.
Paramètres facultatifs
Les paramètres des outils peuvent être obligatoires ou facultatif. Les paramètres facultatifs sont entourés par des accolades ( {} ), tandis que les paramètres obligatoires ne le sont pas.
Type de paramètre |
Symbole |
Signification |
---|---|---|
Requis |
Paramètre obligatoire. Ces paramètres sont toujours les premiers paramètres de la commande. Vous devez fournir une valeur pour les paramètres obligatoires. |
|
Facultatif |
{ } |
Paramètre facultatif. Ces paramètres suivent toujours les paramètres obligatoires. Si vous n'entrez pas de valeur pour un paramètre facultatif, la valeur par défaut est calculée et utilisée. La valeur par défaut d'un paramètre est présentée dans l'aide de l'outil. |
Le nom des paramètres facultatifs peut être utile comme raccourci dans Python. Au lieu d'ignorer spécifiquement d'autres paramètres facultatifs inutilisés avec un ensemble vide de guillemets ("") ou un symbole dièse ("#"), peut être défini explicitement à l'aide du nom de paramètre.
# Use the parameter name to bypass unused optional arguments
arcpy.AddField_management("c:/data/streets.shp", "Address", "TEXT", field_length=120)
Table des paramètres
Après la signature de l'outil figure la table des paramètres de trois colonnes : Paramètre, Explication et Type de données. Les lignes dans la table des paramètres sont toujours dans l'ordre des paramètres (identique à la signature de l'outil).
La boîte de dialogue d'un outil offre la possibilité d'afficher des paramètres dans un ordre différent de l'ordre des paramètres réels. Ainsi, dans de rares cas, l'ordre des paramètres dans la boîte de dialogue de l'outil peut être différent de l'ordre de la table des paramètres. Pour Python, utilisez toujours l'ordre indiqué dans la table des paramètres.
Colonne des paramètres
Les cellules de cette colonne indiquent le nom du paramètre, si le paramètre est facultatif et, pour les paramètres qui acceptent une liste, la syntaxe de la liste, comme illustré ci-dessous.
Apparence | Description |
---|---|
Liste ordinaire. Les listes ordinaires sont également appelées paramètres à valeurs multiples. | |
Liste des différentes listes. Le type de données correspond à Table des valeurs. Seuls les outils intégrés et les outils contenus dans une boîte à outils Python peuvent avoir des paramètres avec un type de données Table des valeurs. |
Liste ordinaire
Une liste ordinaire contient une liste de valeurs individuelles. Dans l'exemple ci-dessus, le paramètre Distances présente un type de données double (indiqué dans la colonne Type de données). Vous pouvez exprimer cette liste en utilisant l'une des méthodes suivantes :
# Method 1: A list of numbers
dist = [10.0, 20.0, 30.0]
# Method 2: A list of strings
dist = ["10.0", "20.0", "30.0"]
# Method 3: String representation of a list
dist = "10.0; 20.0; 30.0"
Tables des valeurs : une liste de listes
Le type de données d'une liste de listes correspond à Table des valeurs. Dans l'exemple ci-dessus, le paramètre in_features est une liste de différentes listes dans laquelle une liste individuelle contient le chemin d'accès à un jeu de données d'entité ou à une couche et un classement de nombres entiers facultatif. Vous pouvez exprimer ce paramètre en utilisant l'une des méthodes suivantes :
# Method 1: A list of lists
inFeatures = [["counties", 2],["parcels", 1],["state"]]
# Method 2: A list of strings
inFeatures = ["counties 2", "parcels 1", "state"]
# Method 3: String representation, each list separated by a semicolon
inFeatures = "counties 2; parcels 1; state"
Si vous ignorez la syntaxe de la chaîne d'une table de valeurs ou d'une table à valeurs multiples, vous pouvez effectuer les opérations suivantes :
- Utilisez la boîte de dialogue de l'outil pour exécuter l'outil.
- Après avoir exécuté l'outil, ouvrez la fenêtre Résultats.
- Cliquez avec le bouton droit sur le résultat, puis sur Copier comme extrait Python.
- Dans le code Python, collez l'extrait copié.
Colonne Explication
Les cellules de cette colonne fournissent des informations supplémentaires sur le mode d'utilisation et le mode de définition d'un paramètre, y compris les options des mots-clés. Dans la plupart des cas, cette explication est identique à celle qui figure dans l'aide du panneau latéral de l'outil. Dans certains cas, l'explication du paramètre peut être légèrement différente de celle qui figure dans l'aide du panneau latéral. Par exemple, dans la boîte de dialogue de l'outil, une case à cocher correspondant au paramètre booléen (true/false) est cochée, mais la description dans la syntaxe indiquera deux chaînes de mots-clés, une pour l'état True et une autre pour l'état False.
Les mots-clés sont des chaînes qui sont toujours entourés par des guillemets lorsque l'outil est appelé. Par exemple, l'outil Ajouter un champ comprend des mots-clés pour le type de champ :
# Add field idField with data type of long
arcpy.AddField_management("Parks", "idField", "LONG", field_is_nullable="NULLABLE", field_is_required="NON_REQUIRED")
Type de données
Les paramètres de chaque outil sont associés à un type de données. 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 le système de coordonnées et l'étendue.
Utilisation d'objets de scripts
Les paramètres d'un outil sont généralement définis à l'aide de simples chaînes de texte. Vous pouvez spécifier les noms de jeux de données, les chemins, les mots-clés, les noms de champs, les tolérances et les noms de domaines à l'aide d'une chaîne entre guillemets.
Certains paramètres sont plus difficiles à définir à l'aide de chaînes simples ; ils sont plus complexes et nécessitent de nombreuses propriétés. Au lieu d'utiliser des chaînes de texte longues et compliquées pour définir ces paramètres, vous pouvez utiliser des classes (par exemple les classes SpatialReference, ValueTable et Point). La documentation de chaque outil contient un exemple de script illustrant comment chaque paramètre de l'outil est défini et utilisé.
Dans l'exemple suivant, un objet SpatialReference est créé et utilisé pour définir le système de coordonnées en sortie d'une nouvelle classe d'entités créée à l'aide de l'outil CreateFeatureClass.
import arcpy
inputWorkspace = "c:/temp"
outputName = "rivers.shp"
prjFile = "c:/projections/North America Equidistant Conic.prj"
spatialRef = arcpy.SpatialReference(prjFile)
# Run CreateFeatureclass using the spatial reference object
#
arcpy.CreateFeatureclass_management(inputWorkspace, outputName, "POLYLINE",
"", "", "", spatialRef)
Dans de nombreux workflows de géotraitement, vous devez éventuellement exécuter une opération spécifique à l'aide d'informations sur les coordonnées et la géométrie, sans vouloir nécessairement créer une nouvelle classe d'entités (temporaire), la remplir avec des curseurs, l'utiliser, puis la supprimer. Les objets géométrie peuvent alors être utilisés en entrée et en sortie afin de simplifier le géotraitement. Les objets géométrie peuvent être entièrement créés à l'aide des classes Geometry, Multipoint, PointGeometry, Polygon ou Polyline.