回答:
ユーザーは、使用するツールのセットを決定する前に、目的を明確に定義する必要があると思います。ModelBuilderとPythonスクリプトは異なるタスクに優れています。いくつかの考え:
単純なテキスト操作はPythonでは非常に簡単で、ModelBuilderでは非常に難しいか不可能です。
たとえば、ファイル名のリストの名前を「m_2010_naip_2310345_nw.img」から「2310345nw.img」に変更するには、os.path
モジュールを使用してPythonで簡単に実行できます。
一方:
ArcGISの範囲内でのみ作業している場合、採用するアプローチを決定する際に考慮すべき考慮事項がいくつかあります。
これらの考慮事項を考えると:
個人的な使用には「どちらが良い」という答えはおそらくないでしょうが、雇用の可能性を長期的に見ているなら、Pythonを学ぶことで、事前にプログラムされたツールの使い方だけを知っている人とは一線を画すでしょう。 ModelBuilderの使用方法を知っているだけです。また、Python for ArcGIS(ArcPy)の範囲を超えて、他の独自のオープンソースGISライブラリ、および多くの非GISライブラリ(データベースなど)を使用して、はるかに多くのタスクとプロジェクトの自動化を開始することもできます。 、画像操作、統計など)。
モデルビルダーは、優れた学習しやすいビジュアルプログラミング言語であり、一般的なGISプログラミングへの入り口です。しかし、いくつかの点でpythonはもっと多くのことができます。
1つの例は、非ESRI GISライブラリの統合です。ほぼすべてのオープンソースGISも同様にpythonでアドレス指定できます(例:GRASS、Sextante、QGIS、SAGA)。ArcViewライセンスしか持っていないので、これは非常に役立ちました。そのため、ArcGISで特定のジオプロセシングツールを使用できないたびに、オープンソースGISで利用可能な他のオプションを探します。次に、これらのOpenSourceツールを使用して、ArcGISツールと組み合わせて、より大きなPythonスクリプトを使用するか、より小さなPythonスクリプトを介してModelBuilderに統合します。
他のメンバーがより多くの利点を挙げられると確信しています。
PythonとArcGISを使用する場合、ArcGISに既にあるものに加えて、Pythonの機能全体を利用できます。この種のパワーと柔軟性が必要かどうかは、希望に依存します。さらに、Pythonなどのプログラミング言語を理解し、実際に活用するには時間がかかります。この投資があなたにとって価値があるかどうかはあなた次第です。ただし、本格的なデータ処理の場合は、実際のスクリプト言語を武器に追加することをお勧めします。
ModelBuilderが見逃す可能性のある機能とは別に、より基本的な議論もあります。一般的に、スクリプトは複雑なワークフローを作成するのにはるかに適しています。コードは上から下に処理され、複雑なタスクは、関数などを使用してより小さなサブタスクに細分化できます。またはオブジェクト。モデルビルダーなどのグラフィカルツールは、大きなスパゲッティになる傾向があります。
私はPythonスクリプトを作成するのが部分的です。少なくとも私にとっては、線をボックスなどに接続することをいじるよりも、コードを書く方が楽しいです。
Pythonスクリプトの優れている点は、自分の都合の良いときにスクリプトを実行するようにスケジュールできることです。完了までに時間がかかるスクリプトがある場合、または通常の営業時間外に実行する必要があるスクリプトがある場合、これは非常に便利です。ここで、スクリプトのスケジュール方法の例を見ることができます。
@Aaronが言及しているように、Pythonスクリプトで簡単にループを設定できます。
Pythonスクリプトを使用して設定する場合は、モデルビルダーでモデルを作成し、Pythonスクリプトとしてエクスポートすることをお勧めします。スクリプトでいくつかのツールを使用する方法を理解するのに問題がある場合、私は時々これを行います。スクリプトをまとめる方法を理解するのに役立ちます。