Projizieren (Data Management)
Zusammenfassung
Projiziert räumliche Daten von einem Koordinatensystem in ein anderes.
Verwendung
Wenn die Eingabe-Feature-Class oder das Dataset ein unbekanntes oder nicht angegebenes Koordinatensystem aufweist, können Sie das Koordinatensystem des Eingabe-Datasets mit dem Parameter Eingabekoordinatensystem angeben. So können Sie das Koordinatensystem der Daten angeben, ohne die Eingabedaten zu ändern (was nicht möglich ist, wenn die Eingabe ein schreibgeschütztes Format hat). Sie können auch das Werkzeug Projektion definieren verwenden, um dem Dataset dauerhaft ein Koordinatensystem zuzuweisen.
-
Alle Typen von Feature-Classes (Geodatabase-Feature-Class, Coverage-Feature-Class, SDC-Feature-Class, Shapefile), Feature-Datasets in einer Geodatabase und Feature-Layer in ArcGIS-Anwendungen (ArcMap, ArcScene und ArcGlobe), sind gültige Eingaben.
-
Coverages, VPF-Coverages, Raster-Datasets und Raster-Kataloge werden nicht als Eingaben für dieses Werkzeug unterstützt. Verwenden Sie zum Projizieren von Coverages das Werkzeug Projizieren in der Toolbox "Coverage Tools". Verwenden Sie das Werkzeug Raster projizieren zum Projizieren von Raster-Datasets.
Der Parameter Geographische Transformation des Werkzeugs ist optional. Wenn keine geographische oder Datumstransformation erforderlich ist, wird keine Dropdown-Liste im Parameter angezeigt und er wird leer gelassen. Wenn eine Transformation erforderlich ist, wird eine Dropdown-Liste auf der Grundlage der Eingabe- und Ausgabedatumsangaben generiert und eine Standardtransformation wird ausgewählt.
- Eine geographische Transformation ist z. B. nicht erforderlich, wenn eine Projektion von GCS_North_American_1983 zu NAD_1983_UTM_Zone_12N durchgeführt wird, weil das Eingabe- und Ausgabe-Koordinatensystem jeweils das Datum NAD_1983 verwenden. Wenn eine Projektion jedoch von GCS_North_American_1983 zu WGS_1984_UTM_Zone_12N durchgeführt wird, ist eine geographische Transformation erforderlich, weil das Eingabe-Koordinatensystem das Datum NAD_1983 und das Ausgabe-Koordinatensystem das Datum WGS_1984 verwendet.
- Hinweis:
Transformationen sind bidirektional. Werden Daten z. B. von WGS 1984 nach NAD 1927 konvertiert, können Sie eine Transformation mit dem Namen NAD_1927_to_WGS_1984_3 wählen. Das Werkzeug wendet diese dann korrekt an.
- Eine Liste von Transformationen und ihren Anwendungsbereichen finden Sie im folgenden Knowledge Base-Artikel: 21327 (http://resources.arcgis.com/content/kbase?fa=articleShow&d=21327 )
-
in_memory ist kein gültiger Workspace für das Ausgabe-Dataset.
-
Wenn die unten aufgeführten komplexen Datentypen projiziert werden, müssen bestimmte Vorgänge auf den resultierenden Daten ausgeführt werden:
- Feature-Dataset, das ein Netzwerk-Dataset enthält: Das Netzwerk-Dataset muss erneut erstellt werden.
- Feature-Dataset, das eine Topologie enthält: Überprüfen Sie die ganze Ausdehnung der Topologie erneut.
-
Wenn die Eingabe an Beziehungsklassen beteiligt ist (wie bei Feature-bezogenen Annotations), wird die Beziehungsklasse in die Ausgabe übertragen. Dies gilt jedoch nicht für Beziehungen zu Standalone-Tabellen.
-
Abhängig von den Koordinaten des Eingabe-Features und dem Horizont (gültige Ausdehnung) des Ausgabe-Koordinatensystems werden Multipoint, Linie und Polygon möglicherweise bei der Projektion ausgeschnitten oder in mehrere Teile aufgeteilt.
Syntax
Parameter | Erläuterung | Datentyp |
in_dataset |
Die Feature-Class, der Feature-Layer oder das Feature-Dataset, die/der/das projiziert werden soll. | Feature Layer; Feature Dataset |
out_dataset |
Das Ausgabe-Dataset, in das die Ergebnisse geschrieben werden. | Geodataset |
out_coor_system | Gültige Werte sind eine Datei mit der Erweiterung .prj (im Lieferumfang von ArcGIS enthaltene PRJ-Dateien befinden sich im ArcGIS-Installationsverzeichnis im Ordner "Coordinate System") oder einer Zeichenfolgendarstellung eines Koordinatensystems. Diese Zeichenfolgendarstellung kann generiert werden, indem ModelBuilder eine Koordinatensystemvariable hinzugefügt wird, der Wert der Variablen wie gewünscht festgelegt wird und das Modell dann in ein Python-Skript exportiert wird. Anschließend kann die Zeichenfolge aus dem Python-Skript kopiert werden. | Coordinate System |
transform_method (optional) | Sie können diese Methode zum Konvertieren von Daten von einem geographischen Koordinatensystem oder Datum in ein anderes verwenden. Dieser anfänglich optionale Parameter wird ggf. erforderlich, falls die Eingabe- und Ausgabe-Koordinatensysteme über unterschiedliche Daten verfügen. Transformationen sind bidirektional. Werden Daten z. B. von WGS 1984 nach NAD 1927 konvertiert, können Sie eine Transformation mit dem Namen NAD_1927_to_WGS_1984_3 wählen. Das Werkzeug wendet diese dann korrekt an. | String |
in_coor_system (optional) |
Das Koordinatensystem der Eingabe-Feature-Class oder des Eingabe-Datasets. Dieser Parameter wird aktiviert, wenn die Eingabe ein unbekanntes oder nicht angegebenes Koordinatensystem, aufweist. So können Sie das Koordinatensystem der Daten angeben, ohne die Eingabedaten zu ändern (was nicht möglich ist, wenn die Eingabe ein schreibgeschütztes Format hat). | Coordinate System |
Codebeispiel
Das folgende Skript im Python-Fenster veranschaulicht, wie Sie die Funktion "Projizieren" im unmittelbaren Modus verwenden.
import arcpy import os input_features = "C:/data/input/projections.gdb/wells" output_features_class = "C:/data/output/wells_UTM11N.shp" install_dir = arcpy.GetInstallInfo()['InstallDir'] out_coordinate_system = os.path.join(install_dir, r"Coordinate Systems/Projected Coordinate Systems/UTM/NAD 1983/NAD 1983 UTM Zone 11N.prj") arcpy.Project_management(input_features, output_features_class, out_coordinate_system)
Das folgende eigenständige Skript veranschaulicht, wie Sie die Funktion "Projizieren" in einem eigenständigen Skript verwenden.
# 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" # Set local variables outWorkspace = "c:/data/Redlands_utm_11.gdb" # 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') arcpy.Project_management(infc, outfc, outCS)