Page Title

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

Benutzer-Werkzeuge

Webseiten-Werkzeuge


mikeurban:anleitungen:import_anschlussleitungen_etdemo

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

mikeurban:anleitungen:import_anschlussleitungen_etdemo [2016/05/18 13:07] (aktuell)
julian Seitename wurde von mikeurban:import_anschlussleitungen_etdemo auf mikeurban:anleitungen:import_anschlussleitungen_etdemo geändert
Zeile 1: Zeile 1:
  
 +
 +Der folgende Abschnitt gehört zur Seite [[mikeurban:​anleitungen:​import_anschlussleitungen|Anschlussleitungen berücksichtigen]]:​
 +
 +==== ArcMap Python-Fenster (Demoversion der ET GeoWizards) ====
 +
 +**(9)** Blenden Sie in ArcMap das Python-Fenster ein (Menü Geoprocessing > Python)
 +
 +**(10)** Kopieren Sie den nachfolgenden Code in einen Texteditor.
 +
 +<​code>​
 +# CODE
 +
 +
 +# Umgebungsvariablen
 +# ******************
 +Pfad_Workspace = <​VOLLSTÄNDIGER PFAD ZUM TEMPORÄREN VERZEICHNIS>​
 +Bufferdist = 0.1
 +Searchdist = 0.2
 +
 +
 +# Vorbereitende Schritte
 +# **********************
 +import arcpy
 +arcpy.env.workspace = Pfad_Workspace
 +arcpy.env.overwriteOutput = True
 +arcpy.ImportToolbox(Pfad_ET-Toolbox)
 +
 +MXD = arcpy.mapping.MapDocument("​Current"​)
 +LYRhausanschluss = arcpy.mapping.ListLayers(MXD,"​Hausanschluss"​)[0]
 +STRINGhausanschluss = LYRhausanschluss.datasetName + "​.Zielknoten"​
 +
 +
 +# Erstellung eines Buffers um die Anschlussleitungen
 +# **************************************************
 +arcpy.Buffer_analysis("​Anschlussleitung","​AnschlussleitungBuffer1",​Bufferdist,"​FULL","​ROUND","​ALL"​) ​
 +arcpy.MultipartToSinglepart_management("​AnschlussleitungBuffer1","​AnschlussleitungBuffer2"​)
 +arcpy.AddField_management("​AnschlussleitungBuffer2","​ALID","​LONG"​)
 +
 +codeblock = """​rec=0
 +def autoIncrement1():  ​
 +  global rec
 +  pStart = 1
 +  pInterval = 1
 +  if (rec == 0):
 +    rec = pStart
 +  else:
 +    rec = rec + pInterval
 +  return rec"""​
 +expression = "​autoIncrement1()"​
 +
 +arcpy.CalculateField_management("​AnschlussleitungBuffer2","​ALID",​expression,"​PYTHON",​codeblock)
 +
 +
 +# Hausanschlüsse werden bearbeitet
 +# ********************************
 +arcpy.AddField_management("​Hausanschluss","​tempHAID","​LONG"​)
 +arcpy.CalculateField_management("​Hausanschluss","​tempHAID",​expression,"​PYTHON",​codeblock)
 +arcpy.SpatialJoin_analysis("​Hausanschluss","​AnschlussleitungBuffer2","​Hausanschluss1","​JOIN_ONE_TO_ONE","​KEEP_ALL","","​COMPLETELY_WITHIN"​)
 +</​code>​
 +
 +**(11)** Adaptieren Sie den Code im Texteditor.
 +
 +In der Codezeile 6 //​Pfad_Workspace//​ müssen Sie den vollständigen Pfad zu Ihrem temporären Arbeitsverzeichnis angeben (siehe Schritt 4).
 +Pfadangaben werden in Python folgendermaßen getrennt:
 +  * Forward Slash (/)
 +  * Doppelter Backslash (\\)
 +  * r"​Pfadangabe mit Backslash"​
 +
 +<​code>​
 +Pfad_Workspace = "​E:/​Projekte/​MeinProjekt"​
 +Pfad_Workspace = "​E:​\\Projekte\\MeinProjekt"​
 +Pfad_Workspace = r"​E:​\Projekte\MeinProjekt"​
 +</​code>​
 +
 +**(12)** Fügen Sie den adaptierten Text im Python-Fenster ein.
 +
 +{{  :​mikeurban:​downloads:​import_anschlussleitung_pythonfenster.png?​350 ​ |}} 
 +
 +**(13)** Sie starten die Befehle, indem Sie den Mauscursor ans Ende des Textblocks setzen und zwei Mal <​Enter>​ drücken. Der ganze Textblock wird nun abgearbeitet. In der Statusleiste im unterer Rand des ArcMap-Fensters wird der gerade ausgeführte Befehl gezeigt, im rechten Teil des Python-Fensters können Sie den Gesamtfortschritt verfolgen. Fehlermeldungen werden rot, Warnungen gelb geschrieben.
 +
 +Dass ArcMap fertig ist, erkennen Sie daran, dass der Curser unten im Python-Fenster blinkt und auf eine weitere Eingabe wartet.
 +
 +{{  :​mikeurban:​downloads:​import_anschlussleitung_pythonfenster2.png?​350 ​ |}}
 +
 +**(14) Lassen Sie das Python-Fenster geöffnet!**
 +
 +**(15)** Starten Sie die ET GeoWizards, wählen Sie im Register "​Convert"​ das Werkzeug "​Polyline To Point" und klicken Sie auf "​GO"​.
 +
 +{{  :​mikeurban:​downloads:​import_anschlussleitung_et1.png?​350 ​ |}}
 +
 +**(16)** Im nächsten Dialogfenster wählen Sie das bereits existierende Thema "​Anschlussleitung"​ aus. Für die Ergebnisdatei geben Sie den Dateinamen "​Anschlussleitung2Punkte"​ an, und zwar im von Ihnen erstellten temporären Verzeichnis für die Shape-Dateien. Klicken Sie auf "​Next"​.
 +
 +{{  :​mikeurban:​downloads:​import_anschlussleitung_et2.png?​350 ​ |}}
 +
 +**(17)** Im nächsten Dialogfenster wählen Sie nur die Option "​Nodes"​. Klicken Sie auf "​Finish"​.
 +
 +{{  :​mikeurban:​import_anschlussleitungen_et3.png?​350 ​ |}}
 +
 +**(18)** Nachdem der Layer "​Anschlussleitung2Punkte"​ erstellt worden ist, können Sie mit den Python-Fenster fortfahren. Kopieren Sie die folgenden Zeilen in den linken Teil des Python-Fensters.
 +
 +<​code>​
 +# Anschlussleitungen werden bearbeitet
 +# ************************************
 +arcpy.SpatialJoin_analysis("​Anschlussleitung2Punkte","​AnschlussleitungBuffer2","​Anschlussleitung2Punkte2","​JOIN_ONE_TO_ONE","​KEEP_ALL","","​COMPLETELY_WITHIN"​)
 +
 +arcpy.CalculateField_management("​mw_Pipe","​Coeff3",​0)
 +arcpy.CalculateField_management("​mw_Pipe","​Coeff4",​1)
 +arcpy.CreateRoutes_lr("​mw_Pipe","​MUID","​mw_Pipe_Routen","​TWO_FIELDS","​Coeff3","​Coeff4","​UPPER_LEFT",​1,​0,"​IGNORE","​INDEX"​)
 +arcpy.LocateFeaturesAlongRoutes_lr("​Anschlussleitung2Punkte2","​mw_Pipe_Routen","​MUID",​Searchdist,"​ALPosition.dbf","​RID POINT MEAS","​FIRST","​DISTANCE","​ZERO","​FIELDS"​)
 +arcpy.AddField_management("​ALPosition","​Zielknoten","​TEXT","","",​40)
 +arcpy.AddJoin_management("​ALPosition","​RID","​mw_Pipe","​MUID","​KEEP_ALL"​) # RID kommt von den Routen, ist die MUID
 +arcpy.SelectLayerByAttribute_management("​ALPosition","​NEW_SELECTION",'​MEAS <​=0.5'​)
 +arcpy.CalculateField_management("​ALPosition","​ALPosition.Zielknoten","​!mw_Pipe.FROMNODE!","​PYTHON"​)
 +arcpy.SelectLayerByAttribute_management("​ALPosition","​NEW_SELECTION",'​MEAS >​0.5'​)
 +arcpy.CalculateField_management("​ALPosition","​ALPosition.Zielknoten","​!mw_Pipe.TONODE!","​PYTHON"​)
 +arcpy.SelectLayerByAttribute_management("​ALPosition","​CLEAR_SELECTION"​)
 +arcpy.RemoveJoin_management("​ALPosition","​mw_Pipe"​)
 +
 +arcpy.AddField_management("​Hausanschluss1","​Zielknoten","​TEXT","","",​40)
 +arcpy.AddJoin_management("​Hausanschluss1","​ALID","​ALPosition","​ALID","​KEEP_ALL"​)
 +arcpy.SelectLayerByAttribute_management("​Hausanschluss1","​NEW_SELECTION","​ALPosition.Zielknoten IS NOT NULL")
 +arcpy.CalculateField_management("​Hausanschluss1","​Hausanschluss1.Zielknoten","​!ALPosition.Zielknoten!","​PYTHON"​)
 +arcpy.SelectLayerByAttribute_management("​Hausanschluss1","​CLEAR_SELECTION"​)
 +arcpy.RemoveJoin_management("​Hausanschluss1","​ALPosition"​)
 +
 +arcpy.AddField_management("​Hausanschluss","​Zielknoten","​TEXT","","",​40)
 +arcpy.AddJoin_management("​Hausanschluss","​tempHAID","​Hausanschluss1","​tempHAID","​KEEP_ALL"​)
 +arcpy.CalculateField_management("​Hausanschluss",​STRINGhausanschluss,"​!Hausanschluss1.Zielknoten!","​PYTHON"​)
 +arcpy.RemoveJoin_management("​Hausanschluss","​Hausanschluss1"​)
 +arcpy.DeleteField_management("​Hausanschluss","​tempHAID"​)
 +</​code>​
 +
 +**(19)** Wieder starten Sie die Befehle, indem Sie den Mauscursor ans Ende des Textblocks setzen und zwei Mal <​Enter>​ drücken.
 +
 +**(20)** Nach Abschluss des letzten Befehls öffnen Sie die Attributtabelle des Themas "​Hausanschluss"​ und kontrollieren Sie, ob Sie ganz rechts eine Spalte "​Zielknoten"​ finden, in der KnotenIDs stehen.
 +
 +**(21)** Schließen Sie ArcMap.
 +
 +==== Dateimanager ====
 +
 +**(22)** Sie können die neu erstellte Karte und das temporäre Verzeichnis für die Shape-Dateien jetzt wieder löschen.
 +
 +**(23)** Fahren Sie fort mit [[mikeurban:​anleitungen:​import_anschlussleitungen#​teil_bimport_der_hausanschluesse_schritt_fuer_schritt|Teil B: Import der Hausanschlüsse Schritt für Schritt]].Anschlussleitung2Punkte2Hausanschluss1
mikeurban/anleitungen/import_anschlussleitungen_etdemo.txt · Zuletzt geändert: 2016/05/18 13:07 von julian