Lebih

Mengubah jalur ruang kerja lapisan kueri menggunakan ArcPy?

Mengubah jalur ruang kerja lapisan kueri menggunakan ArcPy?


Saya mencoba mengubah jalur ruang kerja dari lapisan kueri menggunakan kode di bawah ini dan selalu rusak. Lapisan terhubung ke tampilan dalam database Oracle Spatial 10g. Basis data diaktifkan SDE meskipun karena ini adalah lapisan kueri, SDE tidak tahu apa-apa tentangnya.

Tabel tempat python mengubah jalur ruang kerja sebenarnya adalah tampilan, itulah sebabnya mereka adalah lapisan kueri. Masalah yang saya alami adalah lapisan rusak setelah kode dijalankan. Tampaknya jalur ruang kerja diubah dengan benar tetapi "Tipe Tabel" adalah (null) dan telah kehilangan pemetaan Bidang Obyek-ID. Adakah yang tahu mengapa itu merusak lapisan seperti ini ketika saya menjalankan kode di bawah ini?

import arcpy, os # Globals process_folder = r"C:Users	fronalmxds" dev_workspacePath = r"C:Users	fronalconnectionsORACLEDEV_SDVIEWER.sde" change_flag = Salah untuk nama file di os.listdir(process_folder): fullpath = os.path.join(process_folder, filename) if os.path.isfile(fullpath): nama dasar, ekstensi = os.path.splitext(fullpath) if extension.lower() == ".mxd": change_flag =False print "------------------------------------------------- -" print "Opening MXD:" + fullpath mxd = arcpy.mapping.MapDocument(fullpath) untuk tbl di arcpy.mapping.ListTableViews(mxd): jika "oraclestage" di tbl.workspacePath.lower(): tbl.findAndReplaceWorkspacePath(tbl .workspacePath, dev_workspacePath, False) print "Jalur ruang kerja baru: " + tbl.workspacePath change_flag = Benar jika change_flag == Benar: mxd.save() print "mxd disimpan." del mxd cetak "Selesai"

EDIT: Menambahkan beberapa informasi tambahan sesuai permintaan komentar. Kode ini dimaksudkan untuk digunakan untuk memigrasi mxd/s antara staging dan lingkungan pengembangan dan seterusnya. Perubahan workspace (file .SDE yang digunakan) akan mengubah database, username dan password. MXD disimpan dari ArcMap 10.2.2.


Tonton videonya: GIS Python: Count shape files and Select by Location 2 Real world ArcPy examples