我在arcpy库中使用MultipleRingBuffer_analysis时遇到问题。 以前工作的脚本(14天前),我还没有触及它现在突然停止工作并开始返回此错误消息:
MultipleRingBuffer C:\\ Program Files(x86)\\ ArcGIS \\ Desktop10.2 \\ arcpy \\ arcpy \\ analysis.py 854
ExecuteError:ERROR 000210:无法创建输出C:\\ Users \\ Mates \\ AppData \\ Local \\ Temp \\ scratch.gdb \\ union.shp.shp错误000354:名称包含无效字符无法执行(联合)。
我刚刚发现,如果我将这个脚本直接导入arcmap工具箱,它可以正常工作。 它只在从解释器运行时失败(我正在使用pyscripter)
无法执行(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")