Page Title

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

Benutzer-Werkzeuge

Webseiten-Werkzeuge


mikeurban:anleitungen:import_anschlussleitungen_befehlszeilen_2009

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

mikeurban:anleitungen:import_anschlussleitungen_befehlszeilen_2009 [2016/05/18 13:07] (aktuell)
julian Seitename wurde von mikeurban:import_anschlussleitungen_befehlszeilen_2009 auf mikeurban:anleitungen:import_anschlussleitungen_befehlszeilen_2009 geändert
Zeile 1: Zeile 1:
 +Der folgende Abschnitt gehört zur Seite [[mikeurban:​anleitungen:​import_anschlussleitungen_2009|Anschlussleitungen berücksichtigen - Version 2009]]:
  
 +<note important>​
 +Diese Seite bezieht sich auf die älteren Softwäreversionen MIKE URBAN 2009 bzw. ArcGIS 9.1. Die Befehlszeile für die aktuelle MIKE URBAN Software finden Sie [[mikeurban:​anleitungen:​import_anschlussleitungen_befehlszeilen|hier]]
 +</​note>​
 +
 +
 +
 +===== Erklärung der Befehlszeilen - Version 2009 =====
 +
 +Verzeichnis für die Shapedateien festlegen:
 +
 +<​code>​Workspace <​VOLLSTÄNDIGEN PFAD ZU DEN ERGEBNISTABELLEN EINTRAGEN></​code>​
 +
 +Anschlussleitungen in Shape-Datei exportieren:​
 +
 +<​code>​CopyFeatures Anschlussleitung Anschlussleitung1</​code>​
 +
 +Anschlussleitungen buffern und zerlegen:
 +
 +<​code>​Buffer Anschlussleitung1 AnschlussleitungBuffer1 '0.1 Meters'​ FULL ROUND ALL
 +MultipartToSinglepart AnschlussleitungBuffer1 AnschlussleitungBuffer2</​code>​
 +
 +Buffer mit eindeutiger ID "​ALID"​ versehen:
 +
 +<​code>​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</​code>​
 +
 +"​ALID"​ auf Anschlussleitungen übertragen:​
 +
 +<​code>​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'​ #</​code>​
 +
 +Hausanschlüsse mit temporärer,​ eindeutiger ID "​tempHAID"​ versehen:
 +
 +<​code>​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</​code>​
 +
 +Hausanschlüsse in Shape-Datei exportieren:​
 +
 +<​code>​CopyFeatures Hausanschluss ​ Hausanschluss1</​code>​
 +
 +"​ALID"​ auf die Hausanschlüsse übertragen:​
 +
 +<​code>​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'</​code>​
 +
 +Anschlussleitungen in Endpunkte auflösen:
 +
 +<​code>​ET_GPPolylineToPoints Anschlussleitung2 Anschlussleitung2Punkte Node</​code>​
 +
 +Aus "​mw_Pipe"​ Routen erstellen, damit anschließend der jeweils nächste Knoten gesucht werden kann:
 +
 +<​code>​
 +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
 +</​code>​
 +
 +Tabelle "​ALPosition"​ mit der Position der Anschlussleitungen erstellen:
 +
 +<​code>​LocateFeaturesAlongRoutes Anschlussleitung2Punkte mw_Pipe_Routen MUID '0.2 Meters'​ ALPosition.dbf 'RID POINT MEAS' FIRST DISTANCE ZERO FIELDS</​code>​
 +
 +Zur Tabelle "​ALPosition"​ das Feld "​Zielknoten"​ hinzufügen:​
 +
 +<​code>​AddField ALPosition Zielknoten TEXT # # 40</​code>​
 +
 +"​mw_Pipe"​ reinjoinen:
 +
 +<​code>​AddJoin ALPosition RID mw_Pipe MUID KEEP_ALL</​code>​
 +
 +Zeilen auswählen, die näher am Anfangsknoten liegen, das sind die Zeilen mit MEAS <= 0.5, und Inhalt von "​FROMNODE"​ ins Feld "​Zielknoten"​ schreiben:
 +
 +<​code>​
 +SelectLayerByAttribute ALPosition NEW_SELECTION '​ALPosition.MEAS <= 0.5'
 +CalculateField ALPosition ALPosition.Zielknoten [mw_Pipe.FROMNODE] VB
 +</​code>​
 +
 +Zeilen auswählen, die näher am Endkonten liegen, das sind die Zeilen mit  MEAS > 0.5, und Inhalt von "​TONODE"​ ins Feld "​Zielknoten"​ schreiben:
 +
 +<​code>​
 +SelectLayerByAttribute ALPosition NEW_SELECTION '​ALPosition.MEAS > 0.5'
 +CalculateField ALPosition ALPosition.Zielknoten [mw_Pipe.TONODE] VB
 +</​code>​
 +
 +Auswahl und Join aufheben:
 +
 +<​code>​
 +SelectLayerByAttribute ALPosition CLEAR_SELECTION
 +RemoveJoin ALPosition mw_Pipe
 +</​code>​
 +
 +Feld "​Zielknoten"​ zu "​Hausanschluss2"​ hinzufügen:​
 +
 +<​code>​AddField Hausanschluss2 Zielknoten TEXT # # 40</​code>​
 +
 +"​ALPosition"​ reinjoinen, nur Zeilen auswählen, die auch einen Zielknoten haben, Inhalt des Felds Zielknoten übertragen,​ Join entfernen:
 +
 +<​code>​
 +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
 +</​code>​
 +
 +Feld "​Zielknoten"​ zu "​Hausanschluss"​ hinzufügen:​
 +
 +<​code>​AddField Hausanschluss Zielknoten TEXT # # 40</​code>​
 +
 +"​Hausanschluss"​ und "​Hausanschluss2"​ mit Index versehen, damit Join schneller wird:
 +
 +<​code>​
 +AddIndex Hausanschluss tempHAID idx_Hausanschluss_tempHAID NON_UNIQUE ASCENDING
 +AddIndex Hausanschluss2 tempHAID idx_Hausanschluss2_tempHAID NON_UNIQUE ASCENDING
 +</​code>​
 +
 +"​Hausanschluss2"​ reinjoinen, Inhalt des Felds "​Zielknoten"​ übertragen,​ Join entfernen:
 +
 +<​code>​
 +AddJoin Hausanschluss tempHAID Hausanschluss2 tempHAID KEEP_ALL
 +CalculateField Hausanschluss Zielknoten [Hausanschluss2.Zielknoten] VB
 +RemoveJoin Hausanschluss Hausanschluss2
 +</​code>​
 +
 +Index von "​Hausanschluss"​ entfernen und Feld "​tempHAID"​ entfernen:
 +
 +<​code>​
 +RemoveIndex Hausanschluss idx_Hausanschluss_tempHAID
 +DeleteField Hausanschluss tempHAID
 +</​code>​ALID 0.5'
 +CalculateField ALPosition ALPosition.Zielknoten [mw_Pipe.TONODE] VBmw_PipeHausanschluss2
mikeurban/anleitungen/import_anschlussleitungen_befehlszeilen_2009.txt · Zuletzt geändert: 2016/05/18 13:07 von julian