Arcpy多环缓冲区错误000210:无法创建输出
问题描述:
我有使用Arcpy库中的MultipleRingBuffer_analysis问题。以前的工作(14天前),我还没有碰它现在突然停止工作,并开始返回此错误信息:Arcpy多环缓冲区错误000210:无法创建输出
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")
答
看起来您的临时工作空间不被识别为地理数据库,而是作为文件夹识别。这可能意味着此地理数据库已损坏(例如,因为它错过了名为'gdb'的文件)。 Multiple Ring Buffer工具会将错误中提到的临时文件(如联合文件)写为shp或gdb数据。如果它认为scratch是一个文件夹,它将写入shp文件。
尝试将您的临时文件夹设置为您确定可以使用的另一个地理数据库(arcpy.env.scratchWorkspace = 'c:/example.gdb'
)。
错误消息非常罕见,因为您没有输入任何形状文件 - 但错误消息指示联合操作的扩展名('.shp.shp')不合适。任何想法为什么在使用FGDB要素类时引用shapefile? – Borealis