Récapitulatif
Projette des données spatiales d'un système de coordonnées vers un autre.
Utilisation
Si la classe d'entités en entrée ou le jeu de données a un système de coordonnées inconnu ou non spécifié, vous pouvez préciser le système de coordonnées du jeu de données en entrée avec le paramètre Système de coordonnées en entrée. Cela vous permet de spécifier le système de coordonnées des données sans devoir modifier les données en entrée (ce qui peut ne pas être possible si l'entrée est en lecture seule). Vous pouvez également utiliser l'outil Définir une projection pour attribuer définitivement un système de coordonnées au jeu de données.
Tous les types de classes d'entités (classes d'entités de géodatabase, classes d'entités de couverture, classes d'entités SDC et fichiers de formes), jeux de données d'entité dans une géodatabase et couches d'entités dans les applications ArcGIS (ArcMap, ArcScene et ArcGlobe) sont des entrées valides.
Les couvertures, les couvertures VPF, les jeux de données raster et les catalogues d'images ne sont pas pris en charge comme entrées par cet outil. Utilisez l'outil Projeter un raster pour projeter des jeux de données raster.
Pour projeter une couverture, utilisez l'outil Projeter contenu dans la boîte à outils Couverture.
Le paramètre Transformation géographique de l'outil est facultatif. Lorsqu'aucune transformation géographique ou de datum n'est requise, aucune liste déroulante n'apparaît sur le paramètre, qui reste vide. Lorsqu'une transformation est requise, une liste déroulante est générée en fonction des datums en entrée et en sortie, et une transformation par défaut est choisie.
- Par exemple, une transformation géographique n'est pas obligatoire lorsque vous projetez GCS_North_American_1983 sur NAD_1983_UTM_Zone_12N, car les systèmes de coordonnées en entrée et en sortie possèdent tous deux un datum NAD_1983. Lorsque vous effectuez une projection de GCS_North_American_1983 sur WGS_1984_UTM_Zone_12N, une transformation géographique s'avère toutefois nécessaire, car le système de coordonnées en entrée utilise le datum NAD_1983, alors que le système de coordonnées en sortie utilise le datum WGS_1984.
- Pour obtenir une liste de transformations et connaître leur domaine d'utilisation, consultez l'article de la base de connaissance suivant : 21327 (Article n°21327 de la base de connaissance Esri).
L'espace de travail in_memory n'est pas pris en charge en tant qu'emplacement pour écrire le jeu de données en sortie.
Lors de la projection des types de données complexes répertoriés ci-dessous, certaines opérations doivent être effectuées sur les données résultantes :
- Jeu de classes d'entités contenant un jeu de données réseau : le jeu de données réseau doit être reconstruit.
- Jeu de données d'entité contenant une topologie : la topologie doit être revalidée.
Si l'entrée est impliqué dans des classes de relations (comme avec l'annotation liée à une entité), la classe de relations est transférée vers la sortie. L'exception à cette règle concerne les tables autonomes participantes.
Selon les coordonnées et l'horizon de l'entité en entrée (étendue valide) du système de coordonnées en sortie, le multi-points, la ligne et le polygone peuvent être découpés ou fractionnés en plusieurs parties lorsqu'ils sont projetés. Les entités qui se trouvent entièrement en dehors de l'horizon sont écrites dans la sortie avec une forme Null. Elles peuvent être supprimées à l'aide de l'outil Réparer les géométries.
Les classes d'entités qui font partie d'un réseau géométrique ne peuvent pas être projetées indépendamment. Le jeu de données d'entité entier contenant le réseau doit être projeté.
De nombreux outils de géotraitement reconnaissent le paramètre d'environnement système de coordonnées en sortie, et dans bien des workflows, vous pouvez l'utiliser à la place de l'outil Projeter. Par exemple, l'outil Agréger reconnaît le paramètre d'environnement du système de coordonnées en sortie, ce qui signifie que vous pouvez agréger plusieurs classes d'entités, chacune d'elles se trouvant dans un système de coordonnées différent, puis écrire la sortie agrégée dans une classe d'entités d'un système de coordonnées entièrement différent.
Cet outil ignore les ensembles de sélection et de définition sur des couches. Toutes les entités du jeu de données référencé par la couche sont projetées. Si vous souhaitez projeter des entités sélectionnées uniquement, vous pouvez utiliser l'outil Copier des entités afin de créer un jeu de données temporaire, qui ne contient que les entités sélectionnées, puis utiliser ce jeu de données intermédiaire en entrée dans l'outil Projeter.
Lorsque vous utilisez en entrée une classe d'entités d'un jeu de données d'entité, la sortie ne peut pas être écrite dans le même jeu de données d'entité. Cela est dû au fait que les classes d'entités d'un jeu de données d'entité doivent toutes présenter le même système de coordonnées. Dans ce cas, la classe d'entités en sortie est écrite dans la géodatabase contenant le jeu de données d'entité.
Lorsqu'il est activé, le paramètre Conserver la forme génère des entités en sortie qui représentent plus fidèlement leur emplacement projeté réel. Le paramètre Conserver la forme est particulièrement utile si une ligne ou une limite de polygone est numérisée sous la forme d'une longue ligne droite avec peu de sommets. Si le paramètre Conserver la forme n'est pas sélectionné, les sommets existants de la ligne ou de la limite de polygone en entrée sont projetés. Il peut en résulter une entité qui n'est pas positionnée avec précision dans la nouvelle projection. Lorsque le paramètre Conserver la forme est sélectionné (preserve_shape = "PRESERVE_SHAPE" dans Python), des sommets supplémentaires sont ajoutés à l'entité avant la projection. Ces sommets supplémentaires conservent la forme projetée de l'entité. Le paramètre Ecart de décalage maximal détermine le nombre de sommets supplémentaires qui sont ajoutés. Sa valeur est la distance maximale du décalage de l'entité projetée par rapport à son emplacement projeté exact, tel qu'il est calculé par l'outil. Lorsque la valeur est faible, un plus grand nombre de sommets sont ajoutés. Choisissez une valeur qui répond à vos besoins. Par exemple, si votre sortie projetée est destinée à un affichage cartographique général à petite échelle, un écart important peut être acceptable. Si votre sortie projetée doit être utilisée pour l'analyse de petites surfaces à grande échelle, un écart moins important risque d'être nécessaire.
Syntaxe
Project_management (in_dataset, out_dataset, out_coor_system, {transform_method}, {in_coor_system}, {preserve_shape}, {max_deviation})
Paramètre | Explication | Type de données |
in_dataset | Classe d'entités, couche d'entités ou jeu de données d'entité à projeter. | Feature Layer; Feature Dataset |
out_dataset | Jeu de données en sortie dans lequel les résultats seront enregistrés. | Feature Class; Feature Dataset |
out_coor_system | Les valeurs valides sont un objet de référence spatiale, un fichier avec une extension .prj ou une représentation de chaîne d'un système de coordonnées. | Coordinate System |
transform_method (Facultatif) | Cette méthode peut être utilisée pour convertir des données entre deux systèmes de coordonnées géographiques ou datums. Ce paramètre facultatif peut être nécessaire si les systèmes de coordonnées en entrée et en sortie présentent des datums différents. | String |
in_coor_system (Facultatif) | Système de coordonnées du jeu de données d'entité ou de la classe d'entités en entrée. Lorsque l'entrée a un système de coordonnées inconnu ou non spécifié, cela vous permet de spécifier le système de coordonnées des données sans devoir modifier les données en entrée (ce qui peut ne pas être possible si l'entrée est en lecture seule). | Coordinate System |
preserve_shape (Facultatif) | Ajoute des sommets aux lignes ou polygones en sortie afin que leur forme projetée soit plus précise.
| Boolean |
max_deviation (Facultatif) | Détermine dans quelle mesure une ligne ou un polygone projeté peut s'écarter de son emplacement projeté exact lorsque preserve_shape = "PRESERVE_SHAPE". La valeur par défaut correspond à 100 fois la tolérance XY de la référence spatiale du jeu de données en sortie. | Linear unit |
Exemple de code
Exemple 1 d'utilisation de l'outil Projeter (fenêtre Python)
Le script de fenêtre Python suivant illustre l'utilisation de l'outil Projeter en mode immédiat.
import arcpy
# input data is in NAD 1983 UTM Zone 11N coordinate system
input_features = r"C:/data/Redlands.shp"
# output data
output_feature_class = r"C:/data/Redlands_Project.shp"
# create a spatial reference object for the output coordinate system
out_coordinate_system = arcpy.SpatialReference('NAD 1983 StatePlane California V FIPS 0405 (US Feet)')
# run the tool
arcpy.Project_management(input_features, output_feature_class, out_coordinate_system)
Exemple 2 d'utilisation de l'outil Projeter (script autonome)
Le script autonome suivant illustre l'utilisation de l'outil Projeter dans un script autonome.
# Name: Project_Example2.py
# Description: Project all feature classes in a geodatabase
# Requirements: os module
# Import system modules
import arcpy
import os
# Set environment settings
arcpy.env.workspace = "C:/data/Redlands.gdb"
arcpy.env.overwriteOutput = True
# Set local variables
outWorkspace = "C:/data/Redlands_utm11.gdb"
try:
# Use ListFeatureClasses to generate a list of inputs
for infc in arcpy.ListFeatureClasses():
# Determine if the input has a defined coordinate system, can't project it if it does not
dsc = arcpy.Describe(infc)
if dsc.spatialReference.Name == "Unknown":
print ('skipped this fc due to undefined coordinate system: ' + infc)
else:
# Determine the new output feature class path and name
outfc = os.path.join(outWorkspace, infc)
# Set output coordinate system
outCS = arcpy.SpatialReference('NAD 1983 UTM Zone 11N')
# run project tool
arcpy.Project_management(infc, outfc, outCS)
# check messages
print(arcpy.GetMessages())
except arcpy.ExecuteError:
print(arcpy.GetMessages(2))
except Exception as ex:
print(ex.args[0])
Environnements
Informations de licence
- ArcGIS for Desktop Basic: Oui
- ArcGIS for Desktop Standard: Oui
- ArcGIS for Desktop Advanced: Oui
Thèmes connexes
- Vue d'ensemble du jeu d'outils Projections et transformations
- A propos des projections cartographiques
- Liste des projections cartographiques prises en charge
- Que sont les systèmes de coordonnées géographiques ?
- Que sont les systèmes de coordonnées projetées ?
- Essentiel sur les projections pour les professionnels des SIG
- Référence spatiale et géotraitement