Verwenden der Raumbezugsklasse

Geographische Datasets wie Feature-Classes, Coverages und Raster verfügen über einen Raumbezug, durch den das Koordinatensystem, die X/Y-Domäne, die M-Domäne und die Z-Domäne eines Datasets definiert werden. Jeder Teil des Raumbezugs verfügt über eine Reihe von Eigenschaften. Die Eigenschaften für das Koordinatensystem legen beispielsweise fest, welche Kartenprojektionsoptionen zur Definition der horizontalen Koordinaten verwendet werden. All diese Informationen können über die Raumbezugseigenschaft abgerufen werden, die als Objekt wiederum mehrere Eigenschaften bereitstellt.

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

Erstellen eines Raumbezugs mit einer Projektionsdatei (PRJ)

Häufig empfiehlt es sich, nicht alle Informationen zum Raumbezug in ein Python-Skript aufzunehmen. Durch Verwendung einer Projektionsdatei als Argument für die SpatialReference-Klasse können Sie schnell die Eigenschaften eines Raumbezugsobjekts vervollständigen und das Objekt dann als Eingabe für ein Geoverarbeitungswerkzeug verwenden. Im folgenden Beispiel wird der Raumbezug mit einer als Eingabeargument angegebenen Projektionsdatei erstellt.

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

Eine vollständige Liste von Eigenschaften und Methoden finden Sie unter SpatialReference-Klasse.

HinweisHinweis:

Raumbezüge werden manchmal als Projection Engine-Zeichenfolgen bezeichnet. Die Projection Engine (PE) ist eine Code-Bibliothek, die überall in ArcGIS verwendet wird, um Kartenprojektionen zu definieren und von einer Projektion in eine andere zu transformieren.

Verwandte Themen


7/10/2012