Anschlussleitungen berücksichtigen - Version 2009

Letzte Änderung mit MIKE URBAN Version 2009 SP5.

Diese Seite bezieht sich auf die älteren Softwäreversionen MIKE URBAN 2009 bzw. ArcGIS 9.1. Eine Anleitung für die aktuelle MIKE URBAN Software finden Sie hier

Einleitung

MIKE URBAN bietet verschiedene Methoden an, den zu einem Hausanschluss passenden Knoten des Versorgungsnetzes zu finden. Dabei wird die räumlichen Nähe zur nächsten Leitung oder zum nächsten Modellknoten genutzt. Im Allgemeinen ist diese Zuordnung ausreichend genau.

Nun gibt es aber zunehmend Netzbetreiber, die in ihrem Netzinformationssystem auch die Anschlussleitungen verwalten. Diese Anschlussleitungen geben eigentlich genau vor, wie die Hausanschlüsse mit dem Versorgungsnetz zu verbinden sind, und sind daher einer Zuordnung über die Nähe zur nächsten Leitung oder zum nächsten Modellknoten vorzuziehen.

Im Folgenden wird eine Routine beschrieben, um diese Information in MIKE URBAN zu berücksichtigen. Sie läuft in zwei Teilen ab:

Im Teil A wird das Punktthema Hausanschlüsse mit dem Feld "Zielknoten" versehen. In dieses Feld wird der Netzknoten eingetragen, der dem Anfang der Anschlussleitung am nächsten liegt.

Im Teil B wird das Punktthema "Hausanschlüsse" unter Berücksichtigung des Feldes "Zielknoten" nach MIKE URBAN importiert.

Was Sie benötigen

Software

Wenn Sie eine ArcInfo-Lizenz besitzen, brauchen Sie keine zusätzliche Software zu installieren.

Wenn Sie keine ArcInfo-Lizenz besitzen, müssen Sie die ET GeoWizards von ET SpatialTechniques installieren. In der Demoversion werden Sie einen Schritt quasi händisch über die Benutzeroberfläche durchführen.

Wenn Sie eine lizenzierte Version der ET GeoWizards besitzen, sind Sie nicht auf die Benutzeroberfläche angewiesen, sondern können Befehle direkt über die Befehlszeile ausführen. Klicken Sie auf die ArcToolbox, navigieren Sie ins Installationsverzeichnis der ET GeoWizards, fügen Sie die Datei "ETGeoWizards.tbx" hinzu, und speichern Sie die aktuellen Toolboxen mit Rechtsklick als Standard.

Daten

Die Methode nutzt die Tabelle mw_Pipe aus der MIKE URBAN Datenbank. Daher müssen Sie in einem ersten Schritt bereits ein MIKE URBAN-Netz importiert haben, bevor Sie mit der Zuordnung der Hausanschlüsse beginnen können.

Weiters benötigen Sie ein GIS-Thema (Punkte) mit den Hausanschlüssen, das den Jahresverbrauch enthält.

Schließlich benötigen Sie ein GIS-Thema (Polylinien) mit den Anschlussleitungen.

Teil A: Schreiben der Zielknoten Schritt für Schritt

MIKE URBAN

(1) Die Routine nutzt die Rohrtabelle "mw_Pipe" aus der MIKE URBAN Datenbank. Daher müssen Sie das Versorgungsnetz vorab bereits nach MIKE URBAN importiert oder in MIKE URBAN neu aufgebaut haben.

(2) Führen Sie eine Fehlerprüfung1) zu finden im Menü Werkzeuge der Rohre (Pipes) durch. Dabei werden in der Tabelle "mw_Pipes" die Felder FROMNODE und TONODE erstellt und befüllt, welche von der Routine benötigt werden.

(3) Schließen Sie MIKE URBAN.

Dateimanager

(4) Erstellen Sie ein temporäres Verzeichnis für die Shape-Dateien, die als Teil der Routine erzeugt werden, beispielsweise ein Unterverzeichnis zu Ihrem aktuellen Projektverzeichnis mit Namen "temp1".

ArcMap Karte

(5) Erstellen Sie in ArcMap eine neue Karte.

(6) Fügen Sie aus Ihrer MIKE URBAN Datenbank die Knoten (mw_Junction) und Rohre (mw_Pipe) hinzu.

