モデル/スクリプト ツール ギャラリーへの投稿を作成するときに使用できるチェックリストを次に示します。以下のチェックリストでは、ローカル データとは、ルート フォルダまたはそのサブフォルダにあるデータです(「投稿に関するガイドライン」を参照)。

ツールとツールボックスのドキュメント化

ツールとツールボックスについては適切に説明する必要があります。詳細については、Desktop のヘルプ トピック「ツールおよびツールボックスのドキュメント化の概要」を参照してください。

全般

このチェックリストは、すべての投稿に適用されます。モデル、スクリプト、およびマップ ドキュメント用のチェックリストについては後述します。

説明 注意が必要な理由 対処方法
zip ファイルは 30MB 以下にします。 投稿のファイル サイズ上限は 30MB です。 不要なデータ、フィールド、リプレゼンテーション、およびドメインを削除します。使用するデータセットを小さくします。
zip ファイルにはルート フォルダのコンテンツではなくルート フォルダを含めます。 投稿に関するガイドライン」を参照してください。この方法でデータの上書きを防ぎます。 zip ファイルには、ルート フォルダの個々のコンテンツではなく、ルート フォルダを追加します。
ケース スタディ、汎用ツール、サービス サンプルというに投稿のカテゴリに従って、ツールボックスに名前を付けます。 投稿に関するガイドライン」を参照してください。この命名規則を使用すると、ツールをすぐに使用できるか、まず検査と学習が必要かをユーザが判断できます。 ツールボックスを右クリックし、[プロパティ] をクリックし、ツールボックスの名前とラベルを変更します。
ツールボックスにエイリアスを指定します。 ツールボックスのエイリアスは、スクリプトでツールを一意に識別するために使用されます。 ツールボックスを右クリックし、[プロパティ] をクリックして、ツールボックスにエイリアスを指定します。詳細については、Desktop のヘルプ トピック「ツールボックスの名前の変更:名前、ラベル、エイリアス」を参照してください。
標準のサブフォルダ名を使用します(ToolData、Doc、Scripts、および Scratch)。 投稿に関するガイドライン」を参照してください。全員が同じ命名規則に従うと、リソースの検索が簡単になります。 データを含むサブフォルダの名前を変更する場合、元のサブフォルダ名を使用するマップ レイヤとツールを再設定します。
scratch フォルダがある場合、データは含めないでください。 投稿に不要なデータは含めないでください。 scratch フォルダのデータを削除します。
不要なフィールド、リプレゼンテーション、ドメイン、テンポラリ データなどのデータを削除します。 不要なアイテムで投稿のサイズが大きくなる可能性があります。不要なフィールドが多すぎると、テーブルが見づらくなります。 不要なフィールド、リプレゼンテーション、ドメイン、およびテンポラリ データを削除します。

モデル

説明 注意が必要な理由 対処方法
モデルは相対パス オプションをオンにして保存します。 絶対パスを使用すると(オプションをオフにすると)、ダウンロード後に、モデルが使用するデータが見つからなくなります。 モデルを右クリックし、[プロパティ] をクリックし、[全般] タブをクリックします。ダイアログ ボックスの下部にある [相対パスで保存] チェックボックスをオンにします。詳細については、Desktop のヘルプ トピック「パスの説明(絶対パス、相対パス、UNC、URL)」を参照してください。
すべてのデータ変数はローカル データを参照する必要があります。 すべてのデータは ToolData フォルダに配置し、ファイル ジオデータベースは ToolData フォルダに配置します。データ変数が ArcMap ドキュメントのレイヤを参照する場合、そのレイヤはローカル データを参照する必要があります(以下のマップ ドキュメントのチェックリストを参照)。 データを ToolData フォルダにコピーし、ModelBuilder でデータ変数を開いて、ToolData フォルダにコピーしたデータのパスを入力します。
SDE データを使用しないでください。 ツールのユーザはこの投稿の SDE データベースに接続できません。 ToolData フォルダにファイル ジオデータベースを作成してから、[フィーチャのコピー(Copy Features)] または [行のコピー (Copy Rows)] ツールを使用して、SDE のデータをこのローカル ファイル ジオデータベースにコピーします。ローカル ファイル ジオデータベースのデータを使用するように、すべてのモデル変数を再設定します。
レイヤ シンボル表示ファイル(.lyr)はローカルにする必要があります。 モデルがレイヤ シンボル表示ファイル(.lyr)を使用して出力のシンボル表示を定義する場合、レイヤ ファイルを(ToolData フォルダの)ローカルにする必要があります。 レイヤ ファイルを ToolData サブフォルダにコピーし、レイヤ ファイルを使用するモデル変数を再設定します。
参照されるカスタム ツール(作成するモデル/スクリプト ツール)は、ローカル ツールボックス内にあります。 カスタム モデルまたはスクリプト ツールを参照(使用)するモデル スクリプトが別のツールボックス内にある場合、参照されるツールボックスはローカルにする必要があります。 アプリケーション(ArcMap など)を終了します。参照されるツールボックスをルート フォルダにコピーし、元のツールボックスの名前を変更します。ArcMap を起動し、名前を変更したツールボックス内のツールを使用するすべてのモデルを編集します。名前を変更したツールボックスのツールは、無効なツールとして表示されます。無効なツールをダブルクリックし、そのツールを含むローカル ツールボックスを参照します。ローカル ツールを使用するようにモデルを修正したら、元のツールボックスの名前を変更します。詳細については、Desktop のヘルプ トピック「モデルの修復」を参照してください。
「孤立」出力データのモデルを確認します。 「孤立」出力データはモデルによるデータ出力ですが、中間パラメータまたは出力パラメータではいけません。このようなデータはモデルの実行後も残り、出力ワークスペースがユーザのコンピュータに存在しない場合にエラーが発生することがあります。 すべての出力データは、中間パラメータまたはモデル パラメータにする必要があります。詳細については、Desktop のヘルプ トピック「中間データの管理の概要」を参照してください。
モデルの名前が、デフォルトのツール名(たとえば、Model 1)ではいけません。 ツールには、名前とラベルの両方があります。デフォルト名(「Model」、「Model 1」など)では、ユーザがモデルのことを理解できません。 モデルを右クリックし、[プロパティ] をクリックします。実質的な名前とラベルを指定し、デフォルト名は使用しないでください。
モデル画像がローカルです。 モデル エレメントは、楕円または長方形ではなく画像で表示できます。この画像ファイルはローカルにする必要があります。そうしないと、ModelBuilder に画像が表示されません。 画像を Doc サブフォルダに配置し、モデルのすべての画像に Doc サブフォルダの画像を使用するように再設定します。

