2017-03-07 16 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] Stack Exchangeがあることにご注意ください。 – PolyGeo

答えて

0

代わりのFeatureClassToShapefileを使用して明示的に出力の名前(だけでなく、出力ワークスペース)をspecifiyすることができ、それが上書きされますので、私は、CopyFeaturesを使用します。

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

Feature Class to Feature Classは、ここにも、別の完全に適しています。

両方とも、入力および/または出力としてシェープファイルを受け入れます。

(ワンステップで複数の入力シェープファイルを処理するために使用されるようになっている)Feature Class To Shapefileのヘルプページに記載されているとおり:

出力シェープファイルが既に出力フォルダ内に存在する場合、数 意志最後にシェイプファイル名を一意にする( の場合はrivers_1.shp)。

+0

GDBのフィーチャクラスをGDBの内部ではなくシェープファイルにエクスポートしようとしています。コピー機能はGDBフィーチャクラスとしてコピーしようとしませんか? – user5905246

+0

また、私が上書き処理に間違っていることについても興味があります。私は将来の問題のためにそれが必要かもしれません。 – user5905246

+0

フィーチャクラスからフィーチャクラスへの操作でファイルを上書きできますが、フィーチャクラスからシェイプファイルへの操作はできません。それはあなたが言っていることの要点ですか? – user5905246

関連する問題