Benutzerdefinierte Python-Raster-Funktion

Python-Raster-Funktionen sind benutzerdefinierte Skripte, die zur Verarbeitung und Analyse von Rasterdaten in ArcGIS verwendet werden können. Obwohl ArcGIS eine umfassende Reihe von integrierten Raster-Funktionen bietet, können bestimmte analytische Anforderungen eigene Implementierungen erforderlich machen. Diese benutzerdefinierten Funktionen, die in Python entwickelt wurden, können in Raster-Funktionsketten integriert werden, um die Analysefunktionen der Standard-Rasteranalyse zu erweitern.

In ArcGIS Enterprise 11.5 wurde eine neue Verwaltungs-API eingeführt, um die Registrierung, Bereitstellung und Verwaltung von benutzerdefinierten Python-Raster-Funktionen zu optimieren. Diese API bietet eine unkomplizierte Schnittstelle für Administratoren zum Verwalten benutzerdefinierter Funktionen in der Unternehmensumgebung.

Ausführliche Informationen zur Verwendung dieser Verwaltungs-API finden Sie in der ArcGIS Enterprise-Dokumentation.

Anforderungen an die Paketerstellung für benutzerdefinierte Python-Raster-Funktionen

Um eine benutzerdefinierte Python-Raster-Funktion in ArcGIS Enterprise erfolgreich bereitzustellen, müssen die folgenden Voraussetzungen erfüllt sein:

  1. Erforderliche Dateien
    • Raster-Funktionsvorlage (.rft.xml): Definiert die Raster-Funktionskette und verweist auf das verknüpfte Python-Skript.
    • Python-Skript (.py): Enthält die Implementierung der benutzerdefinierten Raster-Funktionen.

    Beide Dateien müssen im Bereitstellungspaket enthalten sein.

  2. Benennungsregeln
    • Konsistenz: Der Name des Python-Skripts muss mit dem in der Raster-Funktionsvorlagendatei angegebenen Namen übereinstimmen.
    • Gültige Zeichen: Dateinamen müssen mit einem Buchstaben beginnen und können Buchstaben, Zahlen und Unterstriche enthalten.
      Vorsicht:

      Vermeiden Sie die Verwendung von Sonderzeichen und den Beginn von Namen mit Zahlen.

  3. Angeben des Dateipfads

    Referenzieren Sie in der Raster-Funktionsvorlage das Python-Skript mit dem Präfix [functions], gefolgt von dem relativen Pfad. Beispiel:

    [functions]Custom\Subfolder\script_name.py

    Die Syntax stellt sicher, dass ArcGIS das Skript im angegebenen Funktionsverzeichnis findet.

  4. Verzeichnisstruktur

    Organisieren Sie die Dateien in dem Unterordner, der dem Dateipfadverzeichnis folgt, das Sie in der Raster-Funktionsvorlage angegeben haben. Beispiel:

    "PythonModule": "[functions]Custom\\Tree_Health.py"

    Bei dieser Beispiel-ZIP-Datei sollte der Inhalt die RFT-Datei und die Python-Datei enthalten.

    Konzept für den Inhalt von Ordnern
    Konzeptionsgrafik des Ordnerinhalts.
  5. Bereitstellungspaket

    Komprimieren Sie den Unterordner mit den Dateien .rft.xml und .py in ein ZIP-Archiv. Dieses Paket kann mithilfe der Verwaltungs-API registriert und bereitgestellt werden, die in ArcGIS Enterprise 11.5 eingeführt wurde.

Bereitstellung einer benutzerdefinierten Python-Raster-Funktion in ArcGIS Enterprise

Gehen Sie folgendermaßen vor, um eine benutzerdefinierte Python-Raster-Funktion in ArcGIS Enterprise bereitzustellen:

  1. Zugriff auf das Verzeichnis der Verwaltungs-API
    • Navigieren Sie in ArcGIS Enterprise zum Verzeichnis der Verwaltungs-API.
    • Melden Sie sich mit einem Konto mit Administratorberechtigungen an.
  2. Registrieren der benutzerdefinierten Raster-Funktion
    • Gehen Sie im Verzeichnis der Verwaltungs-API zu Services > Typen.
    • Wählen Sie Benutzerdefinierte Raster-Funktionen aus.
    • Klicken Sie auf die Schaltfläche Registrieren.
    • Verwenden Sie die Option Datei auswählen, um die ZIP-Datei mit Ihrer benutzerdefinierten Raster-Funktion zu suchen und auszuwählen.
    • Klicken Sie auf Registrieren, um den Registrierungsvorgang abzuschließen.
  3. Überprüfen der Registrierung
    • Nach erfolgreicher Registrierung wird die benutzerdefinierte Raster-Funktion unter Registrierte benutzerdefinierte Raster-Funktionen im Verzeichnis der Verwaltungs-API angezeigt.
  4. Greifen Sie im Portal auf Registrierte Funktion zu.
    • Melden Sie sich am ArcGIS Enterprise-Portal an.
    • Navigieren Sie zu Eigene Inhalte oder Eigene Organisation, um die registrierte benutzerdefinierte Raster-Funktionsvorlage zu finden.
  5. Verwenden der benutzerdefinierten Raster-Funktion
    • Die registrierte benutzerdefinierte Raster-Funktion kann nun ähnlich wie die vom System bereitgestellten Raster-Funktionsvorlagen verwendet werden.
    • Sie kann mit Werkzeugen wie dem Raster-Funktions-Editor in Rasterverarbeitungs-Workflows integriert werden.