【问题标题】:Applying multiple buffers to roads through arcpy通过 arcpy 将多个缓冲区应用于道路
【发布时间】:2019-11-06 19:32:02
【问题描述】:

我希望将 100、200、300 和 400 米的多个缓冲区应用于地理数据库的道路要素类。我在执行工具时一直遇到错误。

这是我的代码:

distances = [100, 200, 300, 400]
arcpy.env.workspace = r"C:\Users\public\Desktop\python\data\NewGeodatabase.gdb"
for distance in distances:
     arcpy.Buffer_analysis("roads", "roads_"+ str(distances) + "buff", distances, "FULL", "ROUND", "All")

【问题讨论】:

  • 请包含错误

标签: python buffer arcpy


【解决方案1】:

看起来问题是因为在创建缓冲区时使用 distances 而不是 distance

正确的代码是

distances = [100, 200, 300, 400]
arcpy.env.workspace = r"C:\Users\public\Desktop\python\data\NewGeodatabase.gdb"
for distance in distances:
     # Change is on the following line - distances => distance
     arcpy.Buffer_analysis("roads", "roads_"+ str(distance) + "buff", distance, "FULL", "ROUND", "All")

如果您想为每个缓冲区分别定义每个距离的单位,您需要将 distances 作为字符串列表,其中每个字符串都有值和有效单位,即

distances = ["100 Meters", "200 Miles", "300 Kilometers", "400 Feet"]

【讨论】:

    猜你喜欢
    • 2021-12-16
    • 2015-04-22
    • 1970-01-01
    • 2021-11-23
    • 1970-01-01
    • 2012-02-04
    • 2014-01-30
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多