使用arcpy实现道路中心线要素Buffer转换的代码咨询
arcpy道路中心线转缓冲区实现代码
以下是可直接运行的完整代码示例:
import arcpy # 允许覆盖已存在的输出要素,不需要该规则可删除该行 arcpy.env.overwriteOutput = True # 你已提前定义的要素路径 roads = "c:/base/data.gdb/roadcentreline" roadsoutput = "c:/base/data.gdb/roadcentreline_Buffer" # 调用缓冲区工具,示例缓冲距离为10米,可根据实际需求修改 arcpy.Buffer_analysis( in_features=roads, out_feature_class=roadsoutput, buffer_distance_or_field="10 Meters" )
参数说明与注意事项
- 缓冲距离调整:如果需要按属性字段为不同道路设置不同缓冲宽度,把
buffer_distance_or_field参数的值替换为对应的字段名即可,比如字段名为road_width就写buffer_distance_or_field="road_width";如果使用固定距离,修改引号内的数值和单位即可,支持的单位包括Meters(米)、Kilometers(千米)、Feet(英尺)等,不指定单位时默认使用输入要素空间参考的单位。 - 许可要求:
Buffer_analysis属于ArcGIS Analysis工具箱工具,只需基础级及以上的ArcGIS Desktop/Pro许可即可正常运行。 - 可选参数扩展:如果需要实现单侧缓冲、平头缓冲、融合重叠缓冲区等效果,可以自行添加Buffer工具的可选参数调整,比如增加
line_side="RIGHT"实现仅道路右侧缓冲,line_end_type="FLAT"实现平头缓冲等。
内容的提问来源于stack exchange,提问作者Mr Light
相关产品推荐
相关产品推荐

