Utilisation de la classe de références spatiales

Les jeux de données géographiques, tels que les classes d'entités, les couvertures et les rasters, comportent une référence spatiale qui définit le système de coordonnées d'un jeu de données, ainsi que son domaine x,y, son domaine m et son domaine z. Chaque partie de la référence spatiale possède plusieurs propriétés, en particulier le système de coordonnées qui définit les options de projection cartographique utilisées pour déterminer les coordonnées horizontales. Toutes ces informations sont disponibles à partir de la propriété de la référence spatiale, représentant en fait un autre objet contenant plusieurs propriétés.

import arcpy

# Describe a feature class
#
fc = "D:/St_Johns/data.gdb/roads"
desc = arcpy.Describe(fc)

# Get the spatial reference 
#
sr = desc.spatialReference

# Check if the feature class is in projected space
#
if sr.type == "Projected":
    arcpy.Copy_management(fc,"D:/St_Johns/data.gdb/roads_UTM")

Création d'une référence spatiale à l'aide d'un fichier de projection (.prj)

Il est souvent peu pratique de conserver toutes les informations d'une référence spatiale dans un script Python. En utilisant un fichier de projection comme argument pour la classe SpatialReference, vous pouvez renseigner rapidement les propriétés d'une référence spatiale, puis utiliser l'objet comme entrée d'un outil de géotraitement. Dans l'exemple suivant, la référence spatiale est construite à l'aide d'un fichier de projection fourni comme argument en entrée.

import arcpy

inputWorkspace = "c:/temp"
outputName =  "rivers.shp"

# Get the input workspace, the output name for the new feature class
#  and path to an input projection file
#
inputWorkspace = arcpy.GetParameterAsText(0)
outputName     = arcpy.GetParameterAsText(1)
prjFile        = arcpy.GetParameterAsText(2)

# Use the the projection file as input to the SpatialReference class
#
spatialRef = arcpy.SpatialReference(prjFile)

# Use the SpatialReference object to create a new feature class with a 
#  specific coordinate system
#
arcpy.CreateFeatureClass_management(inputWorkspace, outputName, 
                                    "POLYLINE", "", "", "", spatialRef)
RemarqueRemarque :

Pour obtenir une liste complète de propriétés et de méthodes, reportez-vous à la rubrique Classe SpatialReference.

RemarqueRemarque :

Les références spatiales sont parfois appelées chaînes du Moteur de projection. Le Moteur de projection (PE) est une bibliothèque de code utilisé par l'ensemble des applications ArcGIS pour la définition de projections cartographiques et la transformation d'une projection en une autre.

Rubriques connexes


7/10/2012