PythonはArcGISのタスクをスクリプト化するために最も人気のある言語の一つであり、おそらく学習曲線が比較的緩やかで多くのことができるからでしょう。PythonはArcGIS Desktopに統合されています。Pythonアドインやツールボックスを作成でき、ArcMapではスクリプトファイルを読み込む代わりに直接PythonのラベルやMapTip式を入力できます。これらのオプションがあるのは便利です。<\/P>
<\/P>
Pythonへの愛が溢れる中で、一部ではModelBuilderはArcGIS自動化の世界で忘れられたヒーローだと言われています。彼らはModelBuilderがPythonに注がれるスポットライトのもっと大きな部分を受けるべきだと主張しています。私はGIS専門家は視覚的思考者でスクリプトを受け入れる人たちだと常に感じており、だからこそ彼らはPythonとModelBuilderの両方を使ってArcGIS作業を行うのは理にかなっていると思います(多くの皆さんもそうしているでしょう)。<\/P>
しかし、もしPython対ModelBuilderの議論があるなら、私はどちらも価値があり役割があると言って中立を保ちます。年上の子供が望まれない侵入者へのえこひいきを怒って非難するとき、賢い親は「私たちはあなたの弟をあなたと同じくらい愛している」と答えることを知っています。そしてModelBuilderとPythonも同様です。<\/P>
両方ともGIS分析、データ管理、マッピングワークフローを自動化するためのツールです。Alexと小さなSamとは違い、彼らは仲良く一緒に遊ぶこともできます(モデルにPythonスクリプトツールを追加でき、モデルをPythonスクリプトにエクスポートすることも可能です)。<\/P>
ModelBuilderは「ビジュアルプログラミング言語」と呼ばれることがあります。これは興味深い考え方で、ModelBuilderで変数作成、データセットの反復(ループ)、前提条件設定、大きなモデル内にサブモデルをネストする(スクリプト内から別のスクリプトを呼び出すような)など、多くのプログラミング技術に似たことができるからです。<\/P>
もしModelBuilderが置き去りにされていると感じているなら、少し光を当てましょう。なぜモデルを作成したいのでしょうか?<\/P>
<\/A>ワークフローの視覚化<\/STRONG><\/P><\/P>モデルは特に複雑なワークフローを設計・共有するときに非常に役立ちます。ホワイトボードに描くこともできますが、モデルにツールをドラッグ&ドロップすることで効率性が向上します—考えながら動的にワークフローを構築・調整できます。モデルツールや要素を簡単に並べ替えたり、テキストラベルでフローや作成されるデータセットを文書化したりできます。他者と協力するとき、スクリプトを読みスクロールするよりもモデルでワークフローについて伝える方が効果的です。モデルは地図のようなもので、人々を引き込み理解を深めるグラフィカルな媒体です。モデルをグラフィックやPDFファイルとしてエクスポートし、会議で配布資料として持参することもできます。<\/P><\/P>結果の探索とシナリオテスト<\/STRONG><\/P><\/P>モデルはArcGIS Desktop(ArcGIS ProまたはArcMap)内から実行するため、結果をすぐに確認できます。このようにモデルは日々のGIS作業の一部です。モデル出力から新たな調査課題が生まれた場合、モデルパラメーター(例:ツールの入力データセットや値)を変更してプロセスまたは全体モデルを再実行し、その結果を探るだけです。<\/P><\/P>スクリプトでも可能ですが、このような反復作業はそれほど簡単ではありません。スクリプトファイルを開き編集すべきコード行を見つけて修正し保存し実行し、その後ArcMapを開いて出力や他レイヤーを追加する必要があります。簡単にするにはArcGIS内のPythonウィンドウにスクリプトを読み込んで始める方法があります。<\/P><\/P>問題点の特定<\/STRONG><\/P><\/P>モデルのクールな点は実行中その進行状況が目視できることです。各プロセスが実行されるとツールが赤く点滅し、処理完了時には要素下にドロップシャドウが表示されます。エラー発生箇所は処理がそこで停止するためすぐ分かります。ドロップシャドウがない最初のプロセスを見つければよいのです。<\/P><\/P>エラー修正後、その地点からモデル実行を続けられます—最初からやり直す必要はありません。不成功だったプロセス内ツール要素を右クリックして「実行」を選択してください。スクリプトで問題箇所特定するより速い場合があります。<\/P><\/P>既存スキルの活用<\/STRONG><\/P><\/P>モデル作成がスクリプトより明白に優れている理由は、Pythonや他言語などスクリプト技術が不足していて学ぶ時間や余裕がない場合です。ただ最近では基本的なPythonスキル習得は比較的容易です。Esriだけでも無料チュートリアル、プレゼンテーション、研修セミナー、無料・低価格ウェブコースがあります。ArcGISジオプロセシングツールは学習用として参照・修正可能なPythonコード断片も出力します。ただし高度なワークフロー自動化には基本的なPythonスキルだけでは不十分です。<\/P><\/P>モデルはジオプロセシングツールを連結して実行しますので、ArcGISユーザーならおそらく既にモデル作成に必要なスキルがあります。正しくモデル設定するには他タスク同様時間と計画が必要です。データ、環境設定、ツールパラメーター、望む出力内容など理解しなければなりません。モデルにはニュアンスや高度機能もあり自己学習が必要ですが、多くのリソースがあります(この投稿末尾参照)。<\/P><\/P>結局、ArcGISワークフロー自動化にスクリプトかモデルか選ぶ基準は、自分が最も快適だと感じる方法によります。Pythonは論理駆動型テキストベースツールでありModelBuilderは論理駆動型ビジュアルツールです。文化的嗜好として素晴らしい小説を読みたい時もあれば美しい絵画を見る時もあります。同様に時にはスクリプトを書きたい時もあればモデル作成したい時もあります。ArcGISの美点は両方ともArcGIS Desktop内で簡単にできることです。<\/P>関連投稿:<\/P>ArcGIS Proユーザー向けModelBuilder 101<\/A>ModelBuilder 101 (ArcMap)<\/A>\n\nModelBuilderについてさらに学ぶためのリソース:<\/LI>Esri トレーニングオプション<\/A>ArcGIS ヘルプ (ArcGIS Pro<\/A>, ArcMap<\/A>)\nModelBuilderについてさらに学ぶためのリソース:<\/P>Python ウェブサイト<\/A>Esri Python トレーニングオプション<\/A>
\nModelBuilderについてさらに学ぶためのリソース:<\/P>
サインインしたメンバーは投稿、更新のフォローなどができます。初めてですか?無料アカウントを登録してください。
Find useful guides, FAQs, and documents to help you navigate and make the most of Esri Community.