概要
Python スクリプトとカスタム ジオプロセシング ツールおよびツールボックスを解析して、ArcGIS Pro でサポートされていない機能を特定します。
ArcGIS Pro と ArcGIS 10.x には違いがあります。そのため、一部のカスタム ツールおよびスクリプトでは、ArcGIS Pro で正常に稼働するよう変更されている場合があります。これらの変更には、ArcGIS Pro でサポートされていないジオプロセシング ツールと環境、arcpy.mapping モジュールの arcpy.mp モジュールへの置き換え、サポートされていないデータ形式 (パーソナル ジオデータベースなど)、Python 2 から Python 3 へのアップグレードがあります。
使用法
問題が見つかると、ツールのメッセージに警告として表示されます。
ArcGIS Pro では Python 3 を使用します。多くのスクリプトは、そのまま機能し続けますが、機能しないものもあります。
ArcGIS Pro で機能するよう Python スクリプトを更新するヒントについては、「10.x から ArcGIS Pro への Python の移行」をご参照ください。
Python 2 から Python 3 への移行に関する問題については、[ArcGIS Pro で実行するツールの分析 (Analyze Tools For Pro)] で Python 2to3 ユーティリティを使用して Python コードを確認します。Python 2to3 ユーティリティを使用すると、一連のフィクサーを実行して Python 2.x コードを確認できます。これにより、コードを有効な Python 3.x コードに変換する方法がわかります。
Python 2to3 ユーティリティは、コマンド プロンプトから直接使用できます。このユーティリティには、[ArcGIS Pro で実行するツールの分析 (Analyze Tools For Pro)] を使用して利用できない Python コードを解析するためのオプション セット (特定のフィクサーのみの適用や適切なコードの更新など) が数多くあります。詳細については、https://docs.python.org/3/library/2to3.html をご参照ください。
構文
arcpy.management.AnalyzeToolsForPro(input, {report})
パラメーター | 説明 | データ タイプ |
input | 入力として、ジオプロセシング ツールボックス、Python ファイル、またはツール名を指定できます。 メモ:ツール名を指定すると、ツールはまず arcpy.ImportToolbox 関数を使用して読み込まれ、認識される必要があります。ツール名にはツールボックスのエイリアスを含めます。 | Toolbox; String; File |
report (オプション) | すべての問題を含む出力テキスト ファイルです。 | File |
コードのサンプル
ArcGIS Pro 用の Python スクリプトを解析します。
import arcpy
arcpy.AnalyzeToolsForPro_management('c:/tools/scripts/myutils.py', 'c:/temp/analyze_report.txt')
print(arcpy.GetMessages(1))
ArcGIS Pro 用のジオプロセシング ツールボックスを解析します。
import arcpy
arcpy.AnalyzeToolsForPro_management('c:/tools/scripts/mytools.tbx', 'c:/temp/analyze_report.txt')
print(arcpy.GetMessages(1))
ArcGIS Pro 用のジオプロセシング ツールを解析します。ツールを解析するには、まず ImportToolbox を使用してツールボックスをインポートし、次に、エイリアスを含むツール名を [ArcGIS Pro で実行するツールの分析 (Analyze Tools For Pro)] に渡します。
import arcpy
arcpy.ImportToolbox('c:/tools/scripts/mytools.tbx')
arcpy.AnalyzeToolsForPro_management('mytool_tools', 'c:/temp/analyze_report.txt')
print(arcpy.GetMessages(1))
ライセンス情報
- Basic: はい
- Standard: はい
- Advanced: はい