<\/HEAD>
私たちは海底への旅に出かけますが、ここでの本当のメッセージは、ArcGIS Data Interoperabilityがコードを書くことなくウェブ(またはどこでも)にアクセスし、添付ファイル付きのジオデータベースフィーチャクラスにフィーチャとメディアデータを取り込む能力です。 まあ、ほんの少しだけコードは使いますが、コーダーのように細部に悩む必要はありません。<\/P>
<\/P>
同僚がArcGIS Data Interoperabilityで潜水艇のミッションのCSV位置・時間データと関連メディアコンテンツをまとめてジオデータベースに取り込めるか尋ねてきました。 本番環境ではすべてのデータソースがウェブ上にあります。 問題ありません。 Data Interoperabilityは単なるフォーマットや変換だけでなく、統合も対象であり、コードを書かずに構築できます。<\/P>
<\/P>
<\/P>
<\/P>
Pythonは多くの複雑なETL作業を回避する最終ステップとして登場します。 ETLツールと少しのArcPyの組み合わせは、すべてのインターロペレーターにとって大きな生産性向上となります。 以下の投稿ダウンロードでCSVとメディアソースがどのように非常に簡単に結合されるかを探ってください。以下が全体の「プログラム」です:<\/P>
<\/P>
<\/P>
<\/P>
ArcGIS Data Interoperabilityには優れた「セールスポイント」があります。それはコード化されたワークフローを避け、Workbenchのビジュアルプログラミングパラダイムを使ってデータをAからBへ、望む形で取得できることです。 私はよく同僚にData Interoperabilityで効率的に統合問題を解決する方法を示しますが、彼らが「理解した」と感じるのを見るのはいつも嬉しいことです。課題はコードで取り組む必要はないということです。<\/P>
<\/P>
私たちが避けているのは低レベルのコーディングです。<\/STRONG> ArcGISジオプロセシングツールはPython関数として利用可能です;この方法でジオプロセシングツールを使うことは、ジオプロセシングペインや分析リボンツールギャラリーなどでアクセスできるものをコマンドラインから呼び出すだけです。 もしこれが初めてなら、まずシステムツールボックスからGet Count<\/STRONG>ツールを実行し、その結果をPythonウィンドウで使ってみてください。<\/P><\/P>こちらがツール体験です:<\/P><\/P>
<\/P>
<\/P><\/P>次にカタログペイン履歴ビューで結果を右クリックし、Pythonウィンドウへ送信します:<\/P><\/P>
<\/P>
<\/P><\/P>ツールと同等のPython式が表示されます:<\/P><\/P>
<\/P><\/P>コードは一切書いていません...<\/STRONG>
この話はどこへ向かうかというと、ArcGIS Data Interoperabilityの概念はコアジオプロセシングとは少し異なり、入力および出力のパラメーター<\EM> <\STRONG>は親ワークスペースであることが多く、その中のフィーチャタイプやテーブルではありません。 例えばジオデータベースに頻繁に書き込みますが、その場合ETLツールの出力パラメーターはジオデータベース自体であり、フィーチャクラスやテーブルそのものではありません。ただしこれらはETLツール内で設定されています。
ETLプロセスの前後または途中で強力なArcGISジオプロセシングツールを使いたい場合、それをWorkbench内で行うことが難しい場合があります。
この作業には高レベルなArcGIS Python関数をWorkbench内で使用します。
すぐに簡単で強力な例を示しますが、その前にWorkbench Pythonのヒントをいくつか紹介します。
WorkbenchではPython環境を設定できます;Proのパッケージ管理との衝突を避けるため、デフォルト設定を使用してください。
Tools>FME Options>Translation でProのPython環境を優先する設定になっているか確認してください:

Workbench内でもPython互換性設定がこの優先設定を使用しているか確認してください。

これでArcGIS Python環境が使用可能になりました。
私の場合、ジオデータベース添付ファイルを作成・読み込む必要があります。 Workbenchだけでは添付ファイルリレーションクラスを作成できないため完全には対応できません(ただし後述する方法では可能です)。 データ読み込み前に手動で作成することもできますが、その場合画像をblobデータ化したりリンク識別子管理など頭痛の種になる作業がありますのでArcPyを使いましょう。 手動操作ではETLツールによる新規ジオデータベース作成もできず、それもサポートしたいところです。
例としてWorkbenchは添付ファイル付きフィーチャクラスとそれら読み込み用テーブルを書き出します。処理内容は調査可能ですが、注目すべき要素は完了後に実行されるシャットダウンスクリプトです。 Tool Parameters>Scripting>Shutdown Python Script をご覧ください。
以下が埋め込みスクリプトです:

これは多くないコード量で、いくつかインポートし、各Workbenchセッションで利用可能な辞書から実行時出力パス値へアクセスし、 わずか2行でジオプロセシングツール関数呼び出しによる添付ファイル読み込み処理 を行っています。
これはETLツール内でArcGIS強力なPython環境を統合する素晴らしい方法です。 注意深い方ならワークスペース内にもスクリプト化パラメーターがあることに気づくでしょう。それはArcPyを使わず低レベルコーディング回避とは言えませんが、実行時画像ダウンロード用フォルダー柔軟作成手段として利用しています。 Workbench内Python利用法はいくつかあります が、本稿では単純かつ強力な方法— 作業削減になる箇所にはArcGISジオプロセシングを使うこと — を推奨しています。どうぞお楽しみください!