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

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

2
スクリプトツールではなくコマンドとしてPythonスクリプトを呼び出すボタンを作成しますか?
Arc9.3では、VBAスクリプトを使用してコマンドを作成できると考えています。カスタムコマンドを追加するには、[カスタマイズ]> [ツールバー]> [カスタマイズ...]に移動し、[UIControls]をクリックします。ただし、UIControlsはバージョン10にはありません。 マップブックプロジェクト用に2つの個別のスクリプトを作成しています。1つのスクリプトはレイアウト設定をテーブルに保存し、もう1つのスクリプトは同じテーブルの設定でレイアウトを更新します。これらのスクリプトの両方を、ツールバーのボタンに割り当てられたコマンドにする必要があります。スクリプトツールとして作成しましたが、クリックするたびに、ジオプロセシングツールとしてスクリプトを実行します。進行状況ウィンドウが表示され、Pythonコマンドラインウィンドウでコードを実行した場合よりも実行に約10倍時間がかかります。進行状況ウィンドウやはるかに長い実行時間は必要ありません。 スクリプトが「ツール」と見なされず、代わりに「保存」ボタンに似たコマンドになるようにするにはどうすればよいですか?

4
ArcGIS Pythonスクリプトツールのドロップダウンボックスで選択されたレイヤーのフルパスを取得しますか?
ArcGISにPythonスクリプトベースのツールがあります。ツールのパラメーターの1つは入力ラスターファイルで、これは(ツールボックス内のツールのプロパティを使用して)ラスターレイヤーとして設定しました。つまり、ツールを実行すると、現在ロードされているラスターレイヤーのドロップダウンリストからそのパラメーターを選択するか、ファイルシステム内で新しいラスターレイヤーを見つけるためにナビゲートするオプションが表示されます。 次に、標準arcpy.GetParameterAsText(0)コードを使用して、Pythonスクリプトにパラメーターを取得しています。私は、ダイアログのテキストとして、ファイルシステムをブラウズして、ファイルを選択すると、これは、ファイルへの完全なパスがあるが、私はちょうどドロップダウンリストから選択したときに、私は戻って取得テキストはファイル名だけで正常に動作します(例:。 file.tif)。 私が実行しているコードは、ファイルへのフルパスを知っている必要があります-これをどうやって取得しますか? ファイルが常にワークスペースにあると想定できる場合、ファイル名をarcpy.env.workspaceに追加できますが、それを想定することはできません。同じ名前のレイヤーが見つかるまでロードされたすべてのレイヤーを反復処理し、そのフルパスを見つける必要がありますか、それとも簡単な方法がありますか?

2
ArcGIS Desktop用のPythonスクリプトツールでチェックボックスパラメーターを作成しますか?
執筆中のPythonスクリプトからArcGISツールを作成しています。チェックボックスパラメータを使用できるかどうか疑問に思っています。 ユーザーがフィーチャクラスを選択し、フィーチャクラスからモデルの最上層のフィールドを選択し、スクリプトに必要なレイヤーを選択できるようにするパラメーターが必要です最上層のフィールドから派生したチェックボックス構造で実行します。 これはPythonとArcGIS Desktopで可能ですか?

1
ArcGISツールとスタンドアロンのPythonスクリプトのパフォーマンス
ArcToolboxでPythonスクリプトを実行することとスタンドアロンスクリプトとして実行することの違いを研究した人はいますか?バンド1を抽出して、RGBイメージのセットをシングルバンドに変換するための簡単なスクリプトを作成する必要がありました。スタンドアロンのスクリプトとしてPCに対して読み取りと書き込みを行うと、約350秒で1000の同じサイズのイメージを処理します。ArcToolboxから同じスクリプトを実行するには、約1250秒かかります。 import arcpy import csv from os import path arcpy.env.workspace = in_folder image_list = arcpy.ListRasters() #Create a CSV file for timing output with open(outfile, 'wb') as c: cw = csv.writer(c) cw.writerow(['tile_name', 'finish_time']) #Start the timer at 0 start_time = time.clock() for image in image_list: #Extract band 1 to create a …

