1
QGIS Modeler if / else条件、Modelerのカスタムスクリプト
モデル内に単純なif / else関数を作成し、それが可能かどうかを知りたいのですが。 これを行うには、「セグメントレイヤー」の入力が選択されている場合、「セグメント化(平均シフト)」を実行する必要がなく、次のプロセスの入力として「セグメントレイヤー」を使用します。 'Segmentation(meanshift)'の入力は次のとおりです。 ジョセフの答えを実装しようとした後の更新:次のコードを使用してこのエラーが発生しました 更新2、パラメーターを置き換えた後、28行目でエラーが発生しましたこれは「else:」でした ##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 更新して動作します:)数回試行して、Josephの助けを借りてこのコードが魅力的に機能するようになりました。最後のトリックは、2つのオプション値を「None」に置き換えることでした。 ##Example=name ##BGREN=optional raster ##Segment_Layer=optional vector ##output=output …