ArcGIS Pro の ArcPy を統合開発環境から利用する方法

投稿日:2018/1/12 (金) 更新日:

これまで ArcMap の ArcPy (Python 2.7) を記述する統合開発環境(IDE)として、PyScripter を使ってきました。GUI が日本語だしデバッグ実行もできるので便利だったのですが、ArcGIS Pro の ArcPy (ArcGIS Pro 2.0 の場合は Python 3.5) は PyScripter でデバッグ実行することができません。

そこで、PyScripter に代わる ArcGIS Pro 用 ArcPy の IDE を捜す旅に出かけることにしました。

Python 統合開発環境

Python 用の統合開発環境 (IDE) で主立ったものは以下があります。最近コードの実行結果を表示しながらコメントも書けるということで、Jupyter notebook が熱いですね。.NET 開発で知名度の高い Visual Studio でも Python の開発ができます。しかも Community エディションなら個人開発や小規模企業で開発者の人数が少ないならば商用でも無償で利用できます。Visual Studio Code は厳密には統合開発環境ではないですが、Python コードがデバッグできます。

いくつか試した環境のインストール方法を紹介します。

Visual Studio Code

Visual Studio Code は Microsoft が提供しているハイエンドなエディターです。クラウド開発用の強力かつ軽量なコード エディターと謳っています。コード記述用のエディターなので言語のシンタックス ハイライトができたり、プラグインにより機能拡張することもできます。

手順

  1. Visual Studio Code をダウンロードしてインストールします。
  2. Visual Studio Code を起動したら、画面左下の[拡張機能]アイコンをクリックし、"python" キーワードでプラグインを絞り込み、Microsoft  が提供している "Python" を選択してインストールします。
  3. マシンの環境変数 Path に以下を追記します。ユーザー環境変数でもシステム環境変数でも構いません。
    C:\Program Files\ArcGIS\Pro\bin\Python\envs\arcgispro-py3
    C:\Program Files\ArcGIS\Pro\bin\Python\envs\arcgispro-py3\Scripts
  4. Visual Studio Code の settings.json ファイルを開き、章末の JSON コードの記述と差し替えます(システムのデフォルト設定を変更できるファイルはないようです)。
    C:\Users\<ユーザー名>\AppData\Roaming\Code\User\settings.json
  5. Visual Studio Code ウィンドウ左下をクリックし、arcpy の python.exe (C:\Program Files\ArcGIS\Pro\bin\Python\envs\arcgispro-py3\p) を選択します。

    Python 環境の選択

  6. 適当な *.py ファイルを作成し、章末を参考に arcpy を使用するコードを記述し、デバッグ実行 (F5) します。
  7. [ターミナル] タブにコードに実行した結果が出力されていることを確認します。

実行結果

{
    "typescript.locate": "ja",
    "editor.renderWhitespace"; "boundary",
    "terminal.integrated.shell.windows":
    "C:\\Windows\\System32\\cmd.exe",
    "editor.tabSize": 4,
    "editor.detectIndentation": false,
    "python.pythonPath": "C:\\Program&amp;amp;amp;amp;nbsp;Files\\ArcGIS\\Pro\\bin\\Python\\envs\\arcgispro-py3\\python.exe"
}
import arcpy
print(arcpy.Usage("buffer_analysis")) #指定されたツールや関数やシンタックスを返します

 

Visual Studio 2017 Community

Visual Studio 2017 Community で ArcPy を開発できるように環境を整えます。

Visual Sutido 2017 では標準インストールで Python オプションをチェックすると Python の開発もできるようになっています。ウィザードに従うと Python 3.6 がインストールされるのですが、 ArcGIS Pro 2.0 に搭載の Python は 3.5.3 です。しかも Python のインストール パスは ArcGIS Pro のインストール ディレクトリー内なので少々設定が必要です。

手順

  1. Visual Studio 2017 をインストールします。オプション選択で Python も使えるようにチェックしておきます。
  2. Visual Sutudio を起動し、[表示] メニュー → [その他のウィンドウ] →
    [Python 環境]をクリックし、[Python 環境]ウィンドウを表示します。
    
  3. [Python 環境]ウィンドウで [+カスタム] をクリックし、[構成] で以下を設定します。
    • 説明:Python 3.5 (64-bit) ArcGIS Pro
    • プレフィックス パス:C:\Program Files\ArcGIS\Pro\bin\Python\envs\arcgispro-py3
    • インタープリター パス:C:\Program Files\ArcGIS\Pro\bin\Python\envs\arcgispro-py3\python.exe
    • ウィンドウ表示のインタープリター:C:\Program Files\ArcGIS\Pro\bin\Python\envs\arcgispro-py3\pythonw.exe
    • 言語バージョン:3.5
    • アーキテクチャー:64-bit
    • パス環境変数:<なし> 
  4. 記述したら [適用] リンクし、[これを新しいプロジェクトに対する既定の環境にする] をクリックします。
  5. 追加が完了したら、右から 2番目のアイコン(輪)を押して補間DB を更新してください。
  6. ライブラリーの読み込みがインジケーターとして反映されていきます。インジケーターが 100% になったら arcpy サイトパッケージが完全に認識できるようになります。

セットアップは以上です。

Python Intaractive ウィンドウでの実行

  1. Visual Studio → [表示] メニュー → [その他のウィンドウ] →[Python Intaractive ウィンドウ]ウィンドウをクリックして表示します。
  2. import arcpy と入力してエンター キーを押すとインテリセンスが有効になり、エンターを押すとサイト パッケージが読み込まれます。

モジュールを作成してデバッグ実行

  1. Visual Studio → [ファイル] メニュー → [新規作成] → [プロジェクト] を選択し、[新規プロジェクト] ウィンドウで[Python]→[Python アプリケーション]と選択します。プロジェクトを作成するフォルダーは任意に選択してください。
  2. 作成された *.py ファイルに、以下のコードを記述します(ArcPy のコードなら何でも良いです)。
    #coding:cp932
    import arcpy
    pt = arcpy.Point(135,35)
    print(str(pt.X) + "," + str(pt.Y))&amp;amp;amp;amp;lt;
  3. Visual Studio → [デバッグ] メニュー → [デバッグの開始] をクリックします。
  4. コマンド プロンプトに結果が表示され、ますので、任意のキーを押してコードを終了します。

Visual Studio ならインテリセンスも動作します。

Jupyter notebook

Jupyter notebook での arcpy 利用ですが下記サイトによると ArcGIS Pro のインストール パスに半角スペースがあってはいけないと記載がありました。しかし実際には標準の ArcGIS Pro インストール パスでも Jupyter が利用できています(バージョン 2.2 で確認)。

まとめ

機械額集計ユーザーや ArcGIS APiI for Python ユーザーには Jupyter notebook や後継の Jupyter Lab が流行っているようですが、個人的には arcpy はジオプロセシング ツールの作成用途が多いので Visual Studio Code かなという感じです。それぞれインストールして使い勝手の良いものを選んでみてください。

関連記事

-プログラミング, ArcGIS
-

Copyright© WINGFIELD since1981 , 2018 All Rights Reserved.