タグ付けされた質問 「python-toolbox」

3
PythonスクリプトツールよりもPythonツールボックスを学習/使用する理由 [閉まっている]
閉じた。この質問は意見に基づいています。現在、回答を受け付けていません。 この質問を改善したいですか?この投稿を編集して事実と引用で答えられるように質問を更新してください。 2年前に閉店。 いくつかのPythonツールボックス(ArcGIS 10.1で新しく追加)を作成しましたが、標準のツールボックスにPythonスクリプトツールではなく、いつ作成するかをまだ決定していません。 オンラインヘルプは、ドットポイントの前に次の文字を追加すると、私を啓発するかもしれないと思いました。 作成後、Pythonツールボックスのツールは多くの利点を提供します ただし、リストされている5つの利点はすべて、Pythonを使用してツールを作成できないことよりも優れているようであり、PythonスクリプトツールよりもPythonツールボックスの利点を明確に示しているものはありません。 私が考えることができる2つの利点は次のとおりです。 単一のPythonスクリプトで「純粋な」Pythonツールを記述できるようになりました。ツール検証が追加されたように見える個別に作成されたダイアログに接続する必要はありません。 コード(Pythonまたはテキストファイルを記述できる任意の言語)を使用してPythonツールボックスの記述を自動化できるようになりましたが、これを行うための要件はまだありません。 EsriがPython Toolbox機能を提供するきっかけとなった説得力のあるケースを見落としていますか?

1
ArcGISでPythonツールボックス(* .pyt)を整理するためのガイドライン
私のタスクの1つとして、3つのツール(Pythonスクリプト)を含むツールボックスを作成する必要があります。 通常のtbxの代わりに、Python Toolbox(pyt)として作成することにしました。 コードを整理する「良い」方法を除いて、すべてが明確です。 3つのツールがあるので、1つのファイル(pyt)に保存するのは良い方法ではありません。そこで、各ツールを別々の.pyファイルに保存することにしました。 ここに問題があります:ArcGIS for Serverでの配布または配置のために、PYTでいくつかのファイルを整理する良い方法は何ですか?PYTファイルと同じレベルに保持する必要がありますか、それともサブディレクトリ(つまり「ツール」)に配置する必要がありますか? Esriのガイドラインを推奨したり、「big PYTツールボックス」サンプルを参照したりできますか? このトピックについては何も見つかりません。バージョン10.0では、私が使用したToolShareフォルダー構造と呼ばれるものがありました。 これは、コーディングのスタイルの問題です。500行から1000行以上のコードを含む1つのPYTファイルを作成するというアイデアは見た目が良くなく、「pythonic」な方法ではないと考えているためです。

2
ArcGIS Python Toolboxでインポートされたモジュールを更新しますか?
ArcMapでPythonツールボックス(.pyt)を使用する場合、通常、.pytファイル自体が単なる入力引数を収集してツール自体を定義するラッパーであるパターンに従います。サポートコードは、個別のユニットテスト可能なモジュールに保持されます。 例: import supporting_module class MyTool(object): ... def execute(self, parameters, messages): """The source code of the tool.""" some_input = parameters[0].valueAsText some_output = parameters[1].valueAsText supporting_module.do_something(some_input, some_output) arcpy.SetParameter(2, some_output) これは非常にうまく機能しますが、開発中にイライラする問題に遭遇しました。ArcMapの.pytを右クリック->更新すると、.pytファイルのコードのみが更新されます。インポートされたモジュールは更新されないため、そこで何かを変更するたびにArcMapを閉じて、再度開く必要があります。幸いなことに、私は独立してコードをテストしているので、これを大量に行う必要はありませんが、それでも大きな手間がかかります。これを回避する方法はありますか?多少関連があります-Pythonコンソールを完全に更新する方法はありますか(カスタムサイトパッケージがあるので、ArcMapを閉じたり開いたりして変更を取得する必要があります)? ArcMap 10.2.1を使用しています。

4
Python Toolboxヘルプのパラメーターの説明を定義しますか?
ArcMapアプリケーションのPythonツールボックス(MyTool.pytなど)を作成しようとしています。 ヘルプテキストは、クラスself.description属性で定義されていることがわかります。 ただし、プログラムを実行し、パラメーターフィールドのいずれかをクリックすると、ヘルプ/説明テキストが空になります。各パラメーターの説明フィールドを提供できるようにしたいと思います。これはどのように達成されますか? いくつかの回答の後、「アイテムの説明」の右クリックコンテキストメニューから、入力できるフィールドが多数あることがわかりました。これを行うための「Pythonの」方法はありますか?つまり、いくつかの属性を.pytファイルクラスに埋め込むだけですか? たとえば、.pytツールボックス定義には、Toolboxクラスがあります。 import arcpy class Toolbox(object): def __init__(self): """Define the toolbox (the name of the toolbox is the name of the .pyt file).""" self.label = "My Toolbox" self.alias = "" # List of tool classes associated with this toolbox self.tools = [MyNiceTool] class MyNiceTool(object): def __init__(self): """Define …

