Page Title

Der Wiki wird derzeit überarbeitet: neue URL, neues Design, neue Inhalte!

Benutzer-Werkzeuge

Webseiten-Werkzeuge


mikeurban:anleitungen:import_isybau-xml

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 als Platzhalter verwendeten 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) 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)

  • 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!

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 Haltung nach MIKE URBAN importiert. Details sind der 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 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'
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.
2)
Daneben sind im Cache noch Tabellen wie ??? zu finden, die bis auf Weiteres ohne Funktion sind.
mikeurban/anleitungen/import_isybau-xml.txt · Zuletzt geändert: 2019/11/01 17:49 von thomas