Ich hätte eine Frage nachdem das folgende Script nicht das mach, was ich von ihm gerne möchte
und vielleicht der Fehler gar nicht in dem Script liegt, sondern es die von mir angegebenen Attribute gar nicht
so in der Datenbank benannt sind.
ich habe schon versucht den Inhalt der Listen zu drucken, aber auch hier bekomme ich kein Ergebnis-
Normalerweise sollte ich ja wenn ich vor Zeile 7"for HaltungRW in Haltungsliste:" diese Zeilen einfüge
print +Haltungsliste
print +Punktliste
zumindest der Inhalt gelistet werden, oder bin ich da am Holzweg
Danke
Code: Alles auswählen
#Informationen von Schächten auf Haltung übertragen:
#HaltungsID, Von Knoten, Bis Knoten, Höhe Rohranfang, Höhe Rohrende
#Leere Werte oder Null-Höhen werden nicht übernommen
Haltungsliste = list(Application.Project.GetObjects().WhereObjectClass('LineString').WhereObjectType('HaltungRW'))
PunktListe = list(Application.Project.GetObjects().WhereObjectClass('Point').WhereObjectType('SchachtRW'))
idList = []
for HaltungRW in Haltungsliste:
vonKnoten=""
bisKnoten=""
myAHoehe=""
myEHoehe=""
myAID=""
myEID=""
myHID=""
try:
for SchachtRW in PunktListe:
if str(str(SchachtRW.Geometry[0]) + str(SchachtRW.Geometry[1])) == str(str(HaltungRW.Geometry[0][0]) + str(HaltungRW.Geometry[0][1])):
vonKnoten=SchachtRW.KNOTENID
if SchachtRW.S_HOEHE > 0 and SchachtRW.S_HOEHE != HaltungRW.HOEHE_A:
myAHoehe = ' Änderung Höhe Anfang von ' + str(HaltungRW.HOEHE_A) + ' in ' + str(SchachtRW.S_HOEHE)
HaltungRW.HOEHE_A=SchachtRW.S_HOEHE
if len(SchachtRW.KNOTENID) > 0 and SchachtRW.KNOTENID != HaltungRW.VON_K:
myAID = ' Änderung VON_K von ' + str(HaltungRW.VON_K) + ' in ' + str(SchachtRW.KNOTENID)
HaltungRW.VON_K=SchachtRW.KNOTENID
if len(SchachtRW.KNOTENID) > 0 and SchachtRW.KNOTENID != HaltungRW.H_ID:
myHID = ' Änderung H_ID von ' + str(HaltungRW.H_ID) + ' in ' + str(SchachtRW.KNOTENID)
HaltungRW.H_ID=SchachtRW.KNOTENID
for SchachtRW in PunktListe:
if str(str(SchachtRW.Geometry[0]) + str(SchachtRW.Geometry[1])) == str(str(HaltungRW.Geometry[len(HaltungRW.Geometry) - 1][0]) + str(HaltungRW.Geometry[len(HaltungRW.Geometry) - 1][1])):
bisKnoten=(SchachtRW.KNOTENID)
if SchachtRW.S_HOEHE > 0 and SchachtRW.S_HOEHE != HaltungRW.HOEHE_E:
myEHoehe = ' Änderung Höhe Ende von ' + str(HaltungRW.HOEHE_E) + ' in ' + str(SchachtRW.S_HOEHE)
HaltungRW.HOEHE_E=SchachtRW.S_HOEHE
if len(SchachtRW.KNOTENID) > 0 and SchachtRW.KNOTENID != HaltungRW.BIS_K:
myEID = ' Änderung BIS_K von ' + str(HaltungRW.BIS_K) + ' in ' + str(SchachtRW.KNOTENID)
HaltungRW.BIS_K=SchachtRW.KNOTENID
if len(myAHoehe + myEHoehe + myAID + myEID + myHID) > 0:
print ' Haltung: ' + HaltungRW.H_ID #+ ' ID: ' + str(HaltungRW.Id)
idList.append(HaltungRW.Id)
if len(myHID)>0:
print myHID
if len(myAID)>0:
print myAID
if len(myEID)>0:
print myEID
if len(myAHoehe)>0:
print myAHoehe
if len(myEHoehe)>0:
print myEHoehe
except:
print ' Haltung: ' + HaltungRW.H_ID + ' Fehler beim Editieren'
if len(idList)>0:
Application.IO.ZoomGoTo(idList)
print
print ' Es wurden ' + str(len(idList)) + ' Haltungen geändert.'
print ' F4 drücken, um Auswahl in der Tabellenansicht anzuzeigen!'