HOW TO
In einigen Fällen ist es erforderlich, vom Benutzer erstellte interaktive Features einzugeben, wenn ein Modell mit Feature-Sets ausgeführt wird. Das Problem ist, dass der Ersteller des Modells häufig vermeiden möchte, dass der Benutzer mehr als die erforderliche Anzahl der Mindest- oder Höchsteingaben eingibt.
Bei dieser Lösung wird der Benutzer nicht in Form eines Fehler-Pop-ups oder einer Warnung daran gehindert, mehr als die erforderliche Anzahl der Mindest- oder Höchsteingaben auszuwählen. Stattdessen wird das Modell ohne eine Ausgabe ausgeführt.
In einem Beispielszenario verfügt der Benutzer bereits über ein Modell mit Feature-Sets, das eine Feature-Class "School" (vorhandene Schulen) anhängt, indem mit den interaktiven Funktionen der Feature-Sets Standorte hinzugefügt werden (neue Schulstandorte). Gleichzeitig möchte der Modellersteller verhindern, dass der Modellbenutzer mehr als zwei Punkte gleichzeitig eingibt.
Im Folgenden ist das fertige Modell abgebildet. Es verwendet Beispieldaten als Szenario. Alles, was benötigt wird, ist der Teil "Anzahl erhalten" und "Wert berechnen".
Da das Feature-Set (da es eine Eingabe in ein Werkzeug ist) bereits Teil des zu ändernden Modells ist, gehen Sie wie folgt vor:
Ausdruck:
countRows("%rowcount%")
Code Block (optional):
def countRows(RowCount): import arcpy if %RowCount% == 2: # feature restriction number return "true" else: return "false"
Kurz gesagt, bezieht sich dieser Code auf die Ausgabe des Werkzeugs "Anzahl erhalten" (die zur In-Memory-Tabelle hinzugefügten Zeilen; wenn Sie ein Feature hinzufügen, ist es eine Zeile, bei zwei Features sind es zwei Zeilen usw.) Für unser Szenario verwenden wir den Wert "2", sodass das Werkzeug zwei Features in der In-Memory-Tabelle erstellt, wenn der Modellbenutzer auf zwei neue Schulstandorte klickt. (Dies kann unterschiedlich sein, da Ihre Umgebung, Ihre Modellparameter usw. andere Anforderungen haben können. Dieses Modell verwendet Punkt-Features, und Sie verwenden vielleicht Linien-Features.)
Bei der Ausführung funktioniert das Werkzeug nur, wenn zwei Punkte ausgewählt sind. Andernfalls gibt das Werkzeug die folgende informative Meldung aus: "Der Prozess wurde nicht ausgeführt, weil die Bedingung falsch ist."
Die falsche Vorbedingung wird erstellt, weil die IF-Anweisung des Werkzeugs "Wert berechnen" nicht erfüllt wurde, also die Eingabe nicht aus zwei Punkten bestand.
Das Modell wird unabhängig davon, ob der Benutzer die gewünschte Anzahl an Eingaben auswählt oder nicht, als "Abgeschlossen" ausgeführt, weil das Werkzeug "Wert berechnen" einen booleschen Wert ausgibt, der nur zwischen "true" und "false" unterscheidet.
Hilfe von ArcGIS-Expert*innen erhalten
Die Esri Support-App herunterladen