Применение нескольких буферов к дорогам через arcpy - PullRequest
0 голосов
/ 06 ноября 2019

Я собираюсь применить несколько буферов 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")

1 Ответ

0 голосов
/ 07 ноября 2019

Похоже, что проблема заключается в использовании 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"]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...