====== Import ISYBAU XML ====== //Letzte Änderung mit MIKE URBAN 2016// ===== Einleitung ===== MIKE URBAN unterstützt ab der Version 2016 den Import von grundlegenden Kanaldaten aus dem Austauschformat ISYBAU XML-2013. Die Schnittstelle ist erweiterbar. Wenden Sie sich bitte an den Support, wenn Ihnen die vorliegenden Möglichkeiten nicht genügen. ===== Einrichten und Verwenden der Import-Schnittstelle ===== **(1)** Laden Sie die Datei {{:mikeurban:downloads:import_isybau_v04.zip|}} herunter und entzippen Sie den Inhalt in ein beliebiges Verzeichnis. **(2)** Erstellen Sie in MIKE URBAN ein neues Projekt. **(3)** Starten Sie im Menü "Datei" den "Import/Export..." und gehen Sie mit "Weiter" zum nächsten Schritt. **(4)** Verwenden Sie den Spezialeditor, wählen Sie "Konfiguration öffnen" und navigieren Sie zur in Schritt (1) entzippten IMPORT_ISYBAU_v04.xml. {{ :mikeurban:anleitungen:import_isybau_import-export-auswaehlen.png?direct&300 |}} **(5)** Nach dem Drücken von "Weiter >" öffnet sich der Spezialeditor. Wechseln Sie aufs Register "Allgemein" und löschen Sie unter "Quelle" den Platzhalter ''+++ HIER ISYBAU XML-DATEI AUSWAEHLEN +++''. Drücken Sie neben "Quelle" die Schaltfläche mit den drei Punkten, und wählen Sie die ISYBAU XML-Datei aus, aus der Sie importieren möchten. {{ :mikeurban:anleitungen:import_isybau_quelle-auswaehlen.png?direct&300 |}} **(6)** Wechseln Sie auf das Register "Quelle". Unter den Speichereigenschaften sehen Sie, dass der Import standardmäßig auf die Kennung ''STA01'' und den Status ''0'' filtert. Falls Sie in Ihrer ISYBAU XML-Datei andere Parameter verwenden, beispielsweise statt des Status ''0'' (vorhanden, in Betrieb) den Status ''1'' (geplant), passen Sie die Speichereigenschaften an. {{ :mikeurban:anleitungen:import_isybau_kennung-status.png?direct&300 |}} **(7)** Drücken Sie links unten auf die Schaltfläche „Ausführen und Schließen“. Falls die Schaltfläche anders heißt, können Sie die Funktion der Schaltfläche mit dem Pfeil-nach-unten ändern. {{ :mikeurban:import_einstellungenspeichern1.png?200 |}} ===== Technische Details ===== ==== Übersetzung der XML-Baumstruktur nach MIKE URBAN ==== Das Format ISYBAU-XML hat keine streng tabellarische Struktur, vielmehr ändern sich die verfügbaren Attribute, je nachdem in welche Richtung man sich im XML-Baum fortbewegt.((Dieses für XML-Dateien typische Merkmal hat den Vorteil, dass keine Spalten mitgeführt werden müssen, die für das jeweilige Objekt irrelevant sind.)) Damit MIKE URBAN die Daten importieren kann, müssen aus dem XML-Baum relevante Tabellen extrahiert werden. Dies übernimmt der **ISYBAU-Datenspeicher**. Er stellt die folgenden Tabellen zur Verfügung:((Daneben sind im Cache noch Tabellen wie ??? zu finden, die bis auf Weiteres ohne Funktion sind.)) * Schacht * Haltung * Bauwerk /*** Der ISYBAU-Datenspeicher stellt nicht nur die hydraulisch notwendigen, sondern alle unmittelbar zur abwassertechnischen Anlage gehörenden Attribute zur Verfügung. ***/ Anschließend stellt die **ISYBAU-Import-Konfiguration** den Zusammenhang zwischen den externen Tabellenspalten den MIKE URBAN-Attributen her. ==== Schacht ==== ^ ISYBAU ^^ MIKE URBAN (msm_Node) ^ |AbwassertechnischeAnlage |Objektbezeichnung |MUID | |::: |AlteObjektbezeichnung |AssetName | |::: |Entwaesserungsart |NetTypeNo | |Schacht |SchachtFunktion |Description | |Abdeckung |Deckelform |CoverTypeNo | |Unterteil |LaengeUnterteil |Diameter | |Knoten (SMP) |Rechtswert |_X | |::: |Hochwert |_Y | |::: |Punkthoehe |InvertLevel | |Knoten (DMP) |Rechtswert |_X | |::: |Hochwert |_Y | |::: |Punkthoehe |GroundLevel | Die als "Schacht" zusammengefassten ISYBAU-Daten werden als [[mikeurban:menue:mouse_knoten|Knoten]] mit dem Knotentyp = 1 importiert. Details sind der [[#schaechte|Tabellenkonfiguration Schächte]] zu entnehmen! Die Schnittstelle importiert keine Knoten des Typs "Anschlusspunkt". ==== Haltung ==== ^ ISYBAU ^^ MIKE URBAN (msm_Link) ^ |AbwassertechnischeAnlage |Objektbezeichnung |MUID | |::: |AlteObjektbezeichnung |AssetName | |::: |Entwaesserungsart |NetTypeNo | |Kante |KnotenZulauf |_FromNodeID | |::: |KnotenAblauf |_ToNodeID | |::: |SohlhoeheZulauf |UpLevel | |::: |SohlhoeheAblauf |DwLevel | |::: |Laenge |Length | |::: |Material |MaterialID | |Profil |Profilart |TypeNo | |::: |ProfilID |CrsID | |::: |Profilbreite |Diameter, Width, Height | |::: |Profilhoehe |::: | |Haltung |Haltungsfunktion |Description | Die als "Haltung" zusammengefassten ISYBAU-Daten werden als [[mikeurban:menue:mouse_haltungen|Haltung]] nach MIKE URBAN importiert. Details sind der [[#haltungen|Tabellenkonfiguration Haltungen]] zu entnehmen! Die Schnittstelle importiert keine Kanten des Typs "Leitung". Der Import wurde getestet mit dem Einheitensystem "SI-m3_per_second", in dem die Profildimensionen in Meter verwaltet werden. Falls Sie in MIKE URBAN ein Einheitensystem verwenden, in dem die Rohrdurchmesser in mm gespeichert werden, müssen Sie nach dem Import die Durchmesser mit 1000 multiplizieren. Vor allem auf Profile achten, die in MIKE URBAN nicht vordefiniert sind. Natürlich auch auf Sonderprofile achten! ==== Bauwerk ==== ^ ISYBAU ^^ MIKE URBAN (msm_Node) ^ |AbwassertechnischeAnlage |Objektbezeichnung |MUID | |::: |AlteObjektbezeichnung |AssetName | |::: |Entwaesserungsart |NetTypeNo | |Bauwerk |Bauwerkstyp |Description | |Knoten (SBD) |Rechtswert |_X | |::: |Hochwert |_Y | |::: |Punkthoehe |GroundLevel | |Knoten (KOP) |Rechtswert |_X | |::: |Hochwert |_Y | |::: |Punkthoehe |GroundLevel | Die als "Bauwerk" zusammengefassten ISYBAU-Daten werden als [[mikeurban:menue:mouse_knoten|Knoten]] mit dem Knotentyp = 2, das ist ein Becken, importiert. Details sind der [[#bauwerke|Tabellenkonfiguration Bauwerke]] zu entnehmen! So sind die ISYBAU-Bauwerke leicht zu finden, aber nicht immer ist eine Abbildung als Becken sinnvoll. Sie müssen die Bauwerkstypen anhand der Beschreibung (Description) kontrollieren und eventuell im Modell anders abbilden, wie zum Beispiel bei Pumpen, Wehren oder Versickerungsanlagen. Die Sohlhöhe des Knotens (InvertLevel) wird nicht befüllt, weil die Sohlhöhe eines Bauwerks in ISYBAU keine Rolle spielt. Falls es sich tatsächlich um ein Becken handelt, müssen Sie in MIKE URBAN die Beckengeometrie ergänzen. ===== Anhang: Tabellenkonfigurationen ===== ==== Schächte ==== # Knotentyp - Import erfolgt als "Schacht": TypeNo = 1 # # Lage des Schachtes - # Schachtmittelpunkt (SMP) hat Vorrang vor Deckelmittelpunkt (DMP): _X = DMP_Rechtswert _Y = DMP_Hochwert _X = SMP_Rechtswert WHERE SMP_Rechtswert <> NULL _Y = SMP_Hochwert WHERE SMP_Hochwert <> NULL # # Identifikation: AssetName = AlteObjektbezeichnung MUID = Objektbezeichnung # # Datenstatus = GIS: Element_S = 2 # # Datenquelle: DataSource = 'ISYBAU' # # # Schachtfunktion: Description = '1 - Schacht' WHERE Schachtfunktion = 1 Description = '2 - Sonderschacht (z.B. Trennbauwerk)' WHERE Schachtfunktion = 2 Description = '3 - Kontrollschacht' WHERE Schachtfunktion = 3 Description = '4 - Drosselschacht' WHERE Schachtfunktion = 4 Description = '5 - Lampenschacht' WHERE Schachtfunktion = 5 Description = '6 - Probenahmeschacht' WHERE Schachtfunktion = 6 Description = '7 - Hausrevisionschacht' WHERE Schachtfunktion = 7 Description = '8 - Verbindungschacht' WHERE Schachtfunktion = 8 Description = '9 - Schacht mit Notüberlauf' WHERE Schachtfunktion = 9 Description = '10 - Inspektionsöffnung' WHERE Schachtfunktion = 10 Description = '11 - Reinigungsöffnung' WHERE Schachtfunktion = 11 Description = '12 - Probenahmeöffnung' WHERE Schachtfunktion = 12 # # # Gelaendehoehe -- Deckelmittelpunkt wird herangezogen: GroundLevel = DMP_Punkthoehe # # Sohlhoehe -- Schachtmittelpunkt wird herangezogen: InvertLevel = SMP_Punkthoehe # # Schachtdurchmesser = 1 m, ausser der Unterteil ist rund # und der Durchmesser ist angegeben: Diameter = 1 Diameter = LaengeUnterteil WHERE Unterteilform = 'R' # # Entwaesserungssystem: # NetTypeNo = 1 WHERE Entwaesserungsart = 'KS' NetTypeNo = 1 WHERE Entwaesserungsart = 'DS' NetTypeNo = 1 WHERE Entwaesserungsart = 'GS' # NetTypeNo = 2 WHERE Entwaesserungsart = 'KR' NetTypeNo = 2 WHERE Entwaesserungsart = 'KW' NetTypeNo = 2 WHERE Entwaesserungsart = 'DR' NetTypeNo = 2 WHERE Entwaesserungsart = 'GR' NetTypeNo = 2 WHERE Entwaesserungsart = 'GW' # NetTypeNo = 3 WHERE Entwaesserungsart = 'KM' NetTypeNo = 3 WHERE Entwaesserungsart = 'DM' NetTypeNo = 3 WHERE Entwaesserungsart = 'GM' # # # Druckdichter Schacht CoverTypeNo = 1 CoverTypeNo = 2 WHERE Deckelform = 'EV' CoverTypeNo = 2 WHERE Deckelform = 'RV' ==== Haltungen ==== # Lage der Haltung _FromNodeID = KnotenZulauf _ToNodeID = KnotenAblauf # # Identifikation AssetName = AlteObjektbezeichnung MUID = Objektbezeichnung # # Datenstatus = GIS Element_S = 2 # # Datenquelle: DataSource = 'ISYBAU' # # Haltungsfunktion # Description = '1 - Haltung oder Transportkanal' WHERE Haltungsfunktion = 1 Description = '2 - Stauraumkanal mit oben liegender Entlastung SKO' WHERE Haltungsfunktion = 2 Description = '3 - Stauraumkanal mit mittig liegender Entlastung SKM' WHERE Haltungsfunktion = 3 Description = '4 - Stauraumkanal mit unten liegender Entlastung SKU' WHERE Haltungsfunktion = 4 Description = '5 - Stauraumkanal als Kaskade SKK' WHERE Haltungsfunktion = 5 Description = '6 - Entlastungskanal EK' WHERE Haltungsfunktion = 6 Description = '7 - Düker' WHERE Haltungsfunktion = 7 # ## ### P R O F I L T Y P E N U N D A B M E S S U N G E N ### # # Kreisprofil TypeNo = 1 WHERE Profilart = 0 Diameter = Profilhoehe / 1000 WHERE Profilart = 0 # # Eiprofil (Standard) TypeNo = 5 WHERE Profilart = 1 Diameter = Profilhoehe / 1000 WHERE Profilart = 1 # # Maulprofil (1,66/2) TypeNo = 2 WHERE Profilart = 2 CrsID = Maulprofil56 + '_H' + Profilhoehe + '_B' + Profilbreite WHERE Profilart = 2 Diameter = Profilhoehe / 1000 WHERE Profilart = 2 Width = Profilbreite / 1000 WHERE Profilart = 2 Height = Profilhoehe / 1000 WHERE Profilart = 2 # # Rechteckprofil TypeNo = 3 WHERE Profilart = 3 Height = Profilhoehe / 1000 WHERE Profilart = 3 Width = Profilbreite / 1000 WHERE Profilart = 3 # # # Sonderprofile nach MIKE URBAN-Definition # TypeNo = 2 WHERE Profilart > 3 Diameter = Profilhoehe / 1000 WHERE Profilart > 3 Width = Profilbreite / 1000 WHERE Profilart > 3 Height = Profilhoehe / 1000 WHERE Profilart > 3 # # Kreisprofil (doppelwandig) CrsID = 'KreisDW_H' + Profilhoehe + '_B' + Profilbreite WHERE Profilart = 4 # # Rechteckprofil (offen) CrsID = 'RechteckOffen_H' + Profilhoehe + '_B' + Profilbreite WHERE Profilart = 5 # # Eiprofil (H/B ungleich 3/2) CrsID = 'EiprofilAllg_H' + Profilhoehe + '_B' + Profilbreite WHERE Profilart = 6 # # Maulprofil (H/B ungleich 1,66/2) CrsID = 'MaulprofilAllg_H' + Profilhoehe + '_B' + Profilbreite WHERE Profilart = 7 # # Trapezprofil CrsID = 'Trapezprofil_H' + Profilhoehe + '_B' + Profilbreite WHERE Profilart = 8 # # Doppeltrapezprofil CrsID = 'DoppelTrapez_H' + Profilhoehe + '_B' + Profilbreite WHERE Profilart = 9 # # U-foermig (kreisfoermige Sohle und Decke mit parallelen Waenden) CrsID = 'Ufoermig_H' + Profilhoehe + '_B' + Profilbreite WHERE Profilart = 10 # # Bogenfoermig (kreisfoermiger Scheitel und flache Sohle mit parallelen Waenden) CrsID = 'Bogenfoermig_H' + Profilhoehe + '_B' + Profilbreite WHERE Profilart = 11 # # oval (Sohle und Scheitel kreisfoermig mit gleichem Durchmesser und parallelen Waenden) CrsID = 'Oval_H' + Profilhoehe + '_B' + Profilbreite WHERE Profilart = 12 # # andere Profilart CrsID = 'AndereProfilart_H' + Profilhoehe + '_B' + Profilbreite WHERE Profilart = 13 # # ProfilID..."Eintrag aus Systemen, die Profiltypen mit allen zugehoerigen Informationen # in eigenen Profilbibliotheken vorhalten"...waere ja perfekt! CrsID = ProfilID WHERE ProfilID > 0 # ### E N D E P R O F I L T Y P E N U N D A B M E S S U N G E N ### # # # Rohsohle oben und unten UpLevel = SohlhoeheZulauf WHERE SohlhoeheZulauf <> NULL DwLevel = SohlhoeheAblauf WHERE SohlhoeheAblauf <> NULL # # Laenge Length = Laenge WHERE Laenge > 0 # was ist mit NULL?????? # # Material MaterialID = Material # # Entwaesserungssystem # NetTypeNo = 1 WHERE Entwaesserungsart = 'KS' NetTypeNo = 1 WHERE Entwaesserungsart = 'DS' NetTypeNo = 1 WHERE Entwaesserungsart = 'GS' # NetTypeNo = 2 WHERE Entwaesserungsart = 'KR' NetTypeNo = 2 WHERE Entwaesserungsart = 'KW' NetTypeNo = 2 WHERE Entwaesserungsart = 'DR' NetTypeNo = 2 WHERE Entwaesserungsart = 'GR' NetTypeNo = 2 WHERE Entwaesserungsart = 'GW' # NetTypeNo = 3 WHERE Entwaesserungsart = 'KM' NetTypeNo = 3 WHERE Entwaesserungsart = 'DM' NetTypeNo = 3 WHERE Entwaesserungsart = 'GM' ==== Bauwerke ==== # Knotentyp - Import erfolgt als "Becken": TypeNo = 2 # # # Lage des Bauwerkes- # Koordinatenbezugspunkt (KOP) hat Vorrang vor Deckel Sonderbauwerk (SBD); # bei mehreren Deckeln wird der erste Deckel herangezogen; falls weder KOP # noch SBD vorhanden sind, wird der erste überhaupt vorhandene Punkt verwendet _X = First_Rechtswert _Y = First_Hochwert _X = SBD_Rechtswert _Y = SBD_Hochwert _X = KOP_Rechtswert _Y = KOP_Hochwert # # # Identifikation: AssetName = AlteObjektbezeichnung MUID = Objektbezeichnung # # # Datenstatus = GIS: Element_S = 2 # # # Datenquelle: DataSource = 'ISYBAU' # # # Bauwerkstyp: Description = '1 - Pumpwerk' WHERE Bauwerkstyp = 1 Description = '2 - Becken' WHERE Bauwerkstyp = 2 Description = '3 - Behandlungsanlage' WHERE Bauwerkstyp = 3 Description = '4 - Klaeranlage' WHERE Bauwerkstyp = 4 Description = '5 - Auslaufbauwerk' WHERE Bauwerkstyp = 5 Description = '6 - Pumpe' WHERE Bauwerkstyp = 6 Description = '7 - Wehr/Ueberlauf' WHERE Bauwerkstyp = 7 Description = '8 - Drossel' WHERE Bauwerkstyp = 8 Description = '9 - Schieber' WHERE Bauwerkstyp = 9 Description = '10 - Rechen' WHERE Bauwerkstyp = 10 Description = '11 - Sieb' WHERE Bauwerkstyp = 11 Description = '12 - Versickerungsanlage' WHERE Bauwerkstyp = 12 Description = '13 - Regenwassernutzungsanlage' WHERE Bauwerkstyp = 13 # # # Gelaendehoehe -- Deckelmittelpunkt wird herangezogen; falls kein SBD # vorhanden ist, wird der erste überhaupt vorhandene Punkt verwendet: GroundLevel = First_Punkthoehe GroundLevel = SBD_Punkthoehe # # # Schachtdurchmesser: Diameter = 1 # # # Entwaesserungssystem: # NetTypeNo = 1 WHERE Entwaesserungsart = 'KS' NetTypeNo = 1 WHERE Entwaesserungsart = 'DS' NetTypeNo = 1 WHERE Entwaesserungsart = 'GS' # NetTypeNo = 2 WHERE Entwaesserungsart = 'KR' NetTypeNo = 2 WHERE Entwaesserungsart = 'KW' NetTypeNo = 2 WHERE Entwaesserungsart = 'DR' NetTypeNo = 2 WHERE Entwaesserungsart = 'GR' NetTypeNo = 2 WHERE Entwaesserungsart = 'GW' # NetTypeNo = 3 WHERE Entwaesserungsart = 'KM' NetTypeNo = 3 WHERE Entwaesserungsart = 'DM' NetTypeNo = 3 WHERE Entwaesserungsart = 'GM'