Več

Polje napake 000728 znotraj tabele ne obstaja - polje že obstaja


Izvajam arcpy.AddField_management, da dodam polje z imenom "cnid" in ga posodobim z vrednostmi x centroid. Za add.field dobim napako "cnid" že obstaja. Preizkusil sem ime print.field in ne vidim polja "cnid". Zdaj izvajam izračun centroid oblike in dobim sporočilo o napaki "cnid" v tabeli ne obstaja. Ne razumem, včasih deluje (če zaprem arcmap in ga znova odprem), če pa zaženem obe kodi, dodam polje in ga posodobim, ne deluje.

# AddField za nova polja arcpy.AddField_management ("Povezave", "cnid", "DOUBLE", "", "", "", "", NULLABLE ") #test polja za polje v arcpy.ListFields (" Povezave " ):… Print field.name xExpression = "float (! SHAPE.CENTROID! .Split () [0])" inFeatures = "Connections" fieldName = "cnid" arcpy.CalculateField_management ("Connections", "cnid", xExpression, "PYTHON")

Nekaj ​​o napaki in_memory in osvežitvi sem prebral v Zakaj dobim NAPAKO 000728: Polje * ime polja * ne obstaja v tabeli, čeprav polje obstaja ?, ampak kako ga lahko osvežim, ne da bi ga bilo treba zapreti in znova odpreti?

Uporabljam ArcMap-jevo okno Python.


Imate to težavo, ker imena polj, ki jih želite uporabiti, ko se pridružite, niso izvirna imena polj. Če združitve ne potrebujete več, lahko uporabite orodje "odstrani pridružitev". Če potrebujete vrednosti iz združene tabele, morate v ime polja vključiti ime tabele, takole:

! ime_tabele.ime_polja!

Če se želite prepričati o "črkovanju", se poskusite pridružiti tabeli v programu ArcMap in zaženite kalkulator polj: navedena imena združenih polj bodo navedena.