Arcpy - 在单个脚本中创建缓冲区并溶解

2 投票
1 回答
4383 浏览
提问于 2025-04-18 02:31

我正在尝试写一个脚本,这个脚本需要一些用户定义的变量。我已经到了最后一步,但似乎无法正确处理“溶解”这个步骤。

目的:这个脚本应该让我定义一个形状文件或图层文件,设置一个缓冲区的距离,然后创建这个缓冲区,接着进行溶解(这一步出问题了),最后保存结果。

这是我目前的代码。

import arcpy
from arcpy import env
env.workspace = "C:\Users\...\Conroe Cut"
fc = raw_input (' What file is being Buffered' + " ")
distance = raw_input (' Buffer Size' + " ")
finalfile = raw_input (' Name of Final File' + " ")
unique_name = arcpy.CreateUniqueName("Results\\"+finalfile)
arcpy.Buffer_analysis(fc, unique_name, distance)
arcpy.Dissolve_management(unique_name, "SINGLE_PART", "DISSOLVE_LINES")
print "Finished with Analysis"

1 个回答

1

你可以用一行代码同时进行缓冲区和合并操作,方法是使用 arcpy.Buffer_analysis。记得要指定 "ALL" 这个参数,这样就会进行合并。这会让你的脚本变得简单很多,也更整洁。

enter image description here


import arcpy

infc = r'C:\path\to\input\shapefile.shp'
outfc = r'C:\path\to\output\shapefile_buffered_dissolved.shp'
bufferDistance = 20

arcpy.Buffer_analysis(infc, outfc, bufferDistance, "", "", "ALL")

撰写回答