Letzte Änderung mit MIKE URBAN Version 2009 SP2.
Bei jedem MOUSE-Simulationslauf wird eine Zusammenfassung der Simulationsergebnisse in Form einer HTML-Datei gespeichert. Diese Zusammenfassung kann mit einigen Handgriffen auch herangezogen werden, um im Lageplan Ergebnisse wie den maximalen Überstau oder den Auslastungsgrad darzustellen.
Die Darstellung anhand der HTML-Zusammenfassung ist zwar umständlicher, als die Darstellung anhand der statistischen Ergebnisse direkt aus der MIKE URBAN-Datenbank, dafür ist sie besonders bei großen Kanalnetzen weitaus schneller.
Lesen Sie im Beitrag zur MOUSE-Ergebniszusammenfassung, wie Sie das Aufteilen auf mehrere Textdateien am besten mit Hilfe von Firefox erledigen!
(1) Stellen Sie sicher, dass die MOUSE-Ergebniszusammenfassung alle für Sie interessanten Ergebnisse enthält, indem Sie vor dem Starten der Simulation die entsprechenden Optionen im Editor Simulation, Register "Zusammenfassung" anhaken. Damit das akkumulierte Überstauvolumen ausgewiesen wird, müssen Sie in der dhiapp.ini den Parameterer WRITESURFACEFLOODRESULTS
auf 1
setzen.
(2) Öffnen Sie die MOUSE-Ergebniszusammenfassung mit Firefox. Die Zusammenfassung besteht aus mehreren Tabellen.
(3) Klicken Sie in die Tabelle "Knoten - Wasserspiegel" (Nodes - Water Level). Kopieren Sie die Tabelle mit Hilfe der Firefox TableTools2 1) als tabseparierten Text in die Zwischenablage.
(4) Öffnen Sie in einem Texteditor eine neue Datei und fügen Sie den Inhalt der Zwischenablage ein. Es handelt sich um einen durch Tabulatoren getrennten Text.
(5) Löschen Sie die beiden Kopfzeilen. Speichern Sie die Textdatei als ResNodesWater.txt.
(6) Wiederholen Sie die Schritte 3 bis 5 mit der Tabelle "Haltungen - Zusammenfassung" (Links - Result summary) und speichern Sie in die Textdatei ResLinksResult.txt.
(7) Wiederholen Sie die Schritte 3 bis 5 mit der Tabelle "Haltungen - Eingangsdaten" (Links - Data) und speichern Sie in die Textdatei ResLinksData.txt.
(8) Damit ArcMap die Eigenschaften der Attribute möglichst reibungslos erkennt, kopieren Sie diese schema.ini ins gleiche Verzeichnis, wie die im vorigen Schritt erstellten Textdateien.
(9) Erstellen Sie in ArcMap eine neue Karte und fügen Sie aus Ihrer MIKE URBAN Datenbank die Knoten (msm_Node) und Haltungen (msm_Link) hinzu.
(10) Fügen Sie der Karte ebenso die drei Textdateien hinzu. Öffnen Sie die Tabellen und kontrollieren Sie, ob die Werte richtig angezeigt werden. Bei Problemen konsultieren Sie den Beitrag schema.ini, insbesondere Dezimaltrennzeichen.
Die nächsten Schritte umfassen eine Reihe von Joins und Feldberechnungen. Die Schritte wurden der Einfachheit halber in Befehlszeilen zusammengefasst, die Sie im Block abarbeiten können.
workspace <VOLLSTÄNDIGEN PFAD ZU DEN ERGEBNISTABELLEN EINTRAGEN> AddField msm_Node static_Uestau DOUBLE AddField msm_Link static_Einstau DOUBLE AddField msm_Link static_Uestau DOUBLE CopyRows ResLinksResult.txt ResLinksResult.dbf CopyRows ResLinksData.txt ResLinksData.dbf CopyRows ResNodesWater.txt ResNodesWater.dbf AddJoin msm_Node MUID ResNodesWater.dbf KnotID KEEP_ALL AddJoin msm_Link MUID ResLinksResult.dbf HaltID KEEP_ALL AddJoin msm_Link MUID ResLinksData.dbf HaltID KEEP_ALL SelectLayerByAttribute msm_Node CLEAR_SELECTION CalculateField msm_Node msm_Node.static_Uestau '-[ResNodesWater.Abstand]' VB SelectLayerByAttribute msm_Link CLEAR_SELECTION CalculateField msm_Link msm_Link.static_Einstau '[ResLinksData.Dimension] * ( [ResLinksResult.Hmax_D] - 1)' VB AddJoin msm_Link ResLinksData.VonKnot ResNodesWater KnotID KEEP_ALL CalculateField msm_Link msm_Link.static_Uestau '-[ResNodesWater.Abstand]' VB RemoveJoin msm_Link ResNodesWater AddJoin msm_Link ResLinksData.NachKnot ResNodesWater KnotID KEEP_ALL SelectLayerByAttribute msm_Link NEW_SELECTION "-ResNodesWater.Abstand > msm_Link.static_Uestau" CalculateField msm_Link msm_Link.static_Uestau '-[ResNodesWater.Abstand]' VB RemoveJoin msm_Link ResNodesWater SelectLayerByAttribute msm_Link CLEAR_SELECTION
(10) Blenden Sie in ArcMap das Befehlszeilenfenster ein (Menü Fenster > Befehlszeile)
(11) Kopieren Sie die obigen Befehle, ergänzen Sie in der ersten Zeile hinter dem workspace
den vollständigen Pfad zum Verzeichnis, in dem die Texttabellen gespeichert sind, also z.B.
workspace E:\Projekte\MeinProjekt\
(12) Fügen Sie den adaptierten Text ins Befehlszeilenfenster ein.
(13) Sie starten die Befehle, indem Sie den Mauscursor ans Ende des Textblocks setzen und <Enter> drücken. Der ganze Textblock wird markiert, und im unteren Teil des Befehlszeilenfensters können Sie verfolgen, wie die einzelnen Schritte abgearbeitet werden. Dass ArcMap fertig ist, erkennen Sie daran, dass der obere Teil des Befehlszeilenfensters geleert wird.
(14) Über die Layersteuerung können Sie nun die unten angeführten Ergebnisse visualisieren. Die Einheiten sind zur Orientierung für das Einheitensystem "SI-m3_per_second" angeführt.
Layer | Attribut | Erklärung |
---|---|---|
msm_Node | HmaxKnot | maximaler Wasserspiegel im Knoten [müA] |
msm_Node | static_Uestau | maximaler Überstau über Gelände [m] |
msm_Node | UestauVol | akkumuliertes Überstauvolumen [m3] |
msm_Link | Qvoll | Vollfüllleistung [m3/s] |
msm_Link | HmaxHalt | maximaler Wasserspiegel in der Haltung [müA] |
msm_Link | Qmax | maximaler Durchfluss [m3/s] |
msm_Link | Hmax_D | maximaler Füllungsgrad [ ] |
msm_Link | Qmax_Qvoll | maximaler Auslastungsgrad [ ] |
msm_Link | static_Einstau | Einstauhöhe [m] |
msm_Link | static_Uestau | Überstauhöhe [m] |
Was die Haltungen betrifft, berechnet MOUSE zumindest zwei Wasserspiegel an den Haltungsenden, bei langen Haltungen eventuell auch Zwischenpunkte. Durchflusspunkt gibt es zumindest einen, bei langen Haltungen eventuell auch mehr. In der binären Ergebnisdatei *.prf sind all diese Berechnungspunkte entlang einer Haltung gespeichert, und sie sind z.B. im Längenschnitt auch sichtbar.
Im Gegensatz dazu wird in der HTML-Zusammenfassung in den Tabellen "Haltungen - Zusammenfassung" und "Haltungen - Eingangsdaten" immer nur ein Wert pro Haltung abgespeichert. Es ist dies immer der größte Wert aller zu einer Haltung gehörenden Berechnungspunkte.
Die Schritt-für-Schritt-Anleitung deckt nicht alle Ergebnistypen ab. Sinngemäß lässt sich die Vorgehensweise auch auf Pumpen, Wehre oder Fließgeschwindigkeiten in Haltungen anwenden.
Falls Sie Fragen oder Vorschläge haben, wenden Sie sich bitte an support@telegdy.at.
Datum | Bemerkung |
---|---|
14.08.2009 | schema.ini korrigiert |
12.06.2009 | Seite angelegt |
Sie müssen ArcMap für den Rest der Session mitteilen, in welchem Verzeichnis die Texttabellen liegen:
workspace E:\Projekte\MeinProjekt\
Speziell für die Darstellung des Überstaus wird der msm_Node das Feld "static_Uestau hinzugefügt. Ebenso werden der msm_Link für die Darstellung des Einstaus und des Überstaus die Felder "static_Einstau" und "static_Uestau" hinzugefügt. Das Präfix static soll daran erinnern, dass diese Felder nicht automatisch aktualisiert werden, sondern dass es an Ihnen liegt, neue Ergebnisse einzutragen.
Falls die Felder bereits vorhanden sind, erscheint eine Fehlermeldung "Failed to execute", was den weiteren Programmablauf aber nicht beeinträchtigt.
AddField msm_Node static_Uestau DOUBLE AddField msm_Link static_Einstau DOUBLE AddField msm_Link static_Uestau DOUBLE
Weil das Joinen von Texttabellen über die Befehlszeile in ArcMap 9.3 irrtümlich nicht funktioniert, müssen dBase-Tabellen gleichen Inhalts erzeugt werden:
CopyRows ResLinksResult.txt ResLinksResult.dbf CopyRows ResLinksData.txt ResLinksData.dbf CopyRows ResNodesWater.txt ResNodesWater.dbf
Joint die Knotenergebnisse an die Knoten, und die Haltungsergebnisse an die Haltungen:
AddJoin msm_Node MUID ResNodesWater.dbf KnotID KEEP_ALL AddJoin msm_Link MUID ResLinksResult.dbf HaltID KEEP_ALL AddJoin msm_Link MUID ResLinksData.dbf HaltID KEEP_ALL
Löscht eine eventuell vorhandene Auswahl und berechnet den Überstau der Knoten im Feld "static_Uestau" nach der Formel -[Abstand]
:
SelectLayerByAttribute msm_Node CLEAR_SELECTION CalculateField msm_Node msm_Node.static_Uestau '-[ResNodesWater.Abstand]' VB
Löscht eine eventuell vorhandene Auswahl und berechnet den Einstau der Haltungen im Feld "static_Einstau" nach der Formel [Dimension] * ( [Hmax_D] - 1)
:
SelectLayerByAttribute msm_Link CLEAR_SELECTION CalculateField msm_Link msm_Link.static_Einstau '[ResLinksData.Dimension] * ( [ResLinksResult.Hmax_D] - 1)' VB
Joint die Tabelle mit den Knotenergebnissen über das Feld "VonKnot", schreibt den Überstau des Knotens in das Feld "static_Uestau" der Haltungen, und entfernt den Join wieder:
AddJoin msm_Link ResLinksData.VonKnot ResNodesWater KnotID KEEP_ALL CalculateField msm_Link msm_Link.static_Uestau '-[ResNodesWater.Abstand]' VB RemoveJoin msm_Link ResNodesWater
Weil nicht sicher ist, dass der Knoten am oberen Haltungsende den höheren Überstau verzeichnet, müssen die Knotenergebnisse nun über das Feld "NachKnot" gejoint werden. Überall, wo der Überstau am unteren Haltungsende größer ist, wird das Feld "static_Uestau" aktualisiert:
AddJoin msm_Link ResLinksData.NachKnot ResNodesWater KnotID KEEP_ALL SelectLayerByAttribute msm_Link NEW_SELECTION "-ResNodesWater.Abstand > msm_Link.static_Uestau" CalculateField msm_Link msm_Link.static_Uestau '-[ResNodesWater.Abstand]' VB
Der Join wird entfernt und die Auswahl aufgehoben:
RemoveJoin msm_Link ResNodesWater SelectLayerByAttribute msm_Link CLEAR_SELECTION