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