Zusammenfassung
Packt mindestens einen Layer und alle referenzierten Datenquellen zur Erstellung einer einzelnen komprimierten .lpk-Datei.
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.
Damit das Werkzeug ausgeführt werden kann, müssen alle Eingabe-Layer eine Beschreibung aufweisen. Um eine Beschreibung hinzuzufügen, klicken Sie mit der rechten Maustaste auf den Layer, dann auf Eigenschaften und geben Sie eine Beschreibung ein.
Layer-Pakete sind mit ArcGIS 10 und ArcGIS 9.3.1 abwärtskompatibel. Wenn Sie ein Layer-Paket erstellen möchten, das mit früheren Versionen kompatibel ist, verwenden Sie den Parameter Paketversion. Beachten Sie, dass aufgrund von Aktualisierungen und der verbesserten Funktionalität einiger Geodatabase-Elemente nicht alle Layer-Pakete abwärtskompatibel sind.
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.
Wenn Sie ein Layer-Paket entpacken möchten, ziehen Sie die .lpk-Datei in ArcMap oder klicken Sie mit der rechten Maustaste auf die .lpk-Datei und danach auf Entpacken. Alternativ können Sie das Werkzeug Paket extrahieren verwenden und einen Ausgabeordner angeben.
Mit Entpacken werden Pakete standardmäßig immer in das Benutzerprofil extrahiert und zwar unter:
- XP – C:\Documents and Settings\<username>\My Documents\ArcGIS\Packages
- Vista and Windows 7 – C:\Users\<username>\Documents\ArcGIS\Packages
Wenn Sie das Standardverzeichnis ändern möchten, in dem die Pakete entpackt werden, öffnen Sie im Menü Anpassen das Dialogfeld ArcMap-Optionen. Suchen Sie auf der Registerkarte Freigabe den Abschnitt Paket erstellen, aktivieren Sie die Option Benutzerdefinierten Speicherort verwenden, und navigieren Sie zum neuen Speicherort.
Syntax
arcpy.management.PackageLayer(in_layer, output_file, {convert_data}, {convert_arcsde_data}, {extent}, {apply_extent_to_arcsde}, {schema_only}, {version}, {additional_files}, {summary}, {tags})
Parameter | Erklärung | Datentyp |
in_layer [in_layer,...] | Die zu packenden Layer. | Layer |
output_file | Speicherort und Name der zu erstellenden Ausgabe-Paketdatei (.lpk). | File |
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 |
version [version,...] (optional) | Gibt die Version der Geodatabases an, die im resultierenden Paket erstellt werden. Durch Angabe einer Version können Pakete in früheren Versionen von ArcGIS freigegeben werden. Zudem wird eine Abwärtskompatibilität unterstützt.
| String |
additional_files [additional_files,...] (optional) | Fügt zusätzliche Dateien zu einem Paket hinzu. Zusätzliche Dateien wie .doc, .txt, .pdf usw. werden verwendet, um mehr Informationen zum Inhalt und Zweck des Pakets anzugeben. | File |
summary (optional) | Fügt den Eigenschaften des Pakets Zusammenfassungsinformationen hinzu. | String |
tags (optional) | Fügt den Eigenschaften des Pakets Tag-Informationen hinzu. Mehrere Tags können hinzugefügt oder durch ein Komma oder ein Semikolon getrennt werden. | String |
Codebeispiel
PackageLayer - Beispiel 1 (Python-Fenster)
Das folgende Python-Skript veranschaulicht, wie Sie das Werkzeug "PackageLayer" im Python-Fenster verwenden.
import arcpy
arcpy.env.workspace = "C:/arcgis/ArcTutor/BuildingaGeodatabase/Layers"
arcpy.PackageLayer_management('Parcels.lyr', 'Parcel.lpk', "PRESERVE", "CONVERT_ARCSDE", "#", "ALL", "AlL", "CURRENT", "C:/readme.docx","Summary of package","parcel,montgomery")
PackageLayer - Beispiel 2 (eigenständiges Python-Skript)
Sucht und erstellt einzelne Layer-Pakete für alle Layer-Dateien, die sich in einem angegebenen Ordner befinden.
# Name: PackageLayerEx1.py
# Description: Find all the layer files that reside in a specified folder and create a layer package for each layer file.
# import system modules
import os
import arcpy
# Set environment settings
arcpy.env.overwriteOutput = True
arcpy.env.workspace = "C:/arcgis/ArcTutor/BuildingaGeodatabase/Layers"
# Loop through the workspace, find all the layer files (.lyr) and create a layer package using the same name as the original layer file.
for lyr in arcpy.ListFiles("*.lyr"):
print ("Packaging {0}".format(lyr))
arcpy.PackageLayer_management(lyr, os.path.splitext(lyr)[0] + '.lpk', "PRESERVE", "CONVERT_ARCSDE", "#", "ALL", "ALL", "CURRENT", "#","Summary of package","tag1, tag2")
PackageLayer - Beispiel 3 (eigenständiges Python-Skript)
Sucht und erstellt ein einzelnes Layer-Paket für alle Layer-Dateien, die sich in einem angegebenen Ordner befinden.
# Name: PackageLayerEx2.py
# Description: Find all the layer files that reside in a specified folder and create a single layer package that will contain all layers found.
# import system modules
import os
import arcpy
# Set environment settings
arcpy.env.overwriteOutput = True
arcpy.env.workspace = "C:/arcgis/ArcTutor/BuildingaGeodatabase/Layers"
# Find all the layer files (.lyr) in a workspace and create a single layer package.
lyrs = arcpy.ListFiles("*.lyr")
arcpy.PackageLayer_management(lyrs, 'all_layers.lpk', "PRESERVE", "CONVERT_ARCSDE", "#", "ALL", "ALL", "CURRENT", "#","Summary of package","tag1,tag2")
Umgebungen
Lizenzinformationen
- Basic: Ja
- Standard: Ja
- Advanced: Ja