5 votos

¿Ejecutar script ArcPy de ArcObjects?

el método estándar se requiere para ejecutar ArcPy secuencia de comandos en la línea de comandos, he luchado con él a correr, pero sin resultado, me puede import arcpy, establecer el área de trabajo a la geodatabase ruta y describir el env variable arcpy.Describe(arcpy.env.workspace).name me da la geodatabase nombre, pero cuando trato de entrar featureclasses usando arcpy.ListFeatureClasses() i get [], me he asegurado de que todas las variables de entorno en la RUTA de acceso y el PYTHONPATH están bien .

me gustaría saber si hay una manera alternativa para ejecutar ArcPy secuencia de comandos, como se podría ejecutar en ArcMap consola, hay una manera de enviar secuencias de comandos para ArcMap consola con ArcObjects, ¿cuál es la diferencia entre ArcMap y la consola de línea de comandos estándar de la consola?

por lo que cualquier forma de ejecutar un ArcPy script con ArcObjects 10 o Arcgis Engine 10 serán muy bienvenidos.

5voto

wonderfulthunk Puntos 182

Puede haber varias opciones. Si el paquete de su guión en una caja de herramientas que podrían hacer referencia a su caja de herramientas (y herramienta) a través de ArcObjects como tal:

 IGeoProcessor2 gp = new GeoProcessorClass();
 gp.AddToolbox(@"C:\YourPath\YourToolbox.tbx");
 parameters.Add(@"C:\YourPath\ParamsIfYouHaveThem.gdb\ParamFC");
 gp.Execute("NameOfYourToolInsideReferencedToolbox", parameters, null);

Leer más sobre este método aquí: http://help.arcgis.com/en/sdk/10.0/arcobjects_net/conceptualhelp/index.html#executingCustomTool

O usted podría intentar esta ruta:

System.Diagnostics.Process proc = new System.Diagnostics.Process();
proc.StartInfo.FileName = @"C:\path\toYour\script.py";
proc.StartInfo.UseShellExecute = true;
proc.Start()

lo que se menciona aquí: http://forums.esri.com/Thread.asp?c=93&f=993&t=276632

2voto

Monroecheeseman Puntos 825

Creo que necesita ejecutar arcpy. ListFeatureClasses para obtener una lista de featureclasses en la geodatabase.

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