Validierung in Skriptwerkzeugen

Sie können für das Dialogfeld "Skriptwerkzeug" benutzerdefiniertes Verhalten festlegen, etwa das Aktivieren und Deaktivieren von Parametern, das Bereitstellen von Standardwerten und das Aktualisieren von Zeichenfolgen-Schlüsselwörtern. Durch Hinzufügen von Python-Code können Sie folgende Aktionen ausführen:

Funktionsweise der Validierung

Die Validierung erfolgt durch einen Block mit Python-Code, mit dem die Geoverarbeitung steuert, wie sich das Werkzeugdialogfeld und das Python-Fenster basierend auf der Benutzereingabe ändern. Die von Esri bereitgestellten Systemwerkzeuge waren schon immer in der Lage, auf Benutzereingaben zu reagieren und das Werkzeugdialogfeld wie oben beschrieben entsprechend anzupassen.

Validierung

Validierung bedeutet die Überprüfung, ob alle Werkzeugparameter korrekt sind und ob im Falle eines Fehlers sinnvolle Meldungen bereitgestellt werden. Die Validierung besteht aus zwei Teilen:

  • Dem Teil, den Sie durch Hinzufügen ausführen können.
  • Dem von ArcGIS automatisch durchgeführten Teil. Dieser Teil der Validierung wird als interne Prüfung (bzw. Basisprüfung) bezeichnet, da es sich um die grundlegende Überprüfung handelt, die intern von der Geoverarbeitung in ArcGIS vorgenommen wird.

Werfen wir zunächst einen Blick auf die Funktionen der internen Prüfung:

  • Falls ein Parameter erforderlich ist, wird geprüft, ob er leer ist (noch nichts eingegeben wurde). Ist dies der Fall, wird die Meldung "Wert ist erforderlich" im Werkzeugdialogfeld angezeigt (mit einem grünen Punkt anstelle eines roten X).
  • Es wird geprüft, ob der eingegebene Wert den richtigen Typ aufweist (z. B., ob anstelle einer Feature-Class ein Raster oder anstelle einer Zahl Buchstaben eingegeben wurden).
  • Die Filtermitgliedschaft wird geprüft. Beispiel: Wenn ein Wertelistefilter mit den Schlüsselwörtern ROT, ORANGE und GELB vorliegt und BLAU eingegeben wird, wird eine Fehlermeldung angezeigt, da sich BLAU nicht im Wertelistefilter befindet.
  • Das Vorhandensein von Eingabe-Datasets wird überprüft.
  • Es wird ein standardmäßiger Katalogpfad für Ausgabe-Datasets erzeugt.
  • Die Beschreibung der Ausgabedaten wird auf Grundlage der Regeln in einem speziellen Objekt aktualisiert, das als Schema bezeichnet wird.
  • Das Vorhandensein von Ausgabe-Datasets wird anhand der Umgebungseinstellung overwriteOutput überprüft. Wenn das Dataset vorhanden ist und die overwriteOutput-Einstellung "false" lautet, wird eine Fehlermeldung ausgegeben, anderenfalls eine Warnung.
  • Wenn es sich bei dem Parameter um einen Felddatentyp handelt, wird überprüft, ob das Feld in der zugehörigen Tabelle vorhanden ist.
  • Es wird überprüft, ob sich das Ausgabe-Dataset vom Eingabe-Dataset unterscheidet (es sei denn, die Ausgabe wurde abgeleitet, wie bei Feld hinzufügen).
  • Bei Parametern mit den Datentypen "lineare Einheit" oder "Flächeneinheit" werden die Standardwerte festgelegt, indem die entsprechenden Werte in ArcMap ermittelt werden (sofern die Ausführung über ArcMap erfolgt).
  • Wenn es sich bei der Ausgabe um ein Coverage, ein Grid oder eine INFO-Tabelle handelt, wird überprüft, ob die bei diesen Datasets vorgeschriebene maximale Anzahl von 13 Zeichen für den Dateinamen eingehalten wurde.

Die folgenden Aufgaben werden nicht von der internen Prüfung durchgeführt, Sie können sie jedoch in Ihrem eigenen Validierungscode selbst übernehmen:

  • Aktualisierung von Filtern auf Grundlage der Interaktion mit anderen Parametern. Beispiel: Wenn Benutzer eine Point-Feature-Class im ersten Parameter eingeben, soll im Werkzeugdialogfeld ROT, ORANGE und GELB im dritten Parameter angezeigt werden. Wird eine Polygon-Feature-Class eingegeben, soll im dritten Parameter BLAU, GRÜN und LILA angezeigt werden.
  • Aktivierung/Deaktivierung von Parametern
  • Berechnung von Standardwerten
  • Durchführung werkzeugspezifischer Parameterinteraktionen

Der Code, den Sie hinzufügen, funktioniert wie folgt zusammen mit der internen Prüfung:

  • Sie können Regeln bereitstellen, anhand derer die interne Prüfung die Beschreibung der Ausgabe-Datasets aktualisiert. Diese Regeln sind im Schema-Objekt enthalten.
  • Sie können Filter vor der internen Prüfung aktualisieren. Obiges Beispiel: Wenn eine Point-Feature-Class eingegeben wird, wird der Filter so aktualisiert, dass er ROT, ORANGE und GELB enthält. Die interne Prüfung prüft dann den vom Benutzer eingegebenen Wert anhand der Werte im Filter.

Darüber hinaus können, wie bereits erwähnt, mit dem Validierungscode Standardwerte berechnet, Parameter aktiviert bzw. deaktiviert und Meldungen individuell angepasst werden. Diese Aktionen wirken sich nicht auf die interne Prüfung aus, sie beeinflussen lediglich das Aussehen des Werkzeugdialogfeldes.

Verwandte Themen

5/10/2014