Mehr

Wie gebe ich diese Funktion in "Raster-Rechner" in Model Builder in ArcGIS 10.2 ein?

Wie gebe ich diese Funktion in


Die Rasterdateien, auf die sich die Funktion bezieht, lauten wie folgt:

  • Niederschlag (o „Raster“ in Abbildung 1): Variabel
  • CN_2S_7ma: Konstante
  • CN_8S_7ma: Konstante

Die einzugebende mathematische Funktion lautet wie folgt:

a) Erste Bedingung: Bedingung für Raster, die "Kein Wert" oder leere Zellen haben, setzen sie eine Null. Wenn "Niederschlag"> 0, Antwort: Ja = Geht zu Bedingung 2, Nein = 0

b) Zweite Bedingung: Wenn "Niederschlag"> = CN_2S_7ma, Antwort:

Ja = 〖(Niederschlag - CN_2S_7ma)〗^2 / (Niederschlag + CN_8S_7ma)

Nein = 0

Die Idee besteht darin, die Funktion in einem Model Builder zu platzieren, nachdem Sie mit "Raster iterieren" alle Raster im Ordner ("Precipitacion") verwendet und die Funktion angewendet haben. Bisher schreibe ich beide Bedingungen in "Raster Calculator" so und funktioniert nicht:

Con( "%Raster%" > 0,( Con( "%Raster%" >= "%CN_2S_7ma%",( ( Square( "%Raster%" - "%CN_2S_7ma%" ) ) / ( "%Raster%" + "%CN_8S_7ma%" ) ), 0 ) ), 0 )

Abbildung 1: Druckbildschirm meines "nicht funktionierenden" Modellbauers :(


Überprüfen Sie Ihre Anführungszeichen. Einige von ihnen sind normale doppelte Anführungszeichen, aber einige von ihnen sind "geschwungene Anführungszeichen", insbesondere die um Ihre %raster%-Variablen. Dies kann passiert sein, wenn Sie etwas aus einem Microsoft-Programm kopiert und eingefügt haben, da sie Ihre normalen Anführungszeichen gerne in geschweifte / intelligente Anführungszeichen umwandeln. Es ist wirklich offensichtlich, wenn Sie Ihren Ausdruck kopieren und in einen Texteditor wie Notepad++ einfügen.

Die schnelle Lösung besteht darin, die Anführungszeichen zu löschen und im Rasterrechner erneut einzugeben. Ich bin mir nicht sicher, ob das das einzige Problem mit dem Ausdruck ist, aber ich glaube, es ist zumindest eines der Probleme.