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 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-TypService-DefinitionPaket

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

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

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

  2. 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.
  3. Verwenden Sie abschließend das Geoverarbeitungswerkzeug Service-Definition hochladen, um die Service-Definition hochzuladen und den Web-Layer zu veröffentlichen.
  4. Hinweis:

    Sie müssen sich bei ArcGIS AllSource 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.

  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