Arbeiten mit unvollständigen abgeleiteten Daten

ModelBuilder wird intelligent konstruiert, um zu ermitteln, wie Werkzeuge Daten ändern, bevor das Werkzeug ausgeführt wird. Dieses Verhalten ist notwendig, um einen Workflow weiter erstellen zu können, nachdem ein Werkzeug hinzugefügt wurde, das Daten ändert. Die beste Darstellung dieses Verhaltens erhält man mit den Werkzeugen Feld hinzufügen und Feld berechnen, wie unten dargestellt. Wenn ein neues Feld mit dem Werkzeug Feld hinzufügen hinzugefügt wird, wird die Ausgabevariable des Werkzeugs Feld hinzufügen aktualisiert, sodass das neue Feld enthalten ist. Wenn das Werkzeug Feld berechnen geöffnet wird, erkennt es das neue Feld, auch wenn das Werkzeug Feld hinzufügen noch nicht ausgeführt wurde. Dies ist notwendig, um die anderen Parameter des Werkzeugs Feld berechnen angeben zu können, und der Modellworkflow wird fortgesetzt, ohne das Werkzeug Feld hinzufügen zuerst auszuführen.

Beispiel für nicht unvollständig abgeleitete Daten

Während ModelBuilder die Fähigkeit hat zu bestimmen, welche Änderungen die meisten Werkzeuge an Daten vornehmen, bevor das Werkzeug ausgeführt wird, gibt es einige Werkzeuge, wo ModelBuilder die abgeleiteten Daten oder die Werte, die das Werkzeug erstellt, nicht ermitteln kann. In diesen Fällen können die abgeleiteten Ausgabedaten nicht vor der Ausführung aktualisiert werden, um diese Änderungen einzuschließen. Diese Daten werden als unvollständige abgeleitete Daten bezeichnet.

Verwenden unvollständiger abgeleiteter Daten

Wenn ein Prozess unvollständige abgeleitete Daten erstellt, aber es notwendig ist, diese abgeleiteten Daten für einen anderen Prozess als Eingabe zu verwenden, gibt es zwei mögliche Optionen, wie diese Einschränkung umgangen werden kann:

  1. Eingabe eines Wertes: Wenn die jeweiligen Änderungen, die in den unvollständigen abgeleiteten Daten fehlen, bekannt sind, können Werte im Werkzeugdialogfeld manuell in einen Parameter eingegeben werden.
  2. Ausführen eines Prozesses: Sie können den Prozess, durch den unvollständige abgeleitete Daten erstellt werden, in ModelBuilder ausführen. Nachdem der Prozess ausgeführt wurde, sind die abgeleiteten Daten vollständig.

Eingabe eines Wertes

Das Werkzeug Tabelle erstellen fügt der neuen Tabelle das Feld Field1 hinzu, aber dieses neue Feld wird nicht in der Liste der Felder angezeigt, die mit dem Werkzeug Feld löschen gelöscht werden können; das Werkzeug Tabelle erstellen erstellt unvollständige abgeleitete Daten. Letztendlich muss Field1 aus der Tabelle gelöscht werden, aber es ist nicht in der automatisch generierten Liste von Feldern enthalten, die aus der Tabelle gelöscht werden können.

Schritte:
  1. Da Field1 bekanntermaßen in der Tabelle existiert, nachdem das Werkzeug Tabelle erstellen ausgeführt wurde, fügen Sie Field1 der Liste der Felder, die gelöscht werden soll, mit der Schaltfläche Feld hinzufügen im Werkzeugdialogfeld Feld löschen manuell hinzu.
    Eingabe eines Wertes
  2. Nachdem Sie Field1 der Liste der zu löschenden Felder hinzugefügt haben, wird eine Warnung angezeigt, dass Field1 nicht vorhanden ist. Diese Warnung kann ignoriert werden, da zu dem Zeitpunkt, wenn das Werkzeug Feld löschen ausgeführt wird, Field1 vorhanden ist.
    Warnung beim Löschen von Feldern
  3. Nicht alle Werkzeugdialogfelder lassen es zu, dass Felder oder Werte manuell hinzugefügt werden. Einige ermöglichen vielleicht die Eingabe von Feldern oder Werten, geben aber einen Fehler statt einer Warnung zurück (Fehler können nicht ignoriert werden, und das Werkzeug kann nicht ausgeführt werden). Wenn der Prozess Eingabe eines Wertes nicht funktioniert, verwenden Sie die Methode Ausführen eines Prozesses.

Ausführen eines Prozesses

Schritte:
  1. In ModelBuilder können Sie einzelne Prozesse ausführen, indem Sie das Werkzeug auswählen, mit der rechten Maustaste klicken und dann Ausführen wählen.
  2. Nachdem ein Prozess ausgeführt wurde, werden die abgeleiteten Datenelemente immer anhand der Ergebnisse dieses Prozesses aktualisiert. Wenn alle Werkzeuge vor dem Werkzeug Feld löschen ausgeführt werden, wird die Liste der Felder, die aus der neuen Tabelle gelöscht werden können, mit allen Feldern aktualisiert, einschließlich Field1.
    Ausführen eines Prozesses

Einige Werkzeuge, die unvollständige abgeleitete Daten erstellen

Das Werkzeug Import aus Austauschdatei liest beispielsweise eine ArcInfo-Austauschdatei (.e00-Datei) mit ArcInfo-Coverage-Daten. Dieses Werkzeug kann erst dann die Ausgabe-Dataset-Feldnamen, ihre Attribute oder den Geometrietyp bestimmen, wenn das Werkzeug ausgeführt wird. Viele der anderen Werkzeuge in der Toolbox Conversion erstellen auch unvollständige abgeleitete Daten.

Alle Skriptwerkzeuge geben unvollständige abgeleitete Daten aus, außer wenn das Skriptwerkzeug mit einer ToolValidator-Klasse programmiert wurde, um die Definition der abgeleiteten Datenvariable zu aktualisieren. Weitere Informationen finden Sie unter Anpassen des Verhaltens von Skriptwerkzeugen.

Das Werkzeug Teilen, das neue Feature-Classes in einem Workspace erstellt, kennt nicht die Anzahl oder die Namen der zu erstellenden Feature-Classes, bis das Werkzeug ausgeführt wird; dies wird als unvollständige abgeleitete Daten angesehen.

Das Werkzeug Tabelle erstellen, das bestimmte Felder automatisch abhängig vom Typ der Tabellenausgabe hinzufügt (Geodatabase, .dbf oder INFO), kennt die Namen der Felder nicht, die das Werkzeug hinzufügt, bis das Werkzeug ausgeführt wird; dies wird als unvollständige abgeleitete Daten angesehen.


7/10/2012