1
ArcGIS Proタスクは、マップフレームで動作するPython Toolboxツールをサポートしていますか?
ArcGIS Proタスクは、マップフレームで動作するPython Toolboxツールをサポートしていますか? 私が尋ねる理由は、私が次のことをしようとするときに立ち往生していることです: ArcGIS Pro 1.1.1を起動します 新しいプロジェクトを作成します-私は自分のTestProjectを呼び出し、C:\ Tempに配置しました プロジェクトペインを使用して、Natural Earthから世界の国々のシェープファイルがある場所にフォルダー接続を追加します() ne_10m_admin_0_countries.shpをマップにドラッグアンドドロップして、ne_10m_admin_0_countriesというレイヤーを作成します 新しいレイアウトを挿入する-A3ランドスケープを使用しました レイアウトに新しいマップフレームを挿入する プロジェクトペインで、TestProjectフォルダーに新しいPythonツールボックスを作成します-私はTestPYTと呼んでいます プロジェクトペインでTestPYTを右クリックして編集します 以下のコードでコードを置き換えて、Python Toolboxにチリとスイスと呼ばれる2つのツールを提供します。 スクリプトを保存してPythonツールボックスを更新し、2つの新しいツールを確認します チリツールを実行して、レイアウトにマップフレームを表示してチリにズーム スイスツールを実行して、レイアウト上のマップフレームを表示しますスイスにズームします 新しいタスクアイテムを挿入する タスクアイテム1に新しいタスクを挿入し、チリと呼びます チリタスクで新しいステップを挿入し、それをZoom to Chileと呼びます ステップ動作の場合、それを自動で非表示にします [アクション]タブで、コマンド/ジオプロセシングをジオプロセシングツールとして設定して、チリツールを選択しようとします OKを選ぶとくっついてしまうようです 完了をクリックするとツールが「失われる」ようです 具体的には、作成しようとしているのは、チリにズームまたはスイスにズームするためにクリックできる2つのタスクを含むワークフローですが、上記のステップ19で立ち往生しています。 私が全体的にやろうとしているのは、ArcPy(ArcGIS 10.xアーキテクチャ用)のPythonアドインツールバーに相当するArcPy(ArcGIS Pro用)を見つけて、それらの国にズームするための2つのボタン(チリとスイス)を備えていることです。 私はこの手順を数回実行しましたが、ある場合にはチリとスイスのツールをタスクとして固定することができましたが、それでもそれらはマップフレームと相互作用していなかったようです(エラーなし、変更なし) Pythonツールボックスから実行したときにツールが問題なく機能し続けたとしても、実行時にマップフレームに表示されていたものと同じです)。 これは、Pythonツールボックス(TestPYT)にコピーして貼り付けるコードです。 import arcpy class Toolbox(object): def __init__(self): """Define the toolbox (the name of the …

1
Python Toolboxツールで値テーブルのデフォルト値を設定する
フィールドを並べ替え、並べ替えられたフィールドを使用して新しいフィーチャクラスを作成するPython Toolboxツールを作成しました。ツールは適切に機能し、値テーブルを使用して、ユーザーが選択した順序でフィールドを配置したり、各フィールドのランク値を入力したりできます。ただし、このツールの厄介な点は、すべてのフィールドを並べ替える前に、一度に1つずつ値テーブルに追加する必要があることです。 私はこれを設定して、デフォルトですべてのフィールドを値テーブルに取り込むようにしています。不要なフィールドは、並べ替える前に削除できます。誰かが以前にこのようなことをすることに成功したことがありますか?UpdateParametersメソッドでこれを実現しようとしています。これが私が試しているコードです: import arcpy import os class Toolbox(object): def __init__(self): """Define the toolbox (the name of the toolbox is the name of the .pyt file).""" self.label = "Reorder Fields" self.alias = "Reorder Fields" # List of tool classes associated with this toolbox self.tools = [ReorderFields] class ReorderFields(object): def __init__(self): …

1
AttributeErrorのデバッグ: 'module'オブジェクトにArcPyのPython Toolboxの属性 'Parameter'がありませんか?
大きな.pytスクリプト(pythonツールボックス)があり、それを多くのファイル(1ファイル-1ツール)に分割しようとしています。 単一の.pytファイルではすべてが完璧に機能しますが、ファイルが分割されると、次のメッセージが表示されます。AttributeError: 'module' object has no attribute 'Parameter'。 ファイルの構造: My Catalog: -- toolbox.pyt -- toolpackage: ---- configurator.py ---- __init__.py toolbox.pyt: # This Python file uses the following encoding: utf-8 import arcpy from toolpackage.configurator import ToolboxConfigurator class Toolbox(object): def __init__(self): """Define the toolbox (the name of the toolbox is the name …
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.