Beschriftung | Erläuterung | Datentyp |
Eingabe-Dataset oder -Feature-Class | Das Element (Feature-Class, Feature-Layer, Feature-Dataset, Szenen-Layer, Szenen-Layer-Paket oder OGC-GeoPackage), das projiziert werden soll. | Feature Layer; Feature Dataset; Scene Layer; Building Scene Layer; File |
Ausgabe-Dataset oder -Feature-Class | Das Ausgabe-Dataset, in das die Ergebnisse geschrieben werden. | Feature Class; Feature Dataset; File |
Ausgabe-Koordinatensystem | Das Koordinatensystem, in welches die Eingabedaten projiziert werden. | Coordinate System |
Geographische Transformation (optional) | Sie können diese Methode zum Konvertieren von Daten von einem geographischen Koordinatensystem oder Datum in ein anderes verwenden. Dieser optionale Parameter ist möglicherweise erforderlich, wenn das Eingabe- und das Ausgabekoordinatensystem unterschiedliche Datumswerte aufweisen. Tipp:Das Werkzeug wendet automatisch eine Standardtransformation an. Sie können eine andere Transformation aus der Dropdown-Liste auswählen. Transformationen sind bidirektional. Wenn Sie Daten z. B. von WGS84 nach NAD 1927 konvertieren, können Sie die Transformation "NAD_1927_to_WGS_1984_3" auswählen. Das Werkzeug wendet diese dann korrekt an. Der Parameter stellt eine Dropdown-Liste mit gültigen Transformationsmethoden bereit. Weitere Informationen zum Auswählen einer oder mehrerer geeigneter Transformationen finden Sie in den Verwendungshinweisen. | String |
Eingabe-Koordinatensystem (optional) | Das Koordinatensystem der Eingabe-Feature-Class oder des Eingabe-Datasets. Dieser Parameter wird aktiv, 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 |
Form beibehalten (optional) | Gibt an, ob den Ausgabelinien oder -polygonen zusätzliche Stützpunkte hinzugefügt werden, sodass deren projizierte Form genauer ist.
| Boolean |
Maximale Abweichung bei Versatz (optional) | Die Abweichung einer projizierten Linie oder eines projizierten Polygons von der exakten projizierten Position, wenn der Parameter Form beibehalten aktiviert ist. Die Standardeinstellung ist die 100-fache X,Y-Toleranz des Raumbezugs des Ausgabe-Datasets. | Linear Unit |
Vertikal (optional) | Gibt an, ob eine vertikale Transformation angewendet wird. Dieser Parameter ist nur dann aktiv, wenn die Eingabe- und Ausgabekoordinatensysteme über ein vertikales Koordinatensystem verfügen und die Koordinaten der Eingabe-Feature-Class Z-Werte aufweisen. Für viele vertikale Transformationen sind zusätzliche Datendateien erforderlich, die mit dem Installationspaket für ArcGIS Coordinate Systems Data installiert werden müssen. Wenn dieser Parameter aktiviert ist, kann der Parameter Geographische Transformation Ellipsoid-Transformationen und Transformationen zwischen vertikalen Daten enthalten. ~NAD_1983_To_NAVD88_CONUS_GEOID12B_Height + NAD_1983_To_WGS_1984_1 transformiert beispielsweise Geometriestützpunkte, die mit dem Datum "NAD 1983" und den Höhen "NAVD 1988" definiert wurden, in Stützpunkte des Ellipsoids "WGS84" (mit Z-Werten, die Ellipsoid-Höhen darstellen). Die Tilde (~) gibt die umgekehrte Richtung der Transformation an. Dieser Parameter ist nicht mit dem Parameter Form beibehalten kompatibel.
| Boolean |
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, verwenden Sie den Parameter Eingabe-Koordinatensystem, um das Koordinatensystem anzugeben. Mit diesem Parameter können Sie das Koordinatensystem der Daten angeben, ohne die Eingabedaten zu ändern. Verwenden Sie das Werkzeug Projektion definieren, um dem Dataset dauerhaft ein Koordinatensystem zuzuweisen.
Coverages, VPF-Coverages, Raster-Datasets und Raster-Kataloge werden nicht als Eingaben für dieses Werkzeug unterstützt. Verwenden Sie das Werkzeug Raster projizieren zum Projizieren von Raster-Datasets.
Der Parameter Geographische Transformation 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 auf Grundlage der Eingabe- und Ausgabedatumsangaben eine Dropdown-Liste generiert und eine Standardtransformation angewendet.
- 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.
Tipp:
Transformationen sind bidirektional. Wenn Sie Daten z. B. von WGS84 nach NAD 1927 konvertieren, können Sie die Transformation "NAD_1927_to_WGS_1984_3" auswählen. Das Werkzeug wendet diese dann korrekt an.
- Alle in ArcGIS Pro verfügbaren Transformationen finden Sie hier:Geographic and vertical transformation tables.
- 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.
Wenn die unten aufgeführten komplexen Datentypen projiziert werden, müssen bestimmte Vorgänge für die resultierenden Daten ausgeführt werden:
- Ein Feature-Dataset, das ein Netzwerk-Dataset enthält: Das Netzwerk-Dataset muss erneut erstellt werden.
- Ein Feature-Dataset, das eine Topologie enthält: Die Topologie sollte erneut überprüft werden.
Wenn die Eingabe an Beziehungsklassen beteiligt ist (wie bei Feature-bezogenen Annotationen), wird die Beziehungsklasse in die Ausgabe übertragen. Dies gilt jedoch nicht für beteiligte Standalone-Tabellen.
Abhängig von den Koordinaten des Eingabe-Features und dem Horizont (gültige Ausdehnung) des Ausgabekoordinatensystems werden Multipoints, Linien und Polygone möglicherweise bei der Projektion ausgeschnitten oder in mehrere Teile aufgeteilt. Features, die vollständig außerhalb des Horizonts liegen, werden mit einem NULL-Shape in die Ausgabe geschrieben. Diese können mit dem Werkzeug Geometrie reparieren gelöscht werden.
Vor der Durchführung der Analyse empfiehlt es sich, alle Eingaben für ein Projekt in dasselbe Koordinatensystem zu projizieren. Indem alle Eingaben im selben Koordinatensystem vorliegen, vermeiden Sie etwaige Performance- und Funktionsprobleme, die durch eine On-the-fly-Projektion der Daten verursacht werden.
In seltenen Fällen führt die Projektion der Feature-Geometrie dazu, dass die Features so transformiert werden, dass sie ungültig sind. Ermitteln Sie mit Geometrie überprüfen ungültige Geometrien, und reparieren Sie mit dem Werkzeug Geometrie reparieren etwaige Geometrieprobleme.
Feature-Classes, die zu einem geometrischen Netzwerk gehören, können nicht unabhängig voneinander projiziert werden. Das gesamte Feature-Dataset, das das Netzwerk enthält, muss projiziert werden.
Zahlreiche Geoverarbeitungswerkzeuge berücksichtigen die Umgebungseinstellung "Ausgabekoordinatensystem", und in vielen Workflows können Sie diese Umgebungseinstellung anstelle des Werkzeugs "Projizieren" verwenden. Beispielsweise wird die Umgebungseinstellung "Ausgabekoordinatensystem" vom Werkzeug Vereinigen (Union) berücksichtigt. Dies bedeutet, dass Sie mehrere Feature-Classes, die sich in unterschiedlichen Koordinatensystemen befinden, vereinigen und die Ausgabe in eine Feature-Class in einem anderen Koordinatensystem schreiben können.
Auswahl- und Definitionsabfragen für Layer werden von diesem Werkzeug unterstützt. Wenn die Auswahl oder Abfrage definiert ist, werden nur ausgewählte Features im Layer projiziert.
Wenn eine Feature-Class in einem Feature-Dataset als Eingabe verwendet wird, kann die Ausgabe nicht in dasselbe Feature-Dataset geschrieben werden. Der Grund ist, dass alle Feature-Classes in einem Feature-Dataset dasselbe Koordinatensystem aufweisen müssen. In diesem Fall wird die Ausgabe-Feature-Class in die Geodatabase geschrieben, die das Feature-Dataset enthält.
Wenn der Parameter Shape beibehalten aktiviert ist, werden Features erstellt, die ihre projizierte Position präzise darstellen. Beim Projizieren fügt das Werkzeug dem Feature zusätzliche Stützpunkte hinzu. Die zusätzlichen Stützpunkte behalten die projizierte Form des Features bei. Dieser Parameter ist hilfreich, wenn eine Linie oder ein Polygon über wenige Stützpunkte verfügt. Wenn der Parameter nicht aktiviert ist, werden die vorhandenen Stützpunkte projiziert, und ein Ausgabe-Feature befindet sich möglicherweise in der neuen Projektion nicht an der richtigen Position.
Mit dem Parameter Maximale Abweichung bei Versatz wird angegeben, wie viele Stützpunkte hinzugefügt werden. Der Wert des Parameters definiert die maximale Entfernung, die ein projiziertes Feature von der genauen projizierten Position versetzt liegen darf. Wenn der Wert klein ist, werden weitere Stützpunkte hinzugefügt. Verwenden Sie einen für Sie passenden Wert. Wenn die Ausgabe beispielsweise für die allgemeine kartografische Anzeige mit kleinem Maßstab bestimmt ist, kann eine große Abweichung akzeptabel sein. Wenn die Ausgabe für Analysen kleiner Bereiche mit großem Maßstab verwendet wird, ist möglicherweise eine kleinere Abweichung besser geeignet.
Um eine vertikale Transformation durchzuführen, aktivieren Sie den optionalen Parameter Vertikal. Der Parameter Vertikal ist standardmäßig inaktiv. Er wird nur dann aktiv, wenn die Eingabe- und Ausgabe-Koordinatensysteme über ein vertikales Koordinatensystem (VCS) verfügen und die Koordinaten der Eingabe-Feature-Class Z-Werte aufweisen. Außerdem muss ein zusätzliches Installationsprogramm für Daten (Koordinatensystemdaten) im System installiert werden.
Wenn Sie das Ausgabe-Koordinatensystem auswählen, können Sie das geographische oder das projizierte Koordinatensystem sowie ein vertikales Koordinatensystem (VCS) auswählen. Wenn sich die vertikalen Eingabe- und Ausgabe-Koordinatensysteme (VCS) unterscheiden, sind eine geeignete vertikale und eine optionale geographische (Datums-)Transformation verfügbar. Wenn eine Transformation in entgegengesetzter Richtung zu seiner Definition angewendet werden soll, wählen Sie den Eintrag mit der Tilde (~) vor dem Namen.
Parcel-Fabrics werden durch Projektion des Feature-Datasets, das die Parcel-Fabric enthält, projiziert. Einzelne von der Parcel-Fabric gesteuerte Feature-Classes können nicht separat projiziert werden. Lineare Einheiten, Flächeneinheiten und Punktkoordinaten werden aktualisiert, sodass sie den Einheiten und Koordinaten des Zielraumbezugs entsprechen.
Parameter
arcpy.management.Project(in_dataset, out_dataset, out_coor_system, {transform_method}, {in_coor_system}, {preserve_shape}, {max_deviation}, {vertical})
Name | Erläuterung | Datentyp |
in_dataset | Das Element (Feature-Class, Feature-Layer, Feature-Dataset, Szenen-Layer, Szenen-Layer-Paket oder OGC-GeoPackage), das projiziert werden soll. | Feature Layer; Feature Dataset; Scene Layer; Building Scene Layer; File |
out_dataset | Das Ausgabe-Dataset, in das die Ergebnisse geschrieben werden. | Feature Class; Feature Dataset; File |
out_coor_system | Gültige Werte sind ein SpatialReference-Objekt, eine Datei mit der Erweiterung .prj oder die Zeichenfolgendarstellung eines Koordinatensystems. | Coordinate System |
transform_method [transform_method,...] (optional) | Sie können diese Methode zum Konvertieren von Daten von einem geographischen Koordinatensystem oder Datum in ein anderes verwenden. Dieser optionale Parameter ist möglicherweise erforderlich, wenn das Eingabe- und das Ausgabekoordinatensystem unterschiedliche Datumswerte aufweisen. Eine Liste der zulässigen Transformationen finden Sie mit der Methode arcpy.ListTransformations. Die am besten geeignete Transformation erscheint in der Regel in der zurückgegebenen Liste an erster Stelle. Diese Liste wird nach dem Umfang der Überlappung der Daten gegenüber den Anwendungsbereichen der Transformationen sortiert. Wenn bei zwei oder mehr Transformationen der Umfang der Überlappung der Daten identisch ist, wird die Genauigkeit der Transformation als sekundärer Sortierparameter verwendet. Tipp:Transformationen sind bidirektional. Wenn Sie Daten z. B. von WGS84 nach NAD 1927 konvertieren, können Sie die Transformation "NAD_1927_to_WGS_1984_3" auswählen. Das Werkzeug wendet diese dann korrekt an. Wenn keine Transformation angegeben ist, wird die Standardtransformation verwendet. Diese Standardtransformation ist für allgemeine Zuordnungsanwendungen, jedoch möglicherweise nicht für Anwendungen geeignet, die eine exakte Positionsgenauigkeit erfordern. | String |
in_coor_system (optional) | Das Koordinatensystem der Eingabe-Feature-Class oder des Eingabe-Datasets. Wenn die Eingabe ein unbekanntes Koordinatensystem aufweist bzw. kein Koordinatensystem angegeben ist, können Sie das Koordinatensystem der Daten angeben, ohne die Eingabedaten zu ändern (was gar nicht möglich ist, wenn die Eingabe in einem schreibgeschützten Format vorliegt). | Coordinate System |
preserve_shape (optional) | Gibt an, ob den Ausgabelinien oder -polygonen zusätzliche Stützpunkte hinzugefügt werden, sodass deren projizierte Form genauer ist.
| Boolean |
max_deviation (optional) | Die Abweichung einer projizierten Linie oder eines projizierten Polygons von der exakten projizierten Position, wenn der Parameter preserve_shape auf PRESERVE_SHAPE festgelegt ist. Die Standardeinstellung ist die 100-fache X,Y-Toleranz des Raumbezugs des Ausgabe-Datasets. | Linear Unit |
vertical (optional) | Gibt an, ob eine vertikale Transformation angewendet wird. Dieser Parameter wird nur dann aktiviert, wenn die Eingabe- und Ausgabekoordinatensysteme über ein vertikales Koordinatensystem verfügen und die Koordinaten der Eingabe-Feature-Class Z-Werte aufweisen. Für viele vertikale Transformationen sind zusätzliche Datendateien erforderlich, die mit dem Installationspaket für ArcGIS Coordinate Systems Data installiert werden müssen. Dieser Parameter ist nicht mit dem Parameter preserve_shape kompatibel.
| Boolean |
Codebeispiel
Das folgende Skript für das Python-Fenster veranschaulicht, wie die Funktion Project im unmittelbaren Modus verwendet wird.
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)
Das folgende eigenständige Skript veranschaulicht, wie die Funktion Project in einem eigenständigen Skript verwendet wird.
# 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])
Umgebungen
Lizenzinformationen
- Basic: Ja
- Standard: Ja
- Advanced: Ja