Saya memiliki sekitar 50 mxd dengan semua lapisan rusak yang telah saya lalui dan mengatur ulang secara manual.
Data dipindahkan dari komputer lain dan struktur folder diubah sehingga bukan hanya proses perubahan yang sederhana (contoh):
"F: \ Data \ Rivers.shp" hingga "C: \ Data \ Rivers.shp"
itu lebih seperti:
"F: \ Data \ Rivers.shp" ke C: \ Data \ Park \ Water \ Rivers.shp
dan seterusnya untuk semua jenis data (batas, tutupan sayuran, jalan, dll.) masing-masing dalam sub-folder mereka sendiri.
Saya ingin membuat skrip yang dapat saya jalankan berulang kali setiap kali saya membuka salah satu mxd ini yang setidaknya akan memperbaiki beberapa lapisan yang lebih umum yang ditemukan di sebagian besar mxd saya, dan kemudian saya dapat memperbaiki sisanya secara manual. Dengan cara itu saya bisa setidaknya menyelamatkan diri beberapa waktu.
Saya telah menggunakan sesuatu di sepanjang baris:
import arcpy
mxd = arcpy.mapping.MapDocument("CURRENT")
for lyr in arcpy.mapping.ListLayers(mxd):
if lyr == "Rivers": #Should this be the layner name in TOC or FC name?
lyr.replaceDataSource(r"C:\Data\Park\Water", "SHAPEFILE_WORKSPACE", "Rivers")
Idenya kemudian akan entah bagaimana menambahkan beberapa "ganti" skrip di atas untuk lapisan umum lainnya yang ada di mxd saya.
Namun skrip di atas bahkan tidak memperbaiki layer Rivers.
Bagaimana saya bisa membuatnya bekerja, dan juga menambahkan lapisan lain untuk diperbaiki yang memiliki jalur file berbeda?
sumber