Zusammenfassung
Konsolidiert einen oder mehrere Layer durch Kopieren aller referenzierten Datenquellen in einen einzelnen Ordner.
Verwendung
Eine Warnung wird ausgegeben, wenn dieses Werkzeug auf einen nicht unterstützten Layer-Typ trifft. Der nicht unterstützte Layer wird nicht in die Ausgabe geschrieben.
Beim Konsolidieren oder Packen von Layern werden die erzeugten Layer wie folgt umbenannt: <integer><layername>.lyr (z. B. 0000roads.lyr). Diese Umbenennung ist erforderlich, damit alle Layer, die auf eindeutige Datenquellen verweisen und in ArcMap den gleichen Layer-Name aufweisen, im konsolidierten Ordner eindeutige Layer-Namen aufweisen.
Wenn Daten in File-Geodatabase konvertieren aktiviert ist (convert_data = 'CONVERT' in Python), passiert Folgendes:
- Für jede eindeutige Datenquelle wird im konsolidierten Ordner oder Paket eine File-Geodatabase erstellt.
- Komprimierte Raster- und Vektorformate werden in eine File-Geodatabase konvertiert, und die Komprimierung geht verloren.
- Enterprise-Geodatabase-Daten werden nicht konsolidiert. Um Enterprise-Geodatabase-Daten in eine File-Geodatabase zu konvertieren, aktivieren Sie Enterprise-Geodatabase-Daten einbeziehen statt Daten zu referenzieren.
Wenn Daten in File-Geodatabase konvertieren nicht aktiviert ist (convert_data = 'PRESERVE' in Python), passiert Folgendes:
- Das Datenquellenformat der Eingabe-Layer bleibt erhalten. Zu den Ausnahmen zählen Formate wie Personal-Geodatabase-Daten (.mdb), VPF-Daten sowie Tabellen, die auf Excel-Tabellen oder OLEDB-Verbindungen basieren. Diese Formate werden in 64x-Umgebungen nicht unterstützt und stets in eine File-Geodatabase umgewandelt.
- Raster im Format ADRG, CADRG/ECRG, CIB und RPF werden immer in File-Geodatabase-Raster konvertiert. ArcGIS kann diese Formate nicht intern schreiben. Sie werden aus Effizienzgründen immer in File-Geodatabase-Raster konvertiert.
- File-Geodatabases werden in der Ausgabeordnerstruktur in einen versionsspezifischen Ordner konsolidiert, alle anderen Formate werden in den Ordner "commonData" konsolidiert.
- Komprimierte Raster- und Vektorformate werden nicht ausgeschnitten. Dies gilt auch, wenn im Parameter Ausdehnung eine Ausdehnung angegeben ist.
Für Layer, die eine Verbindung enthalten oder an einer Beziehungsklasse beteiligt sind, werden alle verbundenen oder verwandten Datenquellen im Ausgabeordner konsolidiert. Standardmäßig werden verbundene oder zugehörige Datenquellen vollständig konsolidiert. In Abhängigkeit vom Parameter Zugehörige Zeilen auswählen kann sich die Konsolidierung aber auch nach der im Parameter Ausdehnung angegebenen Ausdehnung richten.
Für Feature-Layer wird der Parameter Ausdehnung verwendet, um die Features auszuwählen, die konsolidiert werden sollen. Für Raster-Layer wird der Parameter Ausdehnung verwendet, um die Raster-Datasets auszuschneiden.
Einige Datasets verweisen auf andere Datasets. Sie können z. B. ein Topologie-Dataset verwenden, das auf vier Feature-Classes verweist. Weitere Beispiele für Datasets, die auf andere Datasets verweisen, sind geometrische Netzwerke, Netzwerke und Locators. Beim Konsolidieren oder Packen eines Layers basierend auf diesen Typen von Datasets werden die beteiligten Datasets ebenfalls konsolidiert oder gepackt.
Wenn der Parameter Nur Schema aktiviert ist (schema_only = 'SCHEMA_ONLY' in Python), wird nur das Schema der Eingabedatenquellen konsolidiert oder gepackt. Ein Schema ist die Struktur oder der Entwurf einer Feature-Class oder -Tabelle, die aus Feld- und Tabellendefinitionen, Eigenschaften des Koordinatensystems, Symbolisierung, Definitionsabfragen usw. besteht. Daten oder Datensätze werden nicht konsolidiert oder gepackt.
Datenquellen, die "Nur Schema" nicht unterstützen, werden nicht konsolidiert oder gepackt. Wenn der Parameter Nur Schema aktiviert ist und das Werkzeug auf einen dafür nicht unterstützten Layer stößt, wird eine Warnmeldung angezeigt. Der Layer wird übersprungen. Falls der einzige angegebene Layer "Nur Schema" nicht unterstützt, tritt beim Ausführen des Werkzeugs ein Fehler auf.
Beim Konsolidieren oder Verpacken von Coverage- oder VPF-Layern wird das gesamte Coverage- oder VPF-Dataset in den konsolidierten Ordner oder das Paket kopiert.
Syntax
arcpy.management.ConsolidateLayer(in_layer, output_folder, {convert_data}, {convert_arcsde_data}, {extent}, {apply_extent_to_arcsde}, {schema_only})
Parameter | Erklärung | Datentyp |
in_layer [in_layer,...] | Die Eingabe-Layer, die konsolidiert werden. | Layer |
output_folder | Der Ausgabeordner, der die Layer-Dateien und die konsolidierten Daten enthält. | Folder |
convert_data (optional) | Gibt an, ob Eingabe-Layer in eine File-Geodatabase konvertiert oder im ursprünglichen Format beibehalten werden.
| Boolean |
convert_arcsde_data (optional) | Gibt an, ob Eingabe-Geodatabase-Layer in eine File-Geodatabase konvertiert oder im ursprünglichen Format beibehalten werden.
| Boolean |
extent (optional) | Gibt die Ausdehnung an, indem Sie die Koordinaten im Format X-Min Y-Min X-Max Y-Max manuell im Parameter "Ausdehnung" eingeben. Wenn Sie die Ausdehnung eines bestimmten Layers verwenden möchten, geben Sie den Layer-Namen an.
| Extent |
apply_extent_to_arcsde (optional) | Gibt an, ob die angegebene Ausdehnung auf alle Layer oder nur auf Enterprise-Geodatabase-Layer angewendet wird.
| Boolean |
schema_only (optional) | Gibt an, ob nur das Schema der Eingabe-Layer konsolidiert oder gepackt wird.
| Boolean |
Codebeispiel
ConsolidateLayer – Beispiel 1 (Python-Fenster)
Das folgende Skript im Python-Fenster veranschaulicht, wie das Werkzeug ConsolidateLayer im unmittelbaren Modus verwendet wird.
import arcpy
arcpy.env.workspace = 'C:/arcgis/ArcTutor/BuildingaGeodatabase/Layers'
arcpy.ConsolidateLayer_management('Parcels.lyr', 'Consolidated_folder', 'PRESERVE', 'CONVERT_ARCSDE')
ConsolidateLayer – Beispiel 2 (eigenständiges Skript)
Sucht und erstellt einzelne konsolidierte Ordner für alle Layer-Dateien eines bestimmten Ordners.
# import system modules
import os
import arcpy
# Set environment settings
arcpy.env.workspace = 'C:/arcgis/ArcTutor/BuildingaGeodatabase/Layers'
# Loop through the workspace, find all the layer files (.lyr) and create a consolidated folder for each
# layer file found using the same name as the original layer file.
for lyr in arcpy.ListFiles('*.lyr'):
print('Consolidating {}'.format(lyr))
arcpy.ConsolidateLayer_management(lyr, os.path.splitext(lyr)[0], 'PRESERVE', 'CONVERT_ARCSDE')
Umgebungen
Lizenzinformationen
- Basic: Ja
- Standard: Ja
- Advanced: Ja