ich hoffe es gibt diesen Thread noch nicht, über die Suche habe ich nämlich nichts finden können
Zunächst einmal bin ich ein ziemlicher Neuling im Bereich der Python - Programmierung, so entschuldige ich mich schonmal vorweg für dumme Fragen
Nun zu meinem Problem:
Ich habe mir im Zusammenhang mit der GIS Bearbeitungssoftware ArcGIS 9.3 ein Pythonskript geschrieben bzw. es versucht, um aus einem Shapefile bzw. einer Tabelle mit den Spalten X, Y, Z und noch ein paar anderen für jede Zeile die X,Y,Z Koordinaten von verschiedenen Punkten herauszulesen. Das hat soweit auch ganz gut geklappt. Allerdings habe ich nun einige Punkte, die doppelt vorkommen, also die gleichen X,Y,Z Werte haben. Um diese herauszufinden, habe ich nun 2 Schleifen gemacht und diese miteinander verglichen. Das hat in soweit auch geklappt, sodass ich wenn ich den Code durchlaufen lasse, am Ende eine Aufzählung der Punkte bekomme, die doppelt sind. Allerdings werden mir nun, wenn ich z.B. einen Punkt habe, der 3mal vorkommt, alle drei Punkte angezeigt. Ich möchte aber im Prinzip jeden Punkt mit den Koordinaten X,Y,Z jeweils nur einmal angezeigt bekommen. Leider bin ich auch nach längerer Internetrecherche nicht fündig geworden und hoffe, dass mir hier im Forum jmd einen hilfreichen Tipp geben könnte.
Im folgenden der Code den ich geschrieben habe:
Code: Alles auswählen
import arcgisscripting # import der Library
gp=arcgisscripting.create(9.3) # geoprocessor zum import von funktionen
gp.workspace="C:/Temp/" # workspace
filename = "duply.txt" # name der Datei
#print "Writing to file: %s" % filename
cur=gp.SearchCursor("fur_model.shp", "", "", "X,Y,Z,Tri_Index") # Durchsuchen der Datei nach den Spalten X, Y, Z
#cur3=gp.SearchCursor("fur_model.shp", "", "", "X,Y,Z,Tri_Index")
# Get the first feature in the searchcursor
#
row = cur.next()
#row3=cur3.next()
#file = open(filename, 'w') # öffnen des Files, mode write
# schreiben von i (da zahl--> string)
# schreiben von neuer zeile
while row: # schleife über die tabelle
cur2=gp.SearchCursor("fur_model.shp", "", "", "X,Y,Z,Tri_Index")
row2=cur2.next()
while row2:
if row.X == row2.X and row.Y == row2.Y and row.Z == row2.Z:
print "Doublette: " , row.X , row.Y, row.Z
row2=cur2.next()
row = cur.next()
#file.write(")")
#file.close() # file schließen
print "neuer versuch"