지리 데이터베이스 파일의 파일을 덮어 쓸 ArcPy가 필요합니까?


13

파이썬 스크립트를 작성하고 있는데 mxd가 있으며 작업 공간은 필요한 모든 파일이있는 지오 데이터베이스 파일입니다. 코드 테스트 및 작성에서 발생하는 문제는 다음 명령에도 불구하고입니다.

arcpy.env.overwriteOutput=True

지오 데이터베이스에 포함 된 모든 파일을 덮어 쓰지 못합니다. 이 문제를 해결하는 방법이 있습니까?


ArcMap에서 Geoprocessing> Geoprocessing Options의 "지오 프로세싱 작업의 출력 덮어 쓰기"를 확인 했습니까?
Baltok

응 나는 했어. 그러나 작동하지 않았다.
Annalisa Minelli

3
데이터에 대한 스키마 잠금을 알고 있습니까? 덮어 쓰기도 방지 할 수 있습니다. 파일 및 개인 지오 데이터베이스는 특히 하나의 피처 클래스에 잠금이 있으면 전체 지오 데이터베이스를 잠그기 때문에 이에 민감합니다.
Baltok

2
"지오 데이터베이스에 포함 된 모든 파일을 덮어 쓰지 못함"이라고 말하면 스크립트가 실패하거나 완료되었지만 기능 클래스를 덮어 쓰지 않는 것입니까?
채드 쿠퍼

PyScripter와 같은 파이썬 IDE에서 코드를 실행 한 다음 ArcMap을 닫으십시오.
geogeek

답변:


16

올바르게 기억하면 덮어 쓰기 출력이 작동하지 않는 특정 상황이 있습니다. 이 경우 새 파일을 작성하기 전에 다음 코드를 사용하십시오.

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

1

파일 지오 데이터베이스가 압축되지 않았는지 확인하십시오 (예 : 읽기 전용).


0

나는 또한이 문제가 있었고 스키마 잠금에 대한 의견이 실제로 도움이되었습니다. 해당 피쳐 클래스가있는 mxd가있는 경우 해당 피쳐 클래스를 잠그므로 삭제할 수 없습니다. 해당 기능 클래스가 포함 된 mxd를 종료하고 동일한 덮어 쓰기 코드를 실행하면 작동하는 것 같습니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.