1
Pythonスクリプトツールのパラメーターでドロップダウンリストを設定しますか?
私が作成したpythonスクリプトからツールを作成しようとしています。これは、作成したリストを取得し、入力の1つとして完成したツールのドロップダウンメニューとして使用します(たとえば、添付の画像を参照)。 私が使用しているリストは、バーモント州のすべての町を含む大きなリストであり、スクリプトからテーブルから生成します(以下のコードを参照)。私の現在の問題は、ツールのプロパティを設定してこのリストを取得し、それを使用してユーザーのドロップダウンリストを作成することにあると思います。パラメータで使用するためのリストを作成するコードのブロックは次のとおりです。ツールのこのコードの終わりに問題が発生している人はいますか? import arcpy arcpy.env.workspace = "Z:\\OPS\\TechnicalServices\\Culverts\\GetCulverts\\GetCulverts.gdb" towns = "Database Connections\\GDB_GEN.sde\\GDB_Gen.VTRANS_ADMIN.townindex" arcpy.MakeFeatureLayer_management(towns,"towns_lyr") NameList = [] NameListArray = set() rows = arcpy.SearchCursor("towns_lyr") for row in rows: value = row.getValue("TOWNNAME") if value not in NameListArray: NameList.append(value) town = NameList town = arcpy.GetParameterAsText(0) 以下は、デフォルトの検証コードを使用したツールプロパティの画像です。この検証コードを変更する必要がありますか? この検証コードの変更に関する情報を探しましたが、ドロップダウンリストのフォーマットに使用するための情報が見つかりませんでした。

1
ArcGIS DesktopのPythonスクリプトツールのサイドバーヘルプ情報を作成しますか?
ArcPyモジュールでPythonを使用してカスタムツール(Pythonスクリプトツール)を作成しています。 パラメータとすべてを使用してツールを正常にセットアップできますが、標準のArcGISツールのようにツールのサイドバーに表示されるヘルプテキストを作成する方法がわかりません。

2
PythonとArcGIS Desktopで複数列のMultiValueパラメータを実装しますか?
ArcGIS(9.3)Pythonスクリプトで作業しています。入力の1つは、機能のリストです。各機能について、対応するフィールドを選択する必要があります。パラメータをMultiValueに設定すると、処理されているすべての機能について、UIに素敵なテーブルが表示されます。MultiValueテーブルに別の列を追加して、各機能のフィールドを選択するにはどうすればよいですか? クロスポスト:http : //forums.arcgis.com/threads/30907-MultiValue-Parameter-with-Multiple-Columns ArcGISフォーラムからのEsriの回答: 残念ながら、これに対するソリューションは、スクリプトツールのValueTable入力を使用して10.1で最近実装されました。これを9.3.1で機能させるには、いくつかのカスタム検証を備えた2つの多値パラメーターが必要です。

1
PythonウィンドウとPythonスクリプトツールのパフォーマンスに違いはありますか?
PythonウィンドウでPythonスクリプトを実行する場合と、ArcGIS Desktop 10.0のツールボックスからPythonスクリプトツールとして実行する場合で、パフォーマンスに違いはありますか? ArcPyを使用してArcGISを実行する必要がある場合があります。私の最近の経験では、ツールボックスとpythonウィンドウで同じスクリプトを実行でき、ツールボックスは少し高速のようです。

1
ArcPyスクリプトからModelBuilderに変数を渡しますか?
変数をpythonスクリプトに渡すモデルがあります。スクリプトはその変数を使用して一部のディレクトリをクエリし、パスのリストを返します。私が知りたいのは: 次に、それらの各パスを後続の操作のパラメーターとして使用するにはどうすればよいですか? PythonとModelBuilderの間の橋は一方通行ですか?

1
ArcGIS Pythonスクリプトツールに終了コマンドを追加しますか?
mxdのコピーを作成し、定義クエリを設定し、定義クエリに基づいてデータドリブンページのセットをエクスポートするGISスクリプトツールがあります。エクスポートが完了すると、mxdコピー、いくつかの変数、および一連のデータベース接続が削除されます。 どこにいてもデータドリブンページのエクスポートをキャンセルするエスケープコードをコーディングする方法はありますか?スクリプト全体をキャンセルするのではなく、最後にジャンプしてmxdコピーなどを削除します。コードのブロックは次のようになります。この: mxd = arcpy.mapping.MapDocument(mxd_master) mxd_folder = os.path.dirname(mxd_master) mxd_copy = mxd_folder + "\\WORKING.mxd" mxd.saveACopy(mxd_copy) mxd = arcpy.mapping.MapDocument(mxd_copy) ddp = mxd.dataDrivenPages for page_num in range (1, ddp.pageCount + 1): ddp.currentPageID = page_num row = ddp.pageRow mapsheet = row.getValue(ddp.pageNameField.name) arcpy.mapping.ExportToPDF(pdf export parameters....) del mxd, mxd_master arcpy.Delete_management(mxd_copy) 基本的に、「Q」キー(または任意のキー)を押すことができるようにしたいのですが、pdfエクスポートループが壊れ、del / Delete_managementブロックが実行されます。ツールを介してスクリプトを実行しているので、それは可能ではないと思いますが、エクスポートを早期に停止することを決定した場合、手動で削除する必要がなくなるため、そうであるかどうかを確認しました。 ArcGIS Desktop 10.4を使用しています。
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.