4 votos

¿Por qué devolvería la herramienta GP LocateFeautresAlongRoutes un valor nulo?

Actualmente estoy utilizando el envoltorio de herramientas LocateFeaturesAlongRoutes para C#/.NET para una herramienta personalizada que estoy desarrollando para ArcMap 9.3.1. He podido ejecutar esta herramienta en ArcMap fuera del código en una herramienta con los mismos archivos como parámetros.

Desafortunadamente, cuando lo pongo en código, sigo obteniendo nulo para el IGeoProcessorResult. ¿Existe alguna razón por la que obtenga un objeto nulo como resultado en lugar de simplemente decir que falló? Además, ¿hay algo mal con el código a continuación?

El bloque relevante de código está abajo.

LocateFeaturesAlongRoutes lfar = new LocateFeaturesAlongRoutes();
lfar.in_features = @"C:\GIS_Temp\CONGPROP.mdb\CONGPROP2";
lfar.in_routes = @"C:\GIS_Temp\Routes.mdb\routes";
lfar.route_id_field = "ROUTE_ID";
lfar.out_table = "eventTable.dbf";
lfar.out_event_properties = "ROUTE_ID LINE FMEAS TMEAS";
lfar.in_fields = "NO_FIELDS";

Geoprocessor geoprocessor = new Geoprocessor();
geoprocessor.TemporaryMapLayers = false;
geoprocessor.OverwriteOutput = true;
geoprocessor.AddOutputsToMap = true;
IGeoProcessorResult result = (IGeoProcessorResult) geoprocessor.Execute(lfar, null);

¿Alguna sugerencia?

2voto

user8134 Puntos 1273

Resulta que el resultado devolverá null si alguno de los inputs de la herramienta no es correcto. Encontré la mejor forma cuando no se conocen todos los parámetros es obtener el script de Python de una ejecución de la herramienta que fue exitosa. Esto al menos dará una idea de cómo deberían lucir los parámetros, y eso se puede convertir a .NET.

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