ต้องการ ArcPy เพื่อเขียนทับไฟล์ในไฟล์ฐานข้อมูลหรือไม่


13

ฉันกำลังเขียนสคริปต์หลามฉันมี mxd และพื้นที่ทำงานเป็นไฟล์ฐานข้อมูลที่มีไฟล์ทั้งหมดที่ฉันต้องการ ปัญหาที่ฉันพบในการทดสอบและการเขียนรหัสคือแม้ว่าคำสั่ง:

arcpy.env.overwriteOutput=True

ไฟล์ทั้งหมดที่มีอยู่ในฐานข้อมูลภูมิศาสตร์ไม่สามารถเขียนทับได้ มีวิธีแก้ไขไหม


ใน ArcMap คุณตรวจสอบ "เขียนทับผลลัพธ์ของการดำเนินการประมวลผลทางภูมิศาสตร์" ในการประมวลผลทางภูมิศาสตร์> ตัวเลือกการประมวลผลทางภูมิศาสตร์หรือไม่
Baltok

ใช่ฉันทำ. แต่ไม่ได้ผล
Annalisa Minelli

3
คุณทราบถึงการล็อคคีมากับข้อมูลของคุณหรือไม่ ที่สามารถป้องกันการเขียนทับได้เช่นกัน ไฟล์และฐานข้อมูลส่วนบุคคลทางภูมิศาสตร์มีความอ่อนไหวโดยเฉพาะอย่างยิ่งเพราะถ้าหนึ่งคุณลักษณะชั้นมีล็อคมันล็อคฐานข้อมูลทางภูมิศาสตร์ทั้งหมด
Baltok

2
เมื่อคุณพูดว่า "ไฟล์ทั้งหมดที่มีอยู่ในฐานข้อมูลทางภูมิศาสตร์ไม่สามารถเขียนทับ" คุณหมายถึงสคริปต์ล้มเหลวหรือไม่เสร็จสมบูรณ์ แต่เพียงแค่ไม่เขียนทับคุณลักษณะชั้นที่ควร?
Chad Cooper

พยายามเรียกใช้รหัสของคุณจาก python IDE เช่น PyScripter จากนั้นปิด ArcMap
geogeek

คำตอบ:


16

หากฉันจำได้อย่างถูกต้องมีบางสถานการณ์ที่ overwriteOutput ไม่ทำงาน ในกรณีดังกล่าวให้ใช้รหัสต่อไปนี้ก่อนเขียนไฟล์ใหม่:

if arcpy.Exists(fileInQuestion):
    arcpy.Delete_management(fileInQuestion)

1

ตรวจสอบให้แน่ใจว่าไฟล์ฐานข้อมูลภูมิศาสตร์ไม่ได้ถูกบีบอัดเช่นอ่านอย่างเดียว


0

ฉันยังมีปัญหานี้และความคิดเห็นเกี่ยวกับล็อคสคีช่วยจริงๆ หากคุณมี mxd พร้อมกับฟีเจอร์คลาสนั้นมันจะล็อคคลาสฟีเจอร์นั้นดังนั้นจึงไม่สามารถลบได้ หากคุณเพิ่งออกจาก mxd ที่มีคลาสสถานที่นั้นและเรียกใช้รหัสเขียนทับเดิมดูเหมือนว่าจะทำงาน

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