Listeneintrag
Verfasst: Dienstag 10. August 2010, 13:15
Folgendes Problem:
ich habe eine Liste mit unterschiedlichen Einträgen (Orig_FID, Point_X, Point_Y, Point_Z) wobei die Orig_FID der ID einer Polylinie enspricht, die aus 2 Punkten begrenzt ist (Punkte durch Point_X, Point_Y, PointZ gekennzeichnet, entsprechen den XYZ-Koordinaten der Randpunkte einer Linie). Jetzt soll eine Liste erstellte werden, welche pro Tupel die FID der Linie und die Koordinaten der beiden Randpunkte enthalten sind.
Folgender Vorschlag:
Das Problem, was ich jetzt habe, ist folgendes, dass die Koordinaten nicht richtig eingelesen werden, es wird immer der erste Eintrag herangezogen und für jedes Tupel eingegeben...
Vermutlich (sicher) ist die if - else Abfrage falsch, aber ich weiß es nicht besser. Wer kann mir helfen?
Danke
ich habe eine Liste mit unterschiedlichen Einträgen (Orig_FID, Point_X, Point_Y, Point_Z) wobei die Orig_FID der ID einer Polylinie enspricht, die aus 2 Punkten begrenzt ist (Punkte durch Point_X, Point_Y, PointZ gekennzeichnet, entsprechen den XYZ-Koordinaten der Randpunkte einer Linie). Jetzt soll eine Liste erstellte werden, welche pro Tupel die FID der Linie und die Koordinaten der beiden Randpunkte enthalten sind.
Folgender Vorschlag:
Code: Alles auswählen
while row:
current_Eintrag = (row.FID, row.FID_DREIEC, row.ORIG_FID, row.POINT_X, row.POINT_Y, row.POINT_Z)
orig_FID=row.ORIG_FID
liste.append(current_Eintrag)
#current_coordinate = (row.POINT_X, row.POINT_Y, row.POINT_Z)
#current_Eintrag2 = (row.ORIG_FID, current_coordinate)
#Endliste.append(current_Eintrag2)
#Koordinatenliste.append(current_coordinate)
row = cur.next()
liste2=sorted(liste, key=lambda Dreieck: Dreieck[1])
oFID = -1
for c in liste2:
if oFID == c[2] or oFID == -1:
coords_polyline.append((c[3], c[4], c[5]))
else:
current_Eintrag2 = (oFID, coords_polyline)
Endliste.append(current_Eintrag2)
del coords_polyline[:]
oFID = c[2]
Vermutlich (sicher) ist die if - else Abfrage falsch, aber ich weiß es nicht besser. Wer kann mir helfen?
Danke