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 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-TypFreigabeentwurfPaket

Web-Feature-Layer

Unterstützt

Kartenbild-Layer

Unterstützt

Standalone-Tabelle

Unterstützt

Web-Kachel-Layer

Unterstützt

Unterstützt

Vektorkachel-Layer

Unterstützt

Webszenen-Layer

Unterstützt

Unterstützt

Web-Höhen-Layer

Unterstützt

Web-Layer nach Ansatz der unterstützten Veröffentlichung
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.

  1. 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.

  2. Wenn der Freigabeentwurf FeatureSharingDraft, MapImageSharingDraft oder TileSharingDraft lautet, stellen Sie die Service-Definition bereit, und veröffentlichen Sie sie.
    1. 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.
    2. Verwenden Sie das Geoverarbeitungswerkzeug Service-Definition hochladen, um die Service-Definition hochzuladen und den Web-Layer zu veröffentlichen.
  3. Wenn der Freigabeentwurf SceneLayerSharingDraft lautet, verwenden Sie die Funktion Publish, um den Webszenen-Layer mit einem verknüpften Web-Feature-Layer zu veröffentlichen.
  4. 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.

  1. Erstellen Sie zunächst mit den entsprechenden Geoverarbeitungswerkzeugen ein Paket für den Web-Layer-Typ, den Sie freigeben möchten.

    Web-Layer-TypGeoverarbeitungswerkzeug(e)

    Web-Kachel-Layer

    Kartenkachelpaket erstellen

    Vektorkachel-Layer

    Vektorkachelpaket erstellen

    Webszenen-Layer

    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-Höhen-Layer

    Kachel-Cache verwalten und Kachel-Cache exportieren

    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.

  2. 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.
  3. 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