我遇到了一個問題,在使用下面的方法創建類之前我沒有遇到過這個問題;定義類arcpy時未定義NAME
class Points:
def __init__(self, inFC, buffDist, sector): #Must have a set of points and a value to buffer these by. Also, sector.
self.inFC = inFC
self.buffDist = buffDist
self.sector = sector
def getCoords(self): #getting the coordinates of the points.
fc = self.inFC
fields = ['[email protected]']
coordsList = []
with arcpy.da.SearchCursor(fc, fields) as rows:
coordsList = [r[0] for r in rows]
self.coordsList = coordsList
del coordsList
該類是創建的,並在我的腳本的末尾調用此代碼的方法;
if __name__ == '__main__':
inFC = arcpy.GetParameterAsText(0)
buffDist = arcpy.GetParameterAsText(1)
sector = arcpy.GetParameterAsText(2)
outFC_data = arcpy.GetParameterAsText(3)
fcName = outFC_data.rpartition("\\")[2]
fcPath = outFC_data.rpartition("\\")[0]
outFC = arcpy.CreateFeatureclass_management(fcPath, fcName, "POLYGON")
pointobject = Points(inFC, buffDist, sector)
pointobject.getCoords()
這會返回fc = self.inFC行的錯誤「fc is not defined」。
OR
如果刪除 「FC = self.InFC」,並與內SearchCursor self.inFC代替FC然後我於行「與arcpy.da.SearchCursor得到一個錯誤(self.inFC,字段) 「這表明」self.inFC沒有定義「。
我已經嘗試將類定義直接粘貼到python解釋器(ArcCatalog-> Geoprocessing-> Python)中,但錯誤保持不變,所以我甚至都沒有創建類的實例,錯誤在我的類和方法定義的實際代碼中。
我的代碼或我的方法有什麼錯誤?
只是爲了檢查:你的縮進是否正確,只是在這裏粘貼錯了? – Erica
如果包含'if arcpy.exists(inFC):print「它存在」'在處理'pointobject'之前檢查某處,結果如何?問題可能是它得到的最初輸入。 – Erica