(7) Fügen Sie das Punktthema mit den Hausanschlüssen hinzu. Ändern Sie den Namen des Layers in "Hausanschluss". Stellen Sie sicher, dass keine Hausanschlüsse ausgewählt sind, andernfalls werden nur die ausgewählten Hausanschlüsse mit einem Zielknoten versehen.

(8) Fügen Sie das Polylinienthema mit den Anschlussleitungen hinzu. Ändern Sie den Namen des Layers in "Anschlussleitung".

Die nächsten Schritte wurden der Einfachheit halber in Befehlszeilen zusammengefasst, die Sie im Block abarbeiten können. Die folgenden Befehlszeilen funktionieren ab MIKE URBAN 2009/ArcGIS 9.3, nicht aber in älteren Versionen. Dies hat offenbar mit Änderungen in der Funktionsweise der Befehlszeilen zu tun.

ArcMap Befehlszeilen (lizenzierte Version der ET GeoWizards)

(9) Blenden Sie in ArcMap das Befehlszeilenfenster ein (Menü Fenster > Befehlszeile)

Workspace <VOLLSTÄNDIGEN PFAD ZU DEN ERGEBNISTABELLEN EINTRAGEN>
CopyFeatures Anschlussleitung Anschlussleitung1
Buffer Anschlussleitung1 AnschlussleitungBuffer1 '0.1 Meters' FULL ROUND ALL
MultipartToSinglepart AnschlussleitungBuffer1 AnschlussleitungBuffer2
AddField AnschlussleitungBuffer2 ALID LONG
CalculateField AnschlussleitungBuffer2 ALID rec VB "Static rec As Long \nDim pStart As Long \nDim pInterval As Long \npStart = 1 \npInterval = 1 \nIf (rec = 0) Then \nrec = pStart \nElse \nrec = rec + pInterval \nEnd If" AnschlussleitungBuffer2
SpatialJoin Anschlussleitung1 AnschlussleitungBuffer2 Anschlussleitung2 JOIN_ONE_TO_ONE KEEP_ALL "ALID 'ALID' true true false 9 Long 0 9 ,First,#,AnschlussleitungBuffer2.shp,ALID,-1,-1" IS_WITHIN '0 Unknown' #
AddField Hausanschluss tempHAID LONG
CalculateField Hausanschluss tempHAID rec VB "Static rec As Long \nDim pStart As Long \nDim pInterval As Long \npStart = 1 \npInterval = 1 \nIf (rec = 0) Then \nrec = pStart \nElse \nrec = rec + pInterval \nEnd If" Hausanschluss
CopyFeatures Hausanschluss Hausanschluss1
SpatialJoin Hausanschluss1 AnschlussleitungBuffer2 Hausanschluss2 JOIN_ONE_TO_ONE KEEP_ALL "tempHAID 'tempHAID' true true false 0 Long 0 0 ,First,#,Hausanschluss,tempHAID,-1,-1;ALID 'ALID' true true false 9 Long 0 9 ,First,#,AnschlussleitungBuffer2.shp,ALID,-1,-1" IS_WITHIN '0 Unknown'
ET_GPPolylineToPoints Anschlussleitung2 Anschlussleitung2Punkte Node
CalculateField mw_Pipe Coeff3 0 VB
CalculateField mw_Pipe Coeff4 1 VB
CreateRoutes mw_Pipe MUID mw_Pipe_Routen TWO_FIELDS Coeff3 Coeff4 UPPER_LEFT 1 0 IGNORE INDEX
LocateFeaturesAlongRoutes Anschlussleitung2Punkte mw_Pipe_Routen MUID '0.2 Meters' ALPosition.dbf 'RID POINT MEAS' FIRST DISTANCE ZERO FIELDS
AddField ALPosition Zielknoten TEXT # # 40
AddJoin ALPosition RID mw_Pipe MUID KEEP_ALL
SelectLayerByAttribute ALPosition NEW_SELECTION 'ALPosition.MEAS <= 0.5'
CalculateField ALPosition ALPosition.Zielknoten [mw_Pipe.FROMNODE] VB
SelectLayerByAttribute ALPosition NEW_SELECTION 'ALPosition.MEAS > 0.5'
CalculateField ALPosition ALPosition.Zielknoten [mw_Pipe.TONODE] VB
SelectLayerByAttribute ALPosition CLEAR_SELECTION
RemoveJoin ALPosition mw_Pipe
AddField Hausanschluss2 Zielknoten TEXT # # 40
AddJoin Hausanschluss2 ALID ALPosition ALID KEEP_ALL
SelectLayerByAttribute Hausanschluss2 NEW_SELECTION "ALPosition.Zielknoten IS NOT NULL"
CalculateField Hausanschluss2 Hausanschluss2.Zielknoten [ALPosition.Zielknoten] VB
SelectLayerByAttribute Hausanschluss2 CLEAR_SELECTION
RemoveJoin Hausanschluss2 ALPosition
AddField Hausanschluss Zielknoten TEXT # # 40
AddIndex Hausanschluss tempHAID idx_Hausanschluss_tempHAID NON_UNIQUE ASCENDING
AddIndex Hausanschluss2 tempHAID idx_Hausanschluss2_tempHAID NON_UNIQUE ASCENDING
AddJoin Hausanschluss tempHAID Hausanschluss2 tempHAID KEEP_ALL
CalculateField Hausanschluss Zielknoten [Hausanschluss2.Zielknoten] VB
RemoveJoin Hausanschluss Hausanschluss2
RemoveIndex Hausanschluss idx_Hausanschluss_tempHAID
DeleteField Hausanschluss tempHAID