スクリプト ツール

説明 注意が必要な理由 対処方法
ツールは、相対パス名オプションをオンにして保存します。 スクリプト ツール パラメータは、シンボル表示レイヤ ファイルなどのデータを参照できます。絶対パスを使用すると(オプションをオフにすると)、ダウンロード後に、スクリプト ツール パラメータのプロパティが使用するデータが見つからなくなります。 スクリプト ツールを右クリックし、[プロパティ] をクリックし、[一般] タブをクリックします。ダイアログ ボックスの下部にある [相対パスで保存] チェックボックスをオンにします。詳細については、Desktop のヘルプ トピック「パスの説明(絶対パス、相対パス、UNC、URL)」を参照してください。
スクリプトに絶対パスは使用しないでください。 そのパスはユーザのコンピュータに存在せず、スクリプトは失敗します。 相対パスを使用し、テンポラリ ワークスペースを検索する方法については、Desktop のヘルプ トピック「Python スクリプトを共有する方法」を参照してください。
AddToolbox または ImportToolbox 関数を使用してシステム ツールボックスを追加する必要はありません。 システム ツールボックスは ArcGIS インストール ディレクトリにあります。明示的に追加する必要はありません。ユーザ システムで自動的に検索されます。パスは絶対パスのため、追加する必要はありません。 インストール ディレクトリを検出する必要がある場合、GetInstallInfo 関数を使用します。
ツールの名前が、デフォルトのツール名(たとえば、Script 1)ではいけません。 スクリプト ツールには、名前とラベルの両方があります。デフォルト名では、ユーザがツールについて理解できません。 ツールを右クリックし、[プロパティ] をクリックします。実質的な名前とラベルを指定し、デフォルト名は使用しないでください。
SELECT ステートメントを構築する場合、AddFieldDelimiters 関数を使用します。 field と [field] という 2 つのクエリ構文があります(データベース フォーマットによって異なります)。適切なフォーマットを使用しないと、ツールが失敗します。 AddFieldDelimiters 関数の Desktop ヘルプ トピックを参照してください。
適切なエラー処理を使用します(try/except ブロックと traceback)。 各エラーが発生した理由を理解しやすくなります。 Desktop のヘルプ トピック「Python でのエラー処理」を参照してください。
既知のエラーについては、AddIDMessage 関数メソッドを使用します。 AddIDMessage 関数では、9.3 で導入されたエラー コードとともに、エラーとその解決策の説明へのリンクが表示されます。 AddIDMessage 関数の Desktop ヘルプ トピックを参照してください。
コードに適切なコメントを付けます。コードが読みやすくなります。 ユーザはスクリプトの実行内容を理解したいものです。その希望に応え、スクリプト コードを読みやすく詳細に記載します。 コードにコメントを追加します。
製品と拡張機能のライセンスを確認します。 スクリプトに、ライセンスされていないツールを使用する場合、ツールの実行時には常にエラー メッセージが表示されます。ただし、このエラー メッセージは処理の数分後に表示されることもあります。ベスト プラクティスは、コード全体を実行する前に、必要なライセンスについて確認することです。 CheckProduct および CheckExtension 関数については、Desktop のヘルプ トピックを参照してください。

マップ ドキュメント

説明 注意が必要な理由 対処方法
マップは、相対パス オプションをオンにして保存します。 レイヤは破損します(レイヤのデータ ソースは再設定する必要があります)。 ArcMap で、[ファイル] メニューの [マップ ドキュメント プロパティ] をクリックします。オプション [データ ソースを相対パスで保存] をオンにします。詳細については、Desktop のヘルプ トピック「パスの説明(絶対パス、相対パス、UNC、URL)」を参照してください。また、マップ コンテンツの統合ツール(バージョン 10 で導入)を使用して、マップ ドキュメントとデータのフォルダを作成する方法も参照できます。
マップ レイヤはローカル データを参照します。 レイヤは破損します(レイヤのデータ ソースは再設定する必要があります)。 データを Tooldata フォルダにコピーします。[レイヤ プロパティ] ダイアログ ボックスの [ソース] タブの [データ ソースの設定] ボタンをクリックして、ArcMap の各レイヤ データ ソースを再設定します。
[結果] ウィンドウから古い結果を削除します。 結果が多くなると、マップ ドキュメントが大きくなり、開く速度が遅くなります。 Desktop のヘルプ トピック「結果ウィンドウの使用」を参照して、古い結果を削除します。

Filed under: