ArcGIS Pythonコードを共有するためのファイル構成


13

ArcGIS Pythonコードとジオプロセシングツールを共有するための最適な組織構造は何ですか?または、コードの共有とツールの共有は別々の質問ですか?

Esriには、Arcgis 9.3および10.0向けに公開されているツール構造の配布方法があります

配布ツールのフォルダー構造の例

しかし、他の場所Also do avoid distributing your code the way its done in Arc Scripts or Code Galleriesでは、ネイティブpython Distutilsを好むようなことを言っています。Esriには10.1(ref)に対応する配布ツールの記事がないようで、反論にある程度の重みを与えています。

GIS.seとは何ですか?

更新:おそらく遅すぎるかもしれませんが、この質問の核心は、共有に使用されるツール(arcgis online、googleドライブ、dropbox、github、bitbucketなど)が登場する前のファイルおよびフォルダー構造のベストプラクティスに関するものです。演奏する。

Update2:そして、見かけ上孤児のdistutilsアプローチについて誰も発言しませんか?


このための実行可能なソリューションを思いついたことがありますか?
traggatmot

@traggatmotいいえ。今日、私はEsriのGithubサイトで、最も多くの星および/または最も活発な貢献履歴を持つpython-with-toolboxes-projectを調べます(このQは共有と再利用に関するものなので、2番目に重点を置きます)
マットウィルキー

回答:


10

10.1および10.2では、説明したToolshareフォルダーは文書化されていないようです。

これは、現在の推奨事項は、Toolshareフォルダーではなくジオプロセシングパッケージを使用することだと思われるためです。

ジオプロセシングパッケージは、[結果]ウィンドウの1つ以上の結果から作成されます。結果の作成に使用されるすべてのデータとツールは、パッケージに含まれています。テキストドキュメント、スライドショー、圧縮ZIPファイルなどの追加ファイルをパッケージに追加できます。同僚がパッケージを開梱して、すぐにその内容の使用を開始します。

組織的なベストプラクティスの観点から、ツールボックスとそれらが使用するPythonコードを保存する方法は、それらの配布を支援するために使用できるのと同じフォルダー構造、つまりToolshareフォルダー構造にあります。


...「組織構造とは」に対する答えは、ジオプロセシングパッケージファイルを手動で解凍し、その内部を調べることで発見できることを意味すると思います。
マットウィルキー

私は* .zipに名前を変更して* .gpkを解凍しようとしませんでしたが、あなたはそれを行うことができると理解しています。私はそれがtoolshareフォルダのようにひどく見えると思う。
PolyGeo

5

私はGoogleドライブを使用して、同僚間でPythonスクリプトとスクリプトツールを共有しています。すべてのスクリプトは、リンクされたすべてのスクリプトツール(およびモデル)を含むArcGISツールボックスと共に共有フォルダーに保存されます。このアプローチにはいくつかの利点があります。1)すべてのユーザーが同じスクリプトバージョンで作業する、2)書き込みまたは読み取り専用の特権を設定できる、3)たとえば、異なる職場、大学、国でのコラボレーションがGoogleではるかに簡単にあなたが管理する場合もしない場合もあるサーバーでユーザーアクセスを設定しようとするよりもドライブします。


1
+ 1、Dropbox
om_henners

それで、あなたはすべてのスクリプトとツールボックスを同じフォルダレベルに保存しますよね?
-RyanKDalton

@RyanDalton簡単にするために、通常はフォルダーをツールボックスと同じレベルに1つ深く保存します。ただし、Gdriveは複雑なファイル構造もサポートしています。
アーロン

2
このワークフローが魅力的だと思う人は、バージョン管理ソフトウェアGitとその人気のあるリポジトリ共有WebサイトGitHub をぜひ見てください。上記のすべて-マスタースクリプト、定義された特権、および広範なアクセシビリティ-スクリプトに加えられたすべての変更(日付と作成者を含む)を追跡し、実稼働バージョンを維持しながら新機能を試し、複数の管理を行うことができます。同じファイルを同時に編集するなど。使用するのはより複雑ですが、非常に便利であることがわかりました。
マットパーカー

Googleドライブ、Dropbox、Git + Github、Mercurial + Bitbucket、および友人 はすべて、ファイルとコードを共有するための優れたルートですが、それはこの質問の核心ではありません。共有ツールを使用する前に、ファイルとフォルダーの構造に関するベストプラクティスを試しています。
マットウィルキー

1

EsriのArcGIS Pro doc Pythonモジュールによるジオプロセシングの拡張では、WindowsおよびLinuxバイナリインストーラーの構築など、Distutilsに優しいプロジェクトを構築する方法を示しています。

(注:これはスクリプトとツールを共有するためのものであり、スクリプトとマップおよびデータを単一のパッケージとして共有するための良いモデルではありません。)

ソースプロジェクトのレイアウト:

Srcツリー

エンドユーザーのシステムで、これの下になります C:\Path\to\ArcGIS\Desktop\python

宛先フォルダーツリー

彼らはピップについて言及していませんが、例を研究することから、なぜそれがうまくいかないのかわかりません。例:共同編集および/または頻繁に変更されるツールセットのために、使用してインストールしpip install --editable X:\path\to\srcpip install --editable http://github.com/project/path/to/master

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.