ArcPy kullanarak Geçmiş sürüme mi geçiyorsunuz?


9

Python ve arcpy.ChangeVersion_management kullanarak bir SDE özellik sınıfında tarihsel bir sürümüne değiştirmeye çalışırken bir sorun yaşıyorum .

ArcMap kullanarak sürümü belirli bir tarih ve saate manuel olarak değiştirebiliyorum. ModelBuilder kullanarak işlemi tamamen otomatikleştirebiliyorum.

ModelBuilder modelini bir python komut dosyasına aktardığımda, komut dosyası hatasız çalışır, ancak seçilen sürüm, date parametresi olarak seçilen tarih değil, bugünün tarihi olan tarihsel sürümdür.

Arcmap ve Python penceresini (Geoprocessing -> Python) kullanarak Python kodunu hatasız çalıştırabilirim ve sonuç aynıdır. Geçmiş katman, tarih parametresi olarak seçilen tarihle değil, geçerli tarihle seçilir.

İşte yürüttüğüm Python sözdizimi:

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

Ben de kullanarak aynı sonuçları elde:

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

aşağıdakiler bir RuntimeError hatası verir:

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

Bu bilinen bir hata mı yoksa sadece yanlış yoldan mı gidiyorum?


Benim tahminim tarihi nasıl tanımladığınızla ilgili bir sorun var. Aracın parametresi, değerin bir String değil Date nesnesi olmasını bekler ( resources.arcgis.com/en/help/main/10.2/index.html#//… ). Bu konuda yararlı bir Esri forumları yazısı var: forums.arcgis.com/threads/…
Alex Tereshenkov

Kod satırı ArcGIS Model Builders dışa aktarma işleminden Python Script menü komutuna getirildi. Bir Date nesnesi kullanmak için python kodunu değiştirdim ve sonuçları aynı. Sağlanan gönderiden gelen çözüm, son kullanıcının geçmiş sürümle başlamasını ve ardından geçerli sürüme geçmek için işlevi kullanmasıdır. Bu işlem, tüm süreci komut dosyası olarak kullanıyorum ve geçmiş tarihi bir SQL sorgusundan geldiğinden benim için çalışmaz.
Brad Welborn

1
Anlıyorum. Muhtemelen Esri Teknik Destek ile iletişime geçmelisiniz. Bu şeyi 10.2.2'de arcpy ile çalıştıramadım. Tarih nesnenizi hangi biçimde aldığınız ve bu parametreyi ChangeVersion aracına nasıl sağladığınız belirsiz olduğundan, kodunuzu soru gövdesinde yayınlayabilirsiniz. Bağırsak duygularım ya tarih nesnesini araca sağlamanın doğru bir yolunu bulamıyoruz (bunun için komut dosyası aracı GUI'yi, Tarih türü parametresini kullandım) ya da bu araçla ilgili bir hata var.
Alex Tereshenkov

2
Alex, buna bakmak için zaman ayırdığın için teşekkürler. Görünüşe göre Esri Teknik Destek ile iletişime geçmek bir sonraki adımım. Onlardan bir yanıt aldığımda soruyu güncelleyeceğim.
Brad Welborn

Yanıtlar:


6

Biraz daha araştırma yaptıktan sonra bunun bilinen bir hata olduğunu onayladım. Umarım bu bilgileri buraya eklemek, gelecekte Google'ı veya Esri sitesini kullanarak bulmak kolay olmadığı için bir süre tasarruf sağlayacaktır.

Bug NIM-087927
Gönderilen: 8 Oca 2013
Durum: Açık
http://support.esri.com/en/bugs/nimbus/TklNMDg3OTI3

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.