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 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.

(5) Nach dem Drücken von "Weiter >" öffnet sich der Spezialeditor. Drücken Sie im Register "Allgemein" neben "Quelle" die Schaltfläche mit den drei Punkten, und wählen Sie die XML-Datei aus, aus der Sie importieren möchten. Löschen Sie den Text und die Zeichen "+++...+++" in der Zelle.

(6) 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.

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.1) 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:2) Daneben sind im Cache noch Tabellen wie ??? zu finden, die bis auf Weiteres ohne Funktion sind.

Schacht

Haltung

Bauwerk

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 Knoten mit dem Knotentyp = 1 importiert. Details sind der Tabellenkonfiguration Schächte zu entnehmen!

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 Haltung nach MIKE URBAN importiert. Details sind der Tabellenkonfiguration Haltungen zu entnehmen!

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 Knoten mit dem Knotentyp = 2, das ist ein Becken, importiert. Details sind der 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'