¿Llamando a arcpy / python desde .NET?

15

¿Hay ejemplos disponibles que muestren cómo Python puede integrarse en un complemento o extensión ArcGIS .NET? Tengo una serie de scripts de python a los que me gustaría llamar desde eventos de formulario (por ejemplo, clics de botón) en .NET. También me gustaría poder establecer variables en el script desde un formulario .NET.

¿Debo morder la bala y volver a escribir estos scripts en .NET, o hay una forma sencilla de envolver el código de Python?

    
pregunta Radar 11.01.2012 - 20:52

2 respuestas

25

Tenga en cuenta que Arcpy es esencialmente una envoltura alrededor de ArcObjects. Pero si solo estás tratando de llamar a algunos scripts de Python que no quieres tener que reescribir, puedes generar un proceso que llame al ejecutable de Python con tus argumentos.

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();

Ten en cuenta que también puedes hacer cosas de subprocesos múltiples muy interesantes con esto.

    
respondido por el valveLondon 11.01.2012 - 21:03
0

De su pregunta No estoy seguro de cómo está usted casado con .NET, pero si está usando ArcGIS 10.1 (o posterior) para Desktop, creo que un enfoque más simple sería usar un AddIn para Python :

  

ArcGIS 10.1 introduce Python a la lista de idiomas para la creación   Complementos de escritorio, que le proporcionan una solución fácil para ampliar el escritorio   funcionalidad Para simplificar el desarrollo de complementos de Python, debe   descargue y use el Asistente para agregar Python para declarar el tipo de   personalizacion El asistente generará todos los archivos requeridos.   necesario para que el complemento funcione.

    
respondido por el PolyGeo 11.05.2014 - 03:07

Lea otras preguntas en las etiquetas