错误00865!ArcMap地理处理。栅格转多边形
我正在尝试写一个Python脚本,把图像文件处理成形状文件,然后给这些文件加一个5米的缓冲区。我最开始是在ArcMap的模型构建器里做这个脚本,但现在我想对多个以“LG”开头的图像文件运行它。可是我一直收到错误代码00865,提示说输入的栅格(图像文件)不存在!!我已经检查了文件夹无数次,确实是存在的!这是我的代码:
# Import system modules
import sys, string, os, arcgisscripting
# Create the Geoprocessor object
gp = arcgisscripting.create()
# Load required toolboxes...
gp.AddToolbox("C:/Program Files/ArcGIS/ArcToolbox/Toolboxes/Conversion Tools.tbx")
gp.AddToolbox("C:/Program Files/ArcGIS/ArcToolbox/Toolboxes/Analysis Tools.tbx")
# Script arguments...
folder = "D:\\J04-0083\\IMAGEFILES"
for root, dirs, filenames in os.walk(folder): # returms root, dirs, and files
for filename in filenames:
filename_split = os.path.splitext(filename) # filename and extensionname (extension in [1])
filename_zero = filename_split[0]
try:
first_2_letters = filename_zero[0] + filename_zero[1]
except:
first_2_letters = "XX"
if first_2_letters == "LG":
Output_polygon_features = "D:\\J04-0083\\ShapeFiles.gdb\\" + "SH_" + filename + ".shp"
# Process: Raster to Polygon...
InRaster = filename_zero + ".png"
gp.RasterToPolygon_conversion(InRaster, Output_polygon_features, "SIMPLIFY", "VALUE") # FILL IN THE CORRECT VALUES!
Distance__value_or_field_ = "5 Meters"
Raster_Buffer_shp = "D:\\J04-0083\\ShapeFiles.gdb\\" + "SB_" + filename + ".shp"
# Process: Buffer...
gp.Buffer_analysis(Output_polygon_features, Raster_Buffer_shp, Distance__value_or_field_, "FULL", "ROUND", "NONE", "")
有没有人知道为什么它不工作呢?谢谢!
1 个回答
0
我不知道你是从哪里运行这个脚本的,但当你调用 gp.RasterToPolygon_conversion
时,你只给了它文件的 名字,而不是完整的路径。如果文件不在当前工作目录里,它就找不到这个文件。试着把这一行替换成:
InRaster = filename_zero + ".png"
用:
InRaster = os.path.join(root, filename_zero + ".png")