Ben geçmekte olan ve elle sıfırlama tüm kırık katmanları ile yaklaşık 50 mxd var.
Veriler başka bir bilgisayardan taşındı ve klasör yapısı değiştirildi, böylece sadece basit bir değişim süreci değil (örnek):
"F: \ Data \ Rivers.shp" - "C: \ Data \ Rivers.shp"
daha çok benzer:
"F: \ Data \ Rivers.shp" - C: \ Data \ Park \ Water \ Rivers.shp
vb. her biri kendi alt klasöründeki her türlü veri (sınırlar, sebze örtüsü, yollar vb.) için.
En azından benim mxd'lerin çoğunda bulunan daha yaygın katmanlardan bazılarını onaracak olan bu mxd'lerden birini açtığımda tekrar tekrar çalıştırabileceğim bir komut dosyası yapmak istiyorum ve sonra geri kalanını el ile onarabilirim. Bu şekilde en azından kendimi biraz zamandan kurtarabilirim .
Ben çizgileri boyunca bir şey kullanıyorum:
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")
Bu durumda fikir, mxd'mdeki diğer ortak katmanlar için bir şekilde birden fazla "replace" betiği eklemek olacaktır.
Ancak yukarıdaki komut dosyası Rivers katmanını bile düzeltmez.
Nasıl çalışmasını ve farklı dosya yollarına sahip onarılması gereken diğer katmanları nasıl ekleyebilirim?