(10) Kopieren Sie die obigen Befehle in einen Texteditor, 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\

(11) Fügen Sie den adaptierten Text ins Befehlszeilenfenster ein.

(12) 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. Fehlermeldungen werden rot, Warnungen grün geschrieben. Parallel dazu sind dem Inhaltsverzeichnis etlichen Themen hinzugefügt worden.

(13) Öffnen Sie die Attributtabelle des Themas "Hausanschluss" und kontrollieren Sie, ob Sie ganz rechts eine Spalte "Zielknoten" finden, in der KnotenIDs stehen.

(14) Schließen Sie ArcMap.

Dateimanager

(15) Sie können die neu erstellte Karte und das temporäre Verzeichnis für die Shape-Dateien jetzt wieder löschen.

Teil B: Import der Hausanschlüsse Schritt für Schritt

MIKE URBAN

(1) Öffnen Sie die MIKE URBAN-Datenbank mit dem Versorgungsnetz.

(2) Starten Sie im Menü "Datei" den "Import/Export..." und gehen Sie mit "Next" zum nächsten Schritt.

(3) Erstellen Sie mit dem Assistenten oder mit dem Spezialeditor einen Import, der Ihr Hausanschlussthema der Tabelle mw_DemAlloc zuordnet.

(4) Entscheidend ist, dass Sie in den Feldzuordnungen das Feld "Zielknoten" dem Feld "JunctionID" zuordnen. Die übrigen Feldzuordnungen hängen davon ab, wie Ihr Hausanschluss-Datensatz insgesamt aussieht.

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

Die Hausanschlüsse sind importiert worden. Die schwarzen Linien zeigen die Zuordnung zum Zielknoten. Im Hintergrund ist hellblau das Thema "Anschlussleitungen" eingeblendet.

Technische Details

Die Routine erfasst Hausanschlüsse, die an Anschlussleitungen sitzen. Hausanschlüsse, die irrtümlich oder absichtlich direkt an Versorgungsleitungen sitzen, gehen verloren.

Die Routine hat an zwei Stellen Toleranzen eingebaut, falls die Enden der Anschlussleitungen nicht genau geschnappt worden sind.

In Zeile 3 wird ein Buffer mit dem Radius 0,1 m um die Anschlussleitungen gezogen, um alle Anschlussleitungen, die gemeinsam in eine Versorgungsleitung münden, zu Gruppen zusammenzufassen. Anders gesehen dürfen Anschlussleitungen maximal 0,2 m voneinander entfernt sein, um als eine Gruppe aufgefasst zu werden. Wenn Sie wünschen, ändern Sie diesen Wert:

Buffer Anschlussleitung1 AnschlussleitungBuffer1 '0.1 Meters' FULL ROUND ALL

In Zeile 16 wird festgelegt, dass eine Anschlussleitung 0,2 m von einer Versorgungsleitung entfernt liegen darf, um noch berücksichtigt zu werden. Wenn Sie wünschen, ändern Sie diesen Wert:

LocateFeaturesAlongRoutes Anschlussleitung2Punkte mw_Pipe_Routen MUID '0.2 Meters' ALPosition.dbf 'RID POINT MEAS' FIRST DISTANCE ZERO FIELDS

