[GIS] Using Spatial Analyst Geoprocessing functions in ArcObjects

arcgis-10.0arcobjectsspatial-analyst

I'm trying to run some geoprocessing functions in ArcObjects. Some of the tools I want to use are part of the spatial analyst extension. In 9.3.1 it was fairly straightforward to follow the documentation and execute geoprocessing tools in ArcObjects. In ArcGIS it seems all the spatial analyst tools are only available through the arcpy.sa site package. The tools still exist in the arctoolbox with a standard parameter for the output raster. But all the documentation on the tools show the output as a raster object not a standard parameter. When I try and execute the tool in ArcObjects it fails because it doesn't expect a return and as far as I can tell there is no parameter for the output raster. Anyone trying to run spatial analyst geoprocessing tools from ArcObjects in 10?

Best Answer

Are you using the (relatively) new Geoprocessor class?

Geoprocessor gp = new Geoprocessor();
RasterToPolygon r2p = new RasterToPolygon();
r2p.in_raster = "myRaster";
r2p.out_polygon_features = "myPolygon";
r2p.simplify = "NO_SIMPLIFY";
IGeoProcessorResult result = gp.Execute(r2p, null) as IGeoProcessorResult;

If you look at the geoprocessor library of AO you will find the Spatial Analyst tools, too.