Bagaimana cara mengubah jalur data sumber untuk setiap file lapisan di folder X menggunakan arcpy?
Saya telah mengikuti Memperbarui dan memperbaiki sumber data dengan arcpy.mapping sebaik mungkin, namun yang saya dapatkan adalah tidak membantu Runtime error <type 'exceptions.ValueError'>: Layer: Unexpected error
yang tidak cukup memberi tahu saya untuk memecahkan masalah apa yang salah atau hilang.
Inilah kode (disederhanakan untuk menguji satu file lapisan):
import arcpy, os
fname = r'K:\Layers\xxx.lyr'
lyr = arcpy.mapping.Layer(fname)
oldpath = lyr.workspacePath
print 'oldpath: ', oldpath
lyr.findAndReplaceWorkspacePath(oldpath, r'C:\some\other.gdb')
print 'newpath: ', lyr.workspacePath
dan hasilnya:
oldpath: K:\Canvec_Utility\Temp.gdb
Traceback (most recent call last):
File "x10x.py", line 12, in <module>
lyr.findAndReplaceWorkspacePath(oldpath, r'C:\some\other.gdb')
File "C:\ESRI\ArcGIS\Desktop10.0\arcpy\arcpy\utils.py", line 181, in fn_
return fn(*args, **kw)
File "C:\ESRI\ArcGIS\Desktop10.0\arcpy\arcpy\_mapping.py", line 601, in findAndReplaceWorkspacePath
return convertArcObjectToPythonObject(self._arc_object.findAndReplaceWorkspacePath(*gp_fixargs((find_workspace_path, replace_workspace_path, validate), True
)))
ValueError: Layer: Unexpected error
((memindahkan 'perbarui' bagian ke dalam jawaban))
Runtime error...
dikutip di atas adalah dari shell python interaktif di Arccatalog, yang tidak memberikan traceback. Hasil dengan traceback disalin dari shell perintah.