Automatisches Freigeben von Web-Layern
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, Web-Layer automatisch freizugeben. 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 |
|---|---|---|
|
|
||
|
|
||
|
|
||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
|
|
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 KlasseMapoder der FunktionCreateSharingDraft. Weitere Informationen finden Sie unterFeatureSharingDraft,MapImageSharingDraft,TileSharingDraft,SceneLayerSharingDraft,VectorTileSharingDraftoderImageSharingDraft. Um einen Freigabeentwurf für einen Webszenen- oder Vektorkachel-Layer zu erstellen, verwenden Sie dielistLayers-Methode in der KlasseMapmit der KlasseSceneLayerSharingDraftoderVectorTileSharingDraft. Um einen Freigabeentwurf für eine Standalone-Tabelle zu erstellen, verwenden Sie die FunktionListTablesmit der KlasseFeatureSharingDraftoderMapImageSharingDraft.Um einen Web-Feature-Layer, Kartenbild-Layer, einen Web-Bilddaten-Layer oder eine Standalone-Tabelle zu überschreiben, ändern Sie die Eigenschaft
overwriteExistingServicedes Freigabeentwurfs.Hinweis:
Diese Eigenschaft ist nicht verfügbar für
TileSharingDraft,SceneLayerSharingDraftundVectorTileSharingDraft. Es sind alternative Workflows verfügbar. Verwenden Sie für Web-Kachel-Layer stattdessen das Geoverarbeitungswerkzeug Web-Layer ersetzen. Bei Webszenen- oder Vektorkachel-Layern ermitteln Sie die vorhandene Element-ID und geben sie im Parameteritem_idder FunktionPublishan, wenn Sie den Web-Layer erneut veröffentlichen möchten.Wenn der Freigabeentwurf
FeatureSharingDraft,MapImageSharingDraft,TileSharingDraftoderImageSharingDraftlautet, 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
SceneLayerSharingDraftoderVectorTileSharingDraftlautet, verwenden Sie die FunktionPublish, um den Webszenen- oder Vektorkachel-Layer mit einem verknüpften Web-Feature-Layer zu veröffentlichen.
Hinweis:
Sie müssen mit einem ArcGIS Online- oder ArcGIS Enterprise-Konto bei ArcGIS Pro angemeldet sein, dem Berechtigungen zum Erstellen von Inhalten zugewiesen sind.
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 mit den entsprechenden Geoverarbeitungswerkzeugen ein Paket für den Web-Layer-Typ, den Sie freigeben möchten.
Web-Layer-Typ
Geoverarbeitungswerkzeug(e)
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.
Verwenden Sie optional das Werkzeug Web-Layer ersetzen, 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