Die Funktion "Python-Raster" ermöglicht die Erstellung benutzerdefinierter Raster-Funktionen. Sie können Bildbearbeitungsalgorithmen in Python schreiben und sie dann auf Mosaik-Datasets und Raster-Datasets anwenden. Die Funktion "Python-Raster" kann wie jede andere Funktion in eine Funktionskette eingefügt werden. Sie akzeptiert eine von zwei Eingaben: eine .py-Datei oder eine .pyd-Datei (kompiliertes Cython). Die Parameter für die Funktion werden im Python-Skript angegeben. Wenn Sie auf ein Skript verweisen, wird die Tabelle mit den verfügbaren Parametern gefüllt.
Die Funktion "Python-Raster" kann in eine Funktionskette eingefügt werden, indem Sie mit der rechten Maustaste im Funktionsdialogfeld auf eine vorhandene Funktion klicken. Im Unterschied zu den sofort einsetzbaren Funktionen befindet sie sich im ersten Kontextmenü, sobald Sie mit der rechten Maustaste auf eine vorhandene Funktion klicken.
In dieser Funktion gibt es drei Eingaben:
- Python-Modul
- Klassenname
- Parameter
Python-Modul
Das Python-Modell ist der Pfad zum Python-Skript. Die Eingabe kann in Form einer Python-Datei (.py) oder einer kompilierten-Cython-Datei (.pyd) erfolgen. Im Python-Code gibt es Methoden, die zur Beschreibung von Informationen über die Funktion, die Parameter und die Ausgabe verwendet werden. Sobald dieser Parameter angegeben wurde, werden die Abschnitte Klassenname und Parameter gefüllt.
Weitere Informationen zur Funktion "Python-Raster" finden Sie in Python-Raster-Funktionen auf GitHub.
Klassenname
Der Klassenname ist der Name, der einem Codeblock gegeben wird, der aus dem Python-Skript verwendet wird. Eine Python-Eingabe hat für gewöhnlich nur eine Klasse, sie kann aber auch mehrere Klassen haben. Wenn Sie einen Klassennamen angeben, werden die Parameter automatisch mit den verfügbaren Parametern gefüllt.
Parameter
Sobald der Klassenname angegeben wurde, wird die Tabelle Parameter mit den Parameternamen und Werten gefüllt, die durch das Python-Skript definiert sind. Sie können das Feld Wert bearbeiten, um Ihre Ausgabe anzupassen.
Es gibt fünf mögliche Datentypen, die als Parameter verwendet werden können: Numerisch, Zeichenfolge, Raster, Mehrere Raster und Boolesch. In Ihrem Python-Skript können Domänen für Parameter erstellt werden, um die Liste der Eingabewerte zu begrenzen, aus denen ein Benutzer wählen kann. In diesem Fall wird beim Klicken auf den Wert ein Dropdown-Menü angezeigt. Die getParameterInfo()-Methode im Python-Skript steuert die festgelegten Eingabeparameter. Weitere Informationen zur getParameterInfo() sind auf GitHub verfügbar.
Wenn der Parametertyp auf Raster festgelegt ist, können Sie auf den Abschnitt Wert des Parameters klicken. Dann wird ein Fenster geöffnet. In diesem Fenster können Sie mehrere Raster aus mehreren Quellen hinzufügen. Die folgenden Optionen sind verfügbar, wenn Sie in diesem Dialogfeld mehrere Raster hinzufügen:
- Raster vom Datenträger hinzufügen: Ein Raster wird hinzugefügt, das sich auf einem Datenträger befindet. Sie können Raster-Datasets, Mosaik-Datasets und Raster-Produkte hinzufügen.
- Funktionskette hinzufügen: Eine Funktionskette wird als Eingabe hinzugefügt.
- Skalar hinzufügen: Ein Skalarwert wird hinzugefügt. Skalarwerte müssen numerisch sein.
- Referenz zur ausgewählten Eingabe hinzufügen: Eine referenzierte Kopie des ausgewählten Rasters oder der ausgewählten Funktionskette wird als Eingabe hinzugefügt. Änderungen im referenzierten Raster oder der Funktionskette werden in diese referenzierte Kopie übernommen. Dies kann sich bei der Erstellung vieler Funktionen als hilfreich erweisen, die evtl. die gleiche referenzierte Eingabe verwenden.
- Kopie der ausgewählten Eingabe hinzufügen: Eine statische Kopie der ausgewählten Funktionsketteneingabe wird hinzugefügt. Änderungen in der kopierten Funktionskette werden in diese statische Kopie nicht übernommen. Dies kann sich bei der Erstellung vieler ähnlicher Funktionen als hilfreich erweisen, wenn es kleine Änderungen in den Funktionsketten gibt.