⯇ Zurück zu Anleitungen zum Arbeiten in der Siedlungsentwässerung
Weiter nach MIKE Zero Toolbox ⯈
Die MIKE Zero Toolbox beinhaltet verschiedene Werkzeuge und wird gemeinsam mit MIKE+ installiert. Um Rasterdaten für die Erstellung bzw. Randbedingungen ein Meshs in MIKE+ (bzw. MIKE Flood) verwenden zu können, muss es in das interne Format *.dfs2 umgewandelt werden. Folgende Seite gibt eine schrittweise Anleitung, wie Sie ein ESRI Ascii Grid file (*txt, *.asc) zu MIKE 21 Rasterdaten (*.dfs2) konvertieren können. Dazu steht das Tool Grd2MIKE zur Verfügung. Das Tool setzt voraus, dass im *.asc die Rasterbreite und die Geländehöhe in der Einheit Meter angegeben sind.
(1) Öffnen Sie die MIKE Zero Toolbox direkt in MIKE+ über das Menü Werkzeuge…
…oder traditionell über MIKE Zero > File > New > MIKE ZERO Toolbox:
(2) Klicken Sie im Menüpunkt "GIS" auf "Grd2MIKE" und wählen Sie Ihren Raster (*.txt, *.asc) aus.
(3) Klicken Sie auf "Next" und wählen Sie dann die richtige Projektion aus. Wenn Sie eine *prj-Datei importieren möchten, klicken Sie auf den Dropdown-Pfeil → Browse (ganz unten in der Liste). Um die richtige Projektion auszuwählen, klicken Sie auf „Import Projection File“ und wählen Sie Ihre *.prj-Datei aus. Eine *.prj-Datei muss nur einmal importiert werden. Danach wird sie automatisch gespeichert.
(4) Klicken Sie auf OK > Next und wählen Sie einen Speicherort aus.
(5) Klicken Sie auf <Execute> um das *.dfs2 File zu erstellen. Mit <Finish> beenden Sie das Dialogfenster. (Achtung: <Finish> alleine erstellt KEIN *.dfs2-File.)
(6) Als nächstes gehen Sie zu dem Ordner, in dem Sie das *.dfs2 File erstellt haben. Mit Doppelklick öffnet sich automatisch MIKE ZERO.
Grd2MIKE geht davon aus, dass das Esri ASCII Raster mit den Parametern xllcorner
und yllcorner
definiert ist. Nur in diesem Fall wird das Esri ASCII Raster lagerichtig konvertiert.
Wenn das Esri ASCII Raster hingegen mit xllcenter
und yllcenter
definiert ist, ist die dfs2-Datei um eine halbe Rasterbreite verschoben – an einer Korrektur des Tools wird gearbeitet 2). Als Behelfslösung müssten Sie den Kopf der *.asc-Datei manuell auf xllcorner
und yllcorner
anpassen und die Koordinaten um eine halbe Zellbreite nach links unten verschieben.
nodata_value
in der *asc-Datei wird vom Tool in die *.dfs2 als Delete value
geschrieben, der Wert dafür ist -1e-30. Der Land value wird standardmäßig auf 0 gesetzt.
(1) Konvertieren Sie mit dem Werkzeug Grd2Mike eine asc-Datei nach dfs2. Jetzt dürfen Sie das Dialogfeld nicht achtlos schließen!
Wechseln Sie auf das Register Setup List. Wenn Sie die Toolbox frisch gestartet haben, sollte nur ein Setup zu sehen sein, ansonsten löschen Sie die überschüssigen Setups.
Speichern Sie das Setup als *mzt-Datei ins gleiche Verzeichnis wie die asc-Dateien, im Beispiel mit dem Namen batchconvert.mzt. Mit einem Texteditor werden Sie sehen, dass die *.mzt genau die Angaben enthält, die Sie vorhin im Dialogfeld gemacht haben.
Die *.mzt lässt sich mit Hilfe der ToolboxShell.exe
und den Parametern -run
und dem Namen der *.mzt-Datei, hier batchconvert.mzt
, über die Eingabeaufforderung starten:
C:\Users\tht\Documents>"c:\Program Files (x86)\DHI\MIKE Zero\2021\bin\x64\ToolboxShell.exe" -run batchconvert.mzt
Die Konvertierung läuft im Hintergrund ab, ohne dass das Dialogfeld erscheint.
(2) Um viele Dateien hintereinander konvertieren, haben Sie zwei Möglichkeiten.
(a) Sie editieren die *.mzt-Datei händisch und fügen mehrere Abschnitte [grd2mike] ein.
(b) Sie packen sie Konvertierung beispielsweise in ein Python-Skript, das die *.mzt-Datei immer wieder modifiziert und anschließend den ToolboxShell-Befehl ausführt.
Beim Konvertieren eines Raster Formats (z.B. TIFF) nach ASCII in QGIS (Tool = Translate-convert format) werden sehr viele Nachkommastellen produziert. Die Anzahl der Nachkommastellen in der ASCII Datei lässt sich über den zusätzlichen Parameter-Befehl -co DECIMAL_PRECISION=4 steuern - dadurch verringert sich auch die Dateigröße der ASCII Datei:
Eventuell enthält der Dateipfad Sonderzeichen, mit denen das Tool nicht umgehen kann, in diesem Fall ein Pluszeichen, aber auch Minuszeichen sind problematisch:
Eventuell fehlt im Kopf der *.asc-Datei die Angabe "nodata_value". Im folgenden Beispiel wurde die Zeile bereits manuell ergänzt:
ncols 493 nrows 323 xllcorner 1750760.000000000000 yllcorner 5946615.000000000000 cellsize 5.000000000000 nodata_value -9999
Bei großen ASCII Dateien kann es passieren, dass die obige Fehlermeldung aufgrund der fehlenden "nodata_value" Angabe nicht erscheint.