Hausanschlüsse, deren Anschlussleitungen größere Abstände aufweisen als die Toleranzgrenze, erhalten keinen Knoten den Versorgungsnetzes zugewiesen. Überprüfen Sie solche Hausanschlüsse und entscheiden Sie selbst, wie weiter vorzugehen ist.

Die Routine braucht für jedes Rohr ein Feld, in dem die Zahl 0 steht und eines, in dem die Zahl 1 steht. Dazu werden die Felder "Coeff3" und "Coeff4" benutzt, und zwar in den Zeilen 13 bzw. 14. Diese beiden Felder sind von MIKE URBAN für exotische Formen der Bedarfsaufteilung reserviert, werden aber standardmäßig nicht verwendet.

Vorsicht ist geboten, wenn eine Gruppe von Anschlussleitungen an zwei Punkten mit dem Versorgungsnetz verbunden ist, z.B. wenn ein größerer Gebäudekomplex zwischen zwei Straßen steht. In diesem Fall wird nur einer der beiden Anschlusspunkte berücksichtigt, und alle Zähler werden diesem einen Punkt zugeordnet.

Erklärung der Befehlszeilen

Wechseln Sie bitte auf die Seite Erklärung der Befehlszeilen.

Offene Punkte

Erklärung der Befehlszeilen (auf einer separaten Seite)

Skript so verbessern, dass es auch bei einer Auswahl der Hausanschlüsse oder der Anschlussleitungen funktioniert bzw. flott funktioniert.

Skript so verbessern, dass es nicht alle Anschlussleitungen buffert etc., wenn nur weniger Hausanschlüsse abzuarbeiten sind (z.B. mit Auswahl der Buffer, die einen Hausanschluss enthalten).

Versionsgeschichte

Datum	Bemerkung
27.02.2011	Hausanschlüsse ohne Verbindung zum Versorgungsnetz haben Fehlermeldungen verursacht, die das Befehlszeilenfenster füllen und verlangsamen. Dies wird in der neuen Version durch eine entsprechende Vorauswahl in der Zeile 27 verhindert.
29.12.2009	"Erklärung der Befehlszeilen" angelegt und Link erstellt.
12.12.2009	"ArcMap Befehlszeilen (ArcInfo)" angelegt und Link erstellt.
09.12.2009	Seite angelegt.

* Skript so verbessern, dass es auch bei einer Auswahl der Hausanschlüsse oder der Anschlussleitungen funktioniert bzw. flott funktioniert.

Skript so verbessern, dass es nicht alle Anschlussleitungen buffert etc., wenn nur weniger Hausanschlüsse abzuarbeiten sind (z.B. mit Auswahl der Buffer, die einen Hausanschluss enthalten).

Versionsgeschichte

Datum	Bemerkung
27.02.2011	Hausanschlüsse ohne Verbindung zum Versorgungsnetz haben Fehlermeldungen verursacht, die das Befehlszeilenfenster füllen und verlangsamen. Dies wird in der neuen Version durch eine entsprechende Vorauswahl in der Zeile 27 verhindert.
29.12.2009

(2) Führen Sie eine Fehlerprüfung1) der Rohre (Pipes) durch. Dabei werden in der Tabelle CopyFeatures Anschlussleitung Anschlussleitung1 Buffer Anschlussleitung1 AnschlussleitungBuffer1 '0.1 Meters' FULL ROUND ALL MultipartToSinglepart AnschlussleitungBuffer1 AnschlussleitungBuffer2 AddField AnschlussleitungBuffer2 ALID LONG CalculateField AnschlussleitungBuffer2 ALID rec VB CopyFeatures Anschlussleitung Anschlussleitung1 Buffer Anschlussleitung1 AnschlussleitungBuffer1 '0.1 Meters' FULL ROUND ALL MultipartToSinglepart AnschlussleitungBuffer1 AnschlussleitungBuffer2 AddField AnschlussleitungBuffer2 ALID LONG CalculateField AnschlussleitungBuffer2 ALID rec VB

Hausanschlüsse, deren Anschlussleitungen größere Abstände aufweisen als die Toleranzgrenze, erhalten keinen Knoten den Versorgungsnetzes zugewiesen. Überprüfen Sie solche Hausanschlüsse und entscheiden Sie selbst, wie weiter vorzugehen ist.

Die Routine braucht für jedes Rohr ein Feld, in dem die Zahl 0 steht und eines, in dem die Zahl 1 steht. Dazu werden die Felder Anschlussleitung