Utilizar la clase de referencia espacial

Los datasets geográficos, tales como las clases de entidad, las coberturas y los ráster, tienen una referencia espacial que define un sistema de coordenadas de dataset, dominio x,y, dominio m y dominio z. Cada parte de la referencia espacial tiene varias propiedades, especialmente el sistema de coordenadas, que define qué opciones de proyección cartográfica se utilizan para definir coordenadas horizontales. Toda esta información está disponible en la propiedad de referencia espacial, que realmente es otro objeto que contiene varias propiedades.

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")

Crear una referencia espacial utilizando un archivo de proyección (.prj)

A menudo, no es práctico mantener todos los detalles de una referencia espacial dentro de una secuencia de comandos Python. Utilizando un archivo de proyección como argumento para la clase SpatialReference, puede completar rápidamente las propiedades de una referencia espacial y utilizar el objeto como entrada para una herramienta de geoprocesamiento. En el siguiente ejemplo, la referencia espacial se construye utilizando un archivo de proyección proporcionado como argumento de entrada.

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)
NotaNota:

Para obtener una lista completa de propiedades y métodos, vea la clase SpatialReference.

NotaNota:

A veces se hace referencia a las referencias espaciales como cadenas de caracteres del motor de proyección. El Motor de proyección (PE) es una biblioteca de código que utiliza ArcGIS para definir proyecciones cartográficas y transformar de una proyección a otra.

Temas relacionados


7/11/2012