2017-03-07 9 views
0

여기에 다른 스레드가있는 데 문제가 발생했는데 아무 문제가 적용되지 않거나 솔루션을 제공하지 않아 새로운 스레드를 게시 할 것입니다.덮어 쓰기가 작동하지 않습니다.

기본적으로 필자는 매주 실행되는 스크립트를 작성하여 피쳐 클래스를 셰이프 파일로 변환하여 셰이프 파일 (기술적으로 CPG를 포함한 셰이프 파일과 관련된 8 개의 파일을 업데이트 함)을 업데이트합니다. 현재 기존 파일을 삭제 한 다음 다시 내보내도록 설정했지만 대신 덮어 씁니다. 어떤 이유로 든 덮어 쓸 수는 없습니다. 마지막에 "_1"이 추가 된 동일한 파일을 만듭니다. 내가 어디로 잘못 가고 있니? 감사!

import arcpy, os 
from arcpy import env 
import time 
import smtplib 

arcpy.env.overwriteOutput = True 

connStr = "D:\Jobs\BSA-GIS-Shapefiles\Connections\GIS_Enterprise.sde" 
outWrkSpc = "\\\gis\gisdata\BSA_Shapes" 

inputParcels = "GISEnterprise.EOWNER.CParcel" 
inputParcelAnnoAddr = "GISEnterprise.EOWNER.cParcel_Anno_Address" 
inputPlats = "GISEnterprise.EOWNER.cPlat" 

shpParcels = "CParcel.shp" 
shpParcelAnnoAddr = "cParcel_Anno_Address.shp" 
shpPlats = "cPlat.shp" 


env.workspace = outWrkSpc 

try: 
    arcpy.Delete_management(shpParcels) 
    arcpy.Delete_management(shpParcelAnnoAddr) 
    arcpy.Delete_management(shpPlats) 



    arcpy.FeatureClassToShapefile_conversion(os.path.join(connStr,  
    inputParcels),outWrkSpc) 
    arcpy.FeatureClassToShapefile_conversion(os.path.join(connStr 
    ,inputParcelAnnoAddr), outWrkSpc) 
    arcpy.FeatureClassToShapefile_conversion(os.path.join(connStr 
    ,inputPlats), outWrkSpc) 

나는 마지막 줄을 나누어서는 안됩니다. 그들은 내 코드에 없습니다, 난 그냥 게시물에 서식 문제가 발생했습니다.

+0

[gis.se] 스택 교환이 있음에 유의하십시오. – PolyGeo

답변

0

대신 FeatureClassToShapefile를 사용하여, 나는 CopyFeatures을 사용합니다, 그래서 당신은 명시 적으로 출력의 이름 (바로 출력 작업 공간)에서 지정할 수 있으며 덮어 쓰기됩니다

arcpy.CopyFeatures_management(os.path.join(connStr, inputParcels), os.path.join(outWrkSpc, shpParcels)) 

Feature Class to Feature Class도 여기에 또 다른 완벽하게 적합합니다.

둘 다 입력 및/또는 출력으로 shapefile을 허용합니다.

(한 번에 여러 개의 입력 쉐이프 파일 처리하는 데 사용하도록되어있는) Feature Class To Shapefile에 대한 도움말 페이지에 명시된 바와 같이

: 출력 Shape 파일이 이미 출력 폴더에있는 경우

을 수 를합니다 shapefile 이름을 고유하게 만들려면 끝에 추가하십시오 (예 : 의 경우, rivers_1.shp).

+0

GDB 내부가 아닌 셰이프 파일로 GDB 피쳐 클래스를 내보내려고합니다. 복사 기능이 GDB 피쳐 클래스로 복사하려고하지 않습니까? – user5905246

+0

나는 덮어 쓰기 과정에서 내가 뭘 잘못하고 있는지 궁금해. 나는 미래의 문제를 위해 그것을 필요할지도 모른다. – user5905246

+0

피쳐 클래스를 피쳐 클래스 조작으로 사용하면 파일을 덮어 쓸 수 있지만 피쳐 클래스를 Shapefile으로 조작 할 수는 없습니까? 그게 너가하는 말의 요지 야? – user5905246