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 entweder mithilfe von Freigabeentwürfen, die mit dem Freigabemodul erstellt wurden, oder mithilfe von 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 Freigabeentwurf-Ansatz entscheiden, werden die meisten 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 | Freigabeentwurf | Paket |
---|---|---|
Hinweis:
Einige Web-Layer-Konfigurationen können nicht mit Python veröffentlicht werden. Vektorkachel-Layer mit einem verknüpften Kartenbild-Layer und/oder Web-Feature-Layer müssen beispielsweise über die Bedienoberfläche der Anwendung veröffentlicht werden.
Veröffentlichen von Web-Layern mithilfe von Freigabeentwürfen
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 Freigabeentwurf mit der getWebLayerSharingDraft-Methode aus der Klasse Map. Weitere Informationen finden Sie unter FeatureSharingDraft, MapImageSharingDraft, TileSharingDraft oder SceneLayerSharingDraft. Um einen Freigabeentwurf für einen Webszenen-Layer zu erstellen, verwenden Sie die listLayers-Methode in der Klasse Map mit der Klasse SceneLayerSharingDraft. Um einen Freigabeentwurf für eine Standalone-Tabelle zu erstellen, verwenden Sie die Funktion ListTables mit der Klasse FeatureSharingDraft oder MapImageSharingDraft.
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 oder SceneLayerSharingDraft nicht verfügbar. Es sind alternative Workflows verfügbar. Verwenden Sie für Web-Kachel-Layer stattdessen das Geoverarbeitungswerkzeug Web-Layer ersetzen. Bei Webszenen-Layern ermitteln Sie die vorhandene Element-ID und geben sie im Parameter item_id der Funktion Publish an, wenn Sie den Web-Layer erneut veröffentlichen möchten.
- Wenn der Freigabeentwurf FeatureSharingDraft, MapImageSharingDraft oder TileSharingDraft lautet, stellen Sie die Service-Definition bereit, und veröffentlichen Sie sie.
- Verwenden Sie das Geoverarbeitungswerkzeug Service bereitstellen, um den Service-Definitionsentwurf bereitzustellen und alle erforderlichen Informationen zu konsolidieren, um den Web-Layer in einer vollständigen Service-Definition freizugeben.
- Verwenden Sie das Geoverarbeitungswerkzeug Service-Definition hochladen, um die Service-Definition hochzuladen und den Web-Layer zu veröffentlichen.
- Wenn der Freigabeentwurf SceneLayerSharingDraft lautet, verwenden Sie die Funktion Publish, um den Webszenen-Layer mit einem verknüpften Web-Feature-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 mithilfe von 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 Vektorkachelpaket erstellen 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