Saya benci bug Anda semua dengan masalah yang sama berulang-ulang tapi saya mengalami masalah baru setiap kali saya membuat sedikit perubahan pada kode. Yang saya lakukan pada kode di bawah ini adalah mengganti nama bidang agar cocok dengan kelas fitur asli. Sekarang tidak berfungsi. Itu memberi saya
<type 'exceptions.RuntimeError'>: ERROR 999999: Error executing function.
Failed to execute (Script).
Saya mencoba menambahkan Try / Kecuali ke kode yang tidak memberi saya pesan kesalahan tetapi tidak memberi saya hasil juga.
Saya tidak yakin apa yang terjadi? Setiap bantuan untuk mencari tahu ini akan sangat dihargai.
import arcpy, os
Try:
roadpath = arcpy.GetParameterAsText(0)
tablepath = arcpy.GetParameterAsText(1)
datapath = os.path.split(tablepath)[0]
tablename = os.path.split(tablepath)[1]
rows = arcpy.SearchCursor(roadpath,"FROMLEFT <> 0 AND TOLEFT <> 0","","STREET_NAME_ID;FROMLEFT;TOLEFT","STREET_NAME_ID A;FROMLEFT A;TOLEFT A")
arcpy.env.workspace = datapath
if arcpy.Exists(tablename):
arcpy.DeleteRows_management(tablename)
else:
arcpy.CreateTable_management(datapath,tablename,roadpath)
arcpy.DeleteField_management(tablename,"SHAPE_Length")
irows = arcpy.InsertCursor(tablename)
first = True
for row in rows:
if first:
first = False
else:
GISID = row.GIS_ID
stid = row.STREET_NAME_ID
fl = row.FROMLEFT
tl = row.TOLEFT
if stid == prev_stid and fl <= prev_tl:
irow = irows.newRow()
irow.GIS_ID = prev_GISID
irow.STREET_NAME_ID = prev_stid
irow.FROMLEFT = prev_fl
irow.TOLEFT = prev_tl
irows.insertRow(irow)
del irow
irow = irows.newRow()
irow.GIS_ID = GISID
irow.STREET_NAME_ID = stid
irow.FROMLEFT = fl
irow.TOLEFT = tl
irows.insertRow(irow)
del irow
prev_GISID = row.GIS_ID
prev_stid = row.STREET_NAME_ID
prev_fl = row.FROMLEFT
prev_tl = row.TOLEFT
del rows, irows
except:
print arcpy.GetMessages()
` `
tablepath
bukan tablename
. Ini hanya salah ketik forum atau apakah ini benar-benar seperti itu dalam skrip? Kesalahan menyarankan yang pertama, jadi dapatkah Anda memberikan contoh nilai yang Anda sampaikan ke kedua parameter Anda? Apakah Anda memiliki import arcpy
baris di bagian atas skrip Anda?
rows =
keirows
inklusif dalam percobaan ... kecuali blok memberikan pesan kesalahan yang lebih terbuka. Ini juga akan membantu jika Anda dapat menempatkan sampel data dan skrip lengkap di suatu tempat ( minus.com adalah salah satu tempat untuk berbagi publik yang mudah).