Mengubah ke versi Historis menggunakan ArcPy?

9

Saya mengalami masalah mencoba mengubah ke versi historis pada kelas fitur SDE menggunakan Python dan arcpy.ChangeVersion_management .

Saya dapat mengubah versi secara manual ke tanggal dan waktu tertentu menggunakan ArcMap. Saya juga dapat sepenuhnya mengotomatiskan proses menggunakan ModelBuilder.

Ketika saya mengekspor model ModelBuilder ke skrip python skrip berjalan tanpa kesalahan tetapi versi yang dipilih adalah versi historis dengan tanggal todays dan bukan tanggal yang dipilih sebagai parameter tanggal.

Menggunakan Arcmap dan jendela Python (Geoprocessing -> Python) saya juga dapat menjalankan kode python tanpa kesalahan dan hasilnya sama. Lapisan historis dipilih dengan tanggal saat ini dan bukan tanggal yang dipilih sebagai parameter tanggal.

Berikut ini sintaks Python yang saya jalankan:

arcpy.ChangeVersion_management("Parcels", "HISTORICAL", "", "7/1/2013 4:30:00 PM")

Saya juga mendapatkan hasil yang sama menggunakan:

historyDate = datetime.datetime(2011, 7, 1)
arcpy.ChangeVersion_management("Parcels", "HISTORICAL", "", historyDate)

sementara yang berikut melempar RuntimeError:

historyDate = datetime.date(2011, 7, 1)
arcpy.ChangeVersion_management("Parcel", "HISTORICAL", "", historyDate)

Apakah ini bug yang dikenal atau apakah saya hanya melakukan ini dengan cara yang salah?

Brad Welborn
sumber
Dugaan saya adalah bahwa ada masalah dengan cara Anda menentukan tanggal. Parameter alat mengharapkan nilai menjadi objek Date, bukan String ( resources.arcgis.com/en/help/main/10.2/index.html#//… ). Ada posting forum Esri bermanfaat di ini: forums.arcgis.com/threads/…
Alex Tereshenkov
Baris kode dihasilkan dari ekspor ArcGIS Model Builders ke perintah menu Python Script. Saya mengubah kode python untuk menggunakan objek Date dan hasilnya sama. Pekerjaan sekitar dari posting yang disediakan adalah untuk meminta pengguna akhir memulai dengan versi historis dan kemudian menggunakan fungsi untuk mengubah ke versi saat ini. Solusi ini tidak akan berfungsi untuk saya karena saya menulis seluruh proses dan tanggal historis berasal dari kueri SQL.
Brad Welborn
1
Saya mengerti. Anda mungkin harus menghubungi Dukungan Teknis Esri kemudian. Saya tidak bisa mendapatkan hal ini bekerja dengan arcpy di 10.2.2. Anda dapat menerbitkan kode Anda, meskipun di badan pertanyaan karena tidak jelas dalam format apa Anda mendapatkan objek tanggal Anda dan bagaimana Anda menyediakan parameter ini ke alat ChangeVersion. Perasaan saya adalah bahwa kita tidak dapat menemukan cara yang tepat untuk memasok objek tanggal ke alat (saya telah menggunakan alat skrip GUI untuk itu, parameter tipe Tanggal) atau ada bug dengan alat ini.
Alex Tereshenkov
2
Alex, terima kasih telah meluangkan waktu untuk melihat ini. Sepertinya menghubungi Dukungan Teknis Esri adalah langkah saya selanjutnya. Saya akan memperbarui pertanyaan ketika saya mendapat jawaban dari mereka.
Brad Welborn

Jawaban:

6

Setelah beberapa penelitian lebih lanjut saya telah mengkonfirmasi bahwa ini adalah bug yang dikenal. Semoga menambahkan informasi ini di sini akan menghemat waktu seseorang di masa depan karena tidak mudah ditemukan menggunakan Google atau situs Esri.

Bug NIM-087927
Diserahkan: 8 Jan 2013
Status: Buka
http://support.esri.com/id/bugs/nimbus/TklNMDg3OTI3

Brad Welborn
sumber