답변:
Arcpy는 본질적으로 ArcObject를 감싸는 래퍼입니다. 그러나 다시 작성하고 싶지 않은 일부 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 추가 기능 마법사를 다운로드하여 사용하여 사용자 정의 유형을 선언해야합니다. 마법사는 추가 기능이 작동하는 데 필요한 모든 필수 파일을 생성합니다.