15 votos

¿Llamada arcpy/python de. net?

¿Hay disponibles ejemplos que muestran cómo se puede integrar python en un net ArcGIS complemento o una extensión? Tengo una serie de secuencias de comandos python que quisiera llamar desde eventos de formulario (haga clic en botón por ejemplo) en. net. También me gustaría ser capaz de establecer variables en el script de una forma. net.

¿Debo morder la bala y volver a escribir estos scripts en. net, o hay una manera simple para envolver el código python?

25voto

Lux555 Puntos 16

Tenga en cuenta que Arcpy es esencialmente un contenedor ArcObjects. Pero si sólo está tratando de llamar a algunos scripts de Python que no desea tener que escribir le puede engendrar un proceso que se llama python ejecutables con tu args.

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

Tenga en cuenta que usted puede hacer algunas cosas bastante interesantes multithreading con esto también.

0voto

UnkwnTech Puntos 21942

Su Pregunta no estoy seguro de cómo inmersos .NETA eres pero, si usted está utilizando ArcGIS 10.1 (o posterior) para el Escritorio, entonces creo que un enfoque más sencillo será utilizar un Complemento de Python:

ArcGIS 10.1 presenta Python a la lista de idiomas para la creación de Add-ins del escritorio, proporcionando una solución fácil para extender el escritorio la funcionalidad. Para simplificar el desarrollo de Python add-ins, usted debe descargar y utilizar el Add-in De Python Asistente para declarar el tipo de la personalización. El asistente generará todos los archivos necesarios necesario para el complemento para el trabajo.

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X