Здесь работают рудиментарные навыки Python/ArcPy, не знаю, где я ошибаюсь.
Попытка сделать простой случайный выбор 10 объектов из слоя, который будет обозначен размещением «1» в другом атрибуте, отведенном для этой цели. Основная идея состоит в том, чтобы использовать random.sample() для создания случайного списка из 10 FID, а затем проверить, есть ли каждый FID в списке. NewID — это атрибут, содержащий значения FID. Это то, что у меня есть в блоке кода:
import random
def randSelTen():
featurecount = arcpy.GetCount_management("layer_name")
linecount = int(str(featurecount))
lst_oids = range(0, linecount)
rand_lines = random.sample(lst_oids, 10)
if !NewID! in rand_lines:
return 1
else:
return 0
Я продолжаю получать синтаксическую ошибку в условном выражении, содержащем !NewID!, и что бы я ни делал, я не могу это исправить. Если я заменю !NewID! с целым числом скрипт запускается, но, конечно, результат плохой. Любая помощь приветствуется... спасибо!
!NewID!
вrand_lines
, вы должны отформатировать ее как строку:if '!NewID!' in rand_lines'
- person toti08   schedule 11.10.2018