Projet en mode lot (Gestion des données)
Récapitulatif
Modifie le système de coordonnées d'un ensemble de classes d'entités ou de jeux de données d'entité en entrée en un système de coordonnées commun. Pour modifier le système de coordonnées d'une seule classe d'entités ou d'un jeu de données d'entité, utilisez l'outil Projet.
Utilisation
-
Toutes les entrées valides pour l'outil Projet, telles que toutes les classes d'entités ou jeux de données d'entité, sont également des entrées valides pour cet outil.
-
Même si le Système de coordonnées en sortie et le Jeu de données modèle sont des paramètres optionnels, l'un d'eux doit être saisi. Si ces deux paramètres sont vides, l'exécution de l'outil échoue.
-
Comme l'outil ne vérifie pas si une transformation est requise, utilisez en premier l'outil Projet avec l'une des entrées pour déterminer si une transformation est requise. La liste déroulante du paramètre Transformation géographique de l'outil Projet affiche les transformations qui sont valides (le cas échéant).
-
Pour une classe d'entités ou un jeu de données d'entité avec un système de coordonnées indéfini ou Inconnu, le système de coordonnées doit d'abord être défini à l'aide de l'outil Définir une projection avant d'être utilisé avec l'outil.
-
Les noms des classes d'entités en sortie sont basés sur les noms des classes d'entités en entrée. Par exemple, si la classe d'entités en entrée s'appelle C:\myworkspace\Gondor.shp, la classe d'entités en sortie s'appelle Gondor.shp. Si le nom existe déjà dans l'espace de travail de sortie, un numéro sera ajouté (par exemple, _1) à la fin du nom pour le rendre unique (Gondor_1.shp) dans l'espace de travail de sortie.
Syntaxe
Paramètre | Explication | Type de données |
Input_Feature_Class_or_Dataset [Input_Feature_Class_or_Dataset,...] |
Classes d'entités ou jeux de données d'entité en entrée dont les coordonnées doivent être converties. | Geodataset |
Output_Workspace |
Emplacement de chaque nouvelle classe d'entités ou jeu de données d'entité en sortie. | Feature Dataset; Workspace |
Output_Coordinate_System (Facultatif) |
Système de coordonnées à utiliser pour projeter les entrées. Les valeurs valides sont un fichier avec une extension .prj (les fichiers .prj fournis avec ArcGIS sont disponibles dans le répertoire d'installation d'ArcGIS dans le dossier Système de coordonnées) ou une représentation de chaîne d'un système de coordonnées. Cette représentation de chaîne peut être générée en ajoutant une variable de système de coordonnées à ModelBuilder, en définissant la valeur de la variable à votre gré, puis en exportant le modèle vers un script Python. La chaîne peut alors être copiée depuis le script Python. | Coordinate System |
Template_dataset (Facultatif) |
Classe d'entités ou jeu de données d'entité utilisé pour spécifier le système de coordonnées en sortie utilisé pour la projection. | Geodataset |
Transformation (Facultatif) |
Nom de la transformation géographique à appliquer pour convertir des données entre deux systèmes de coordonnées géographiques (datums). | String |
Exemple de code
Le script de fenêtre Python ci-dessous illustre l'utilisation de la fonction BatchProject en mode immédiat.
import arcpy arcpy.env.workspace = "C:/data/input/batchproject" arcpy.BatchProject_management(["citylim.shp", "flood.shp", "faultzn.shp"], "C:/data/output/batchproject", "", "C:/data/usa.gdb/templatefc")
Le script Python ci-dessous illustre l'utilisation de la fonction BatchProject dans un script autonome.
# Name: BatchProject.py # Description: Changes coordinate systems of several datasets in a batch. import arcpy from arcpy import env # Set workspace environment env.workspace = "C:/data/wgs1972.gdb" # Input feature classes input_features = ["cities", "counties", "blocks", "crime"] # Output workspace out_workspace = "C:/data/output.gdb" # Output coordinate system - leave it empty out_cs = '' # Template dataset - it has GCS_WGS_1984 coordinate system template = "C:/data/wgs1984.gdb/stateparks" # Geographic transformation - transformation = "WGS_1972_To_WGS_1984_1" try: res = arcpy.BatchProject(input_features, out_workspace, out_cs, template, transformation) if res.maxSeverity == 0: print "projection of all datasets successful" else: print "failed to project one or more datasets" except: print res.getMessages()