Próbuję wyjaśnić tutaj, co próbuję zrobić:
Mam jeden plik kształtów i jedną niezależną tabelę dbf z tymi samymi polami. W tabeli dbf wszystkie pola są wypełnione, ale w tabeli atrybutów shapefile tylko jedna, nazwijmy ją „OneField”. Chcę sprawdzić, czy wartości z „OneField” (Shapefile) są takie same, jak wartości w „OneField” (tabela dbf), a jeśli tak, to wypełnić pozostałe puste pola w tabeli atrybutów shapefile w niezależnej tabeli dbf.
W tej chwili próbuję po prostu skopiować wartości z niezależnej tabeli dbf do tabeli atrybutów shapefile, ale utknąłem (po uruchomieniu tego kodu pojawia się komunikat, że pythonwin przestał działać i nic nie dzieje się z tabelami). Czy możesz mi pomóc?
Oto kod:
import arcpy
table = "link/to/table.dbf"
fc = "link/to/shapefile.shp"
# Create a search cursor
rowsTable = arcpy.SearchCursor(table)
# Create an update cursor
rowsFc = arcpy.UpdateCursor(fc)
for row in rowsTable:
row = row.getValue("OneField")
valueTable = row
for row in rowsFc:
row = row.setValue("OneField", valueTable)
rowsFc.updateRow(row)
row = rowsFc.next()
row = rowsTable.next()
del row, rowsFc, rowsTable
Dziękuję Ci bardzo