เปลี่ยนเป็นรุ่นที่ผ่านมาโดยใช้ ArcPy?


9

ฉันมีปัญหาพยายามที่จะเปลี่ยนแปลงไปเป็นรุ่นที่ทางประวัติศาสตร์เกี่ยวกับระดับคุณลักษณะ SDE ใช้งูหลามและarcpy.ChangeVersion_management

ฉันสามารถเปลี่ยนเวอร์ชั่นเป็นวันที่และเวลาที่ระบุด้วยตนเองโดยใช้ ArcMap ฉันยังสามารถทำให้กระบวนการโดยอัตโนมัติอย่างเต็มที่โดยใช้ ModelBuilder

เมื่อฉันเอ็กซ์พอร์ตโมเดล ModelBuilder ไปยังสคริปต์ python สคริปต์จะรันโดยไม่มีข้อผิดพลาด แต่เวอร์ชันที่เลือกเป็นเวอร์ชันประวัติที่มีวันที่ปัจจุบันและไม่ใช่วันที่ที่เลือกเป็นพารามิเตอร์ date

การใช้ Arcmap และหน้าต่าง Python (การประมวลผลทางภูมิศาสตร์ -> Python) ฉันยังสามารถเรียกใช้รหัสหลามได้โดยไม่มีข้อผิดพลาดและผลลัพธ์จะเหมือนกัน เลเยอร์ประวัติถูกเลือกด้วยวันที่ปัจจุบันไม่ใช่วันที่ที่เลือกไว้เป็นพารามิเตอร์วันที่

นี่คือไวยากรณ์ Python ที่ฉันใช้งานอยู่:

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

ฉันยังได้ผลลัพธ์เดียวกันโดยใช้:

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

ในขณะที่สิ่งต่อไปนี้พ่น RuntimeError:

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

นี่เป็นข้อผิดพลาดที่รู้จักหรือฉันเพิ่งจะทำผิดวิธี?


ฉันเดาว่ามีปัญหากับวิธีที่คุณกำหนดวันที่ พารามิเตอร์ของเครื่องมือคาดหวังว่าค่าจะเป็นวัตถุวันที่ไม่ใช่สตริง ( resources.arcgis.com/th/help/main/10.2/index.html#//… ) มีการโพสต์ฟอรัม Esri ที่เป็นประโยชน์เกี่ยวกับเรื่องนี้: forums.arcgis.com/threads/…
Alex Tereshenkov

บรรทัดของรหัสถูกสร้างขึ้นจากการส่งออก ArcGIS Model Builders ไปยังคำสั่งเมนู Python Script ฉันเปลี่ยนรหัสหลามเพื่อใช้วัตถุวันที่และผลลัพธ์เหมือนกัน การหลีกเลี่ยงจากการโพสต์ที่ให้ไว้คือการให้ผู้ใช้เริ่มต้นด้วยเวอร์ชันประวัติและใช้ฟังก์ชันเพื่อเปลี่ยนเป็นเวอร์ชันปัจจุบัน วิธีแก้ปัญหานี้จะไม่ทำงานสำหรับฉันเนื่องจากฉันกำลังเขียนสคริปต์กระบวนการทั้งหมดและวันที่ในอดีตมาจากแบบสอบถาม SQL
แบรด Welborn

1
ฉันเข้าใจ. คุณควรติดต่อฝ่ายสนับสนุนด้านเทคนิคของ Esri แล้ว ฉันไม่สามารถทำให้สิ่งนี้ทำงานร่วมกับ arcpy ใน 10.2.2 ได้เช่นกัน คุณสามารถเผยแพร่รหัสของคุณได้แม้จะอยู่ในเนื้อความคำถามเนื่องจากไม่ชัดเจนในรูปแบบที่คุณได้รับออบเจ็กต์วันที่และวิธีที่คุณระบุพารามิเตอร์นี้ไปยังเครื่องมือ ChangeVersion ความรู้สึกของฉันคือเราไม่สามารถหาวิธีที่ถูกต้องในการจัดหาวัตถุวันที่ให้กับเครื่องมือ (ฉันเคยใช้เครื่องมือสคริปต์ GUI สำหรับสิ่งนั้นพารามิเตอร์ประเภทวันที่) หรือมีข้อผิดพลาดกับเครื่องมือนี้
Alex Tereshenkov

2
อเล็กซ์ขอบคุณที่สละเวลาดูเรื่องนี้ ดูเหมือนว่าการติดต่อฝ่ายสนับสนุนด้านเทคนิคของ Esri เป็นขั้นตอนต่อไปของฉัน ฉันจะอัปเดตคำถามเมื่อฉันได้รับคำตอบจากพวกเขา
แบรด Welborn

คำตอบ:


6

หลังจากการวิจัยเพิ่มเติมฉันยืนยันว่านี่เป็นข้อผิดพลาดที่รู้จัก หวังว่าการเพิ่มข้อมูลนี้ที่นี่จะช่วยให้ใครบางคนในอนาคตเพราะมันไม่ง่ายที่จะค้นหาโดยใช้ Google หรือไซต์ Esri

Bug NIM-087927
ส่งแล้ว: 8 มกราคม 2013
สถานะ: เปิด
http://support.esri.com/en/bugs/nimbus/TklNMDg3OTI

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.