Sie können das Freigeben, Überschreiben und Ersetzen von Web-Layern mit Python automatisieren, indem Sie eine Kombination aus ArcPy-Funktionen im Freigabemodul sowie Geoverarbeitungswerkzeuge in den Toolsets Veröffentlichen, Caching, Kachel-Cache und Paket verwenden.
Es gibt zwei Möglichkeiten für die Freigabe von Web-Layern: Sie können Web-Layer aus Service-Definitionen oder aus Paketen veröffentlichen. Der geeignete Ansatz hängt davon ab, welchen Typ von Web-Layer Sie veröffentlichen möchten. Wenn Sie sich für den Service-Definition-Ansatz entscheiden, wird der Web-Layer aus einer Service-Definition veröffentlicht. Wenn Sie den Paket-Ansatz wählen, wird der Cache lokal als Paket erstellt, das anschließend hochgeladen und zur Veröffentlichung des Web-Layers verwendet wird.
Web-Layer-Typ | Service-Definition | Paket |
---|---|---|
Hinweis:
Einige Web-Layer-Konfigurationen können nicht mit Python veröffentlicht werden. Folgende Layer müssen über die Bedienoberfläche von Anwendungen veröffentlicht werden:
- Vektorkachel-Layer mit einem verknüpften Kartenbild- und/oder Feature-Layer
- Webszenen-Layer mit einem verknüpften Kartenbild- und/oder Feature-Layer
Veröffentlichen von Web-Layern aus Service-Definitionen
Der Workflow zum Veröffentlichen eines Web-Layers beginnt mit einer Karte in einem Projekt oder Raster-Dataset, die Sie freigeben möchten.
- Erstellen Sie zuerst einen Service-Definitionsentwurf mit der getWebLayerSharingDraft-Methode aus der Klasse Map. Weitere Informationen finden Sie unter FeatureSharingDraft, MapImageSharingDraft oder TileSharingDraft. Um einen Service-Definitionsentwurf für eine Standalone-Tabelle zu erstellen, verwenden Sie die Funktion ListTables mit der FeatureSharingDraft-Klasse.
Um einen Web-Feature-Layer, Kartenbild-Layer oder eine Standalone-Tabelle zu überschreiben, ändern Sie die Eigenschaft overwriteExistingService des Freigabeentwurfs.
Hinweis:
Diese Eigenschaft ist für TileSharingDraft nicht verfügbar. Verwenden Sie für Web-Kachel-Layer stattdessen das Geoverarbeitungswerkzeug Web-Layer ersetzen.
- Verwenden Sie das Geoverarbeitungswerkzeug Service bereitstellen, um die Service-Definition bereitzustellen. Beim Staging werden alle Informationen des Entwurfs der Service-Definition konsolidiert, die zum Freigeben des Web-Layers in einer vollständigen Service-Definition benötigt werden.
- Verwenden Sie abschließend das Geoverarbeitungswerkzeug Service-Definition hochladen, um die Service-Definition hochzuladen und den Web-Layer zu veröffentlichen.
Hinweis:
Sie müssen sich bei ArcGIS Pro mit einem ArcGIS Online- oder ArcGIS Enterprise-Konto anmelden, das über Berechtigungen zum Erstellen und Veröffentlichen von Inhalten verfügt.
Veröffentlichen von Web-Layern aus Paketen
Für Web-Kachel-Layer und Vektorkachel-Layer beginnt der Workflow mit einer Karte in einem Projekt, die Sie freigeben möchten. Für Webszenen-Layer und Web-Höhen-Layer beginnt er mit einem unterstützten Eingabe-Dataset.
- Erstellen Sie zunächst mit den entsprechenden Geoverarbeitungswerkzeugen ein Paket für den Web-Layer-Typ, den Sie freigeben möchten.
Web-Layer-Typ Geoverarbeitungswerkzeug(e) Kartenkachelpaket erstellen Erstellen von Vektorkachelpaketen Es sind mehrere Werkzeuge zum Erstellen von Szenen-Layer-Paketen verfügbar. Weitere Informationen finden Sie unter Erstellen und Freigeben eines Szenen-Layer-Pakets.
Web-Layer nach Geoverarbeitungswerkzeugen, die zur Erstellung der Inhalte verwendet wurden Tipp:
Bevor Sie ein Kachelpaket für einen Web-Kachel-Layer oder einen Web-Höhen-Layer erstellen, können Sie optional das Werkzeug Kachelschema für Kartenserver-Cache erstellen oder Kachelschema für Kachel-Cache erstellen verwenden, um ein Kachelschema in der Projektion Ihrer Karte oder Ihres Höhen-Datasets zu erstellen. Sie können diesen Schritt überspringen, wenn Sie das Kachelschema ArcGIS Online/Bing Maps/Google Maps verwenden möchten. Weitere Informationen finden Sie unter Freigeben eines Kachelpakets.
- Verwenden Sie anschließend das Werkzeug Paket freigeben, um das Paket als Web-Layer für ArcGIS Online oder ArcGIS Enterprise freizugeben und zu veröffentlichen.
- Zum Schluss können Sie optional noch das Werkzeug Web-Layer ersetzen verwenden, um den Inhalt eines vorhandenen Web-Layers in einem Portal durch den Inhalt des neuen Web-Layers zu ersetzen.
Hinweis:
Web-Höhen-Layer können nicht ersetzt werden.
Weitere Informationen zum Verwenden von Werkzeugen in Python