2016-11-18 11 views
1

arcpyライブラリからMultipleRingBuffer_analysisを使用する際に問題があります。円弧多重リングバッファエラー000210:出力を作成できません

MultipleRingBuffer C:\ Program Files(x86)\ ArcGIS \ Desktop10.2 \ arcpy \ arcpy \このスクリプトは、以前のバージョン(14日前)に動作していたスクリプトに触れられていませんでした。 C:\ Users \ Mates \ AppData \ Local \ Temp \ scratch.gdb \ union.shp.shp ERROR 000354:名前に無効な文字が含まれています 実行に失敗しました連合)。

このスクリプトをarcmapツールボックスに直接インポートすると、問題なく動作することがわかりました。 (インタープリターを使用しています)

(MultipleRingBuffer)の実行に失敗しました。

import arcpy 
import csv 
import sys 
import os 


from arcpy import env 
env.workspace = "E:\\BAKALARKA\\databases\\test.gdb" 
input_table = "C:\\temp\\csvTable.csv" 
output = "E:\\BAKALARKA\\databases\\test.gdb\\test1" 
arcpy.env.overwriteOutput=True 


number_of_buffers = 4 
spacing = 1000 
distance = spacing*number_of_buffers 
number_of_sectors = 8 
x_field = 0 
y_field = 0 
angle = 360/number_of_sectors 
buffers = [] 

for x in range(1,number_of_buffers+1): 
    x = x*spacing 
    buffers.append(x) 

print buffers 

##print buffers 
path = "C:\\temp\\csvTable.csv" 

def table(): 
    try: 
     file = open(path,"wt") 
     writer = csv.writer(file) 
     writer.writerow(("x","y","bearing","distance")) 
     for i in range (number_of_sectors): 
      writer.writerow((int(x_field),int(y_field),int(angle*i),int(spacing*(i+1)))) 

     file.close() 


    except: 
     print "Something went wrong :(" 
table() 
## 
## 
## 
arcpy.BearingDistanceToLine_management(input_table,"E:\\BAKALARKA\\databases\\test.gdb\\lines","x","y","distance","METERS","bearing","DEGREES") 
arcpy.MultipleRingBuffer_analysis("E:\\BAKALARKA\\databases\\test.gdb\\origin_point","E:\\BAKALARKA\\databases\\test.gdb\\buffers_output",buffers,"meters") 
arcpy.FeatureToLine_management("E:\\BAKALARKA\\databases\\test.gdb\\buffers_output","E:\\BAKALARKA\\databases\\test.gdb\\buffers_line") 
arcpy.FeatureToPolygon_management(["lines","buffers_line"],"E:\\BAKALARKA\\databases\\test.gdb\\sectors") 
+0

シェイプファイルを入力していないので、エラーメッセージは非常に珍しいですが、エラーメッセージには、ユニオン操作の拡張子が不適切です( '.shp.shp')。 FGDBフィーチャクラスを使用しているときにシェイプファイルへの参照がある理由は何ですか? – Borealis

答えて

0

あなたのスクラッチワークスペースはジオデータベースとして認識されず、フォルダとして認識されます。これは、このジオデータベースが壊れている可能性があります(たとえば、 'gdb'というファイルが見つからないため)。複数リングバッファツールは、エラーに記載されているunionファイルなどの一時ファイルを、shpまたはgdbデータとして書き込みます。それがthiksの場合、スクラッチはフォルダであり、shpファイルを作成します。

あなたのスクラッチフォルダを、別のジオデータベースに設定してみてください。それが正常に動作していることを確認してください(arcpy.env.scratchWorkspace = 'c:/example.gdb')。

関連する問題