Utilisation de tâches de géotraitement dans les scripts Python
Vous pouvez utiliser des tâches de géotraitement ArcGIS Server dans des scripts. La procédure de base est la suivante :
- Ajoutez le service en tant que boîte à outils.
- Comme de nombreuses tâches utilisent des jeux d'entités et d'enregistrements, vous devez interroger la tâche pour obtenir la structure de jeu d'entités ou d'enregistrements.
- Chargez les entités ou les enregistrements.
- Démarrez l'exécution de l'outil.
- Interrogez le résultat de l'outil et attendez la fin de l'exécution.
- Interrogez le résultat pour récupérer les sorties.
Exemple de script :
import arcpy, time
# Add a geoprocessing service as a toolbox
# Syntax: ArcGIS Server link;ToolBoxName with the Tool name is the next attribute
#
arcpy.ImportToolbox("http://degrassi/arcgis/services;BufferToolBox","Buffer")
# One of the tasks is BufferPoints and its first parameter is a feature
# set. Get the feature set from the task.
#
inFeatSet = arcpy.GetParameterValue("Buffer", 0)
# Load an existing feature class into the feature set
#
inFeatSet.load("C:/datasets/aoi/observations.shp")
# Start execution of the task
# Service is executed by the toolName_aliasName
#
result = arcpy.Buffer_Buffer(inFeatSet, "500 feet")
# Query the result object to detect when the service has finished execution
#
while result.status < 4:
time.sleep(0.2)
# The output of this task is a feature set of the buffered points. Get the output
# by index and save to a geodatabase feature class.
#
outFeatSet = result.getOutput(0)
outFeatSet.save("C:/mydata/gpResults.gbd/output1")
Autres rubriques :
|
Rubrique |
Description |
|---|---|
|
Détails sur l'ajout de boîtes à outils et de services de géotraitement à un script |
|
|
Détails sur la création, le chargement et l'enregistrement de données de jeux d'entités et de jeux d'enregistrements |
|
|
Détails sur l'interrogation du résultat d'un outil ou d'une tâche |
|
|
Détails sur les méthodes et les propriétés de la classe de résultat |
Rubriques connexes
7/10/2012