Saya sudah memeriksa jawaban lain di sini dan tidak ada jawaban yang berfungsi untuk saya ...
Ini masalah "sederhana" untuk menemukan layer dengan nama di peta dan mengubah sumber data itu.
Ini skrip saya:
#-- New Source
newSource = os.path.join(currDir, lyrZones + "_Dep" + dirNum + ".shp")
#-- Validation
if arcpy.Exists(newSource):
print "The new source exists!"
else:
print "Not found!"
#-- Find the layer and change its source
for lyr in arcpy.mapping.ListLayers(mxd):
if lyr.name == lyrZones:
print "Layer found!"
print layers.dataSource
print " Replacing source..."
lyr.replaceDataSource(currDir, "SHAPEFILE_WORKSPACE", newSource)
print lyr.dataSource
Saya menjalankannya dari skrip python di luar ArcGIS.
Anda dapat melihat bahwa sumbernya ada, lapisannya ditemukan, saya dapat mengakses sumber datanya dengan mencetaknya, tetapi lyr.replaceDataSource menyebabkan kesalahan (Kesalahan tak terduga ... tidak banyak membantu ...)
Saya telah bekerja selama 4-5 jam sekarang dan saya kekurangan solusi untuk mencoba. Adakah yang tahu apa yang bisa menyebabkan crash?
D:\test
dan lihat apakah itu berhasil.