Answers:
请记住,Arcpy本质上是ArcObjects的包装。但是,如果您只是想调用一些不需要重写的Python脚本,则可以生成一个使用args调用python可执行文件的进程。
var startInfo = new ProcessStartInfo() {
CreateNoWindow = false,
UseShellExecute = false,
FileName = pathToPythonRuntime,
WindowStyle = ProcessWindowStyle.Hidden,
Arguments = pathToYourPythonScriptYouDoNotWantToRewrite+" "+yourOtherArgsEtc
};
var exeProcess= Process.Start(startInfo);
//If you need synchronous execution you can do this
exeProcess.WaitForExit();
请注意,您也可以使用此工具执行一些非常酷的多线程操作。
根据您的问题,我不确定您是如何与.NET结合的,但是,如果您将ArcGIS 10.1(或更高版本)用于桌面,那么我认为一种更简单的方法是使用Python AddIn:
ArcGIS 10.1将Python引入了用于编写桌面外接程序的语言列表,从而为您提供了扩展桌面功能的简单解决方案。为了简化Python加载项的开发,必须下载并使用Python加载项向导声明自定义类型。该向导将生成该外接程序正常工作所需的所有必需文件。