2

ArcGISデータをジオプロセシングし、Pythonコード内のワークスペース、入力および出力パラメーターを次のように設定するPythonスクリプトを作成しました。

env.workspace = arcpy.GetParameterAsText(0)
# input feature class 
inFeatures = arcpy.GetParameterAsText(1)
# output feature class
Transect_featureclass = arcpy.GetParameterAsText(2)

Visual Studio 2010でc#を使用するArcObjectsを初めて使用するため、ArcMapアドインを使用してArcMapデスクトップにボタンを追加しようとしています。しかし、c#からこのPythonスクリプトを呼び出して、テキストボックスのポップアップのようなものを取得し、入力パラメーターと出力パラメーターのパスに関する情報を尋ねる方法がわかりませんでした。GetParameterAsText私はPythonを直接呼び出すため、Pythonコード内のコマンドでは機能しませんでした。

誰かがこの事件を手伝ってくれるなら、私は非常に感謝しています。前もって感謝します。

4

3 に答える 3

1

ArcPy はIronPythonをサポートしていないため、「ライブラリ arcgisscripting を読み込めません」というエラーが表示されます。問題は、IronPython が、arcgisscripting が含まれる pyd ファイルをサポートしていないことだと思います。

ESRI は、.net で ArcPy を活用するための次のサンプルを提供しています。

于 2012-11-06T11:29:58.400 に答える
1

Esriページの .NET 開発者ヘルプに例があります。

作業を進めると、ArcMap からジオプロセシング ツールを呼び出す方法を学習したはずです。そのためには、Python スクリプトを含むツールボックスを作成する必要があります。これは、.NET コードで呼び出すことができます (チュートリアルを参照してください)。

注: この基本的な開発作業のほとんどは、Esri ページで既に十分に文書化されていますが、見つけるのが難しい場合があります ;-)

于 2012-04-15T11:12:02.650 に答える
0

いくつかのオプションが見つかりました:

  1. IronPythonライブラリを使用して、Python スクリプトをロードし、C# コードから直接メソッドを呼び出します。ここにあるサンプルコードと各ステップの詳細な説明を含む良い記事。

    また

  2. Process.Start()を使用して、Python 実行可能ファイルを使用してスクリプトを実行します

推奨される方法はオプション 1 です。これは、C# から直接 Python スクリプト メソッドを呼び出すことができ、例外が発生することも許可する、より「完全な」ソリューションのようです。オプション 2 では、エラー処理とログ記録を個別の Python プロセスに完全に依存します。

arcpyオプション 2 を提供することを躊躇しましたが、IronPython でモジュールを適切に動作させることができない場合は、オプション 2 が必要になる場合があります。

于 2012-03-28T18:31:13.210 に答える