Tôi muốn thực hiện một chức năng đơn giản nếu / khác trong Mô hình của mình và tôi muốn biết liệu nó có thể hay không.
Tôi muốn điều này thực hiện điều đó nếu Đầu vào cho 'Lớp phân đoạn' được chọn mà nó không phải thực hiện 'Phân đoạn (meanshift)' và sử dụng 'Lớp phân đoạn' thay vào đó làm Đầu vào cho Quy trình tiếp theo.
Đầu vào cho 'Phân đoạn (meanshift)' như sau
Cập nhật sau khi cố gắng thực hiện câu trả lời của Joseph: Tôi đã sử dụng đoạn mã sau và gặp lỗi này
Cập nhật 2, sau khi thay thế các tham số tôi gặp lỗi trong dòng 28, đây là 'other:' stand
##Example=name
##BGREN=optional raster
##Segment_Layer=optional vector
##output=output vector
if BGREN is not None:
processing.runalg('otb:segmentationmeanshift', \
-BGREN\
-0\
-70\
-70\
-0.1\
-100\
-100\
-0\
-0\
-0\
-'True'\
-'False'\
-1\
-0.1\
-'Layer'\
-'DN'\
-1024\
-1\
-0\
-output)
else:
output=Segment_Layer
Cập nhật nó hoạt động :) sau một vài lần thử và với Joseph giúp mã này hiện hoạt động như một bùa mê, mẹo cuối cùng là thay thế hai giá trị tùy chọn bằng 'Không'.
##Example=name
##BGREN=optional raster
##Segment_Layer=optional vector
##output=output vector
if BGREN is not None:
processing.runalg('otb:segmentationmeanshift', \
BGREN, \
0, \
70, \
70, \
0.1, \
100, \
100, \
0, \
0, \
None, \
True, \
False, \
1, \
0.1, \
'Layer', \
'DN', \
1024, \
1, \
None, \
output)
else:
output=Segment_Layer