AnsweredAssumed Answered

arcobjects extract raster by polygon

Question asked by shepa006 on Dec 30, 2014
Latest reply on Dec 30, 2014 by xander_bakker

I'm trying to extract an area of interest from a raster using arcobjects (C#) to create a Server Object Extension. I can successfully get .Clip to run but it only accepts an envelope and I want to allow the user to provide a polygon for their area of interest.

 

Here's the code that fails and the error that I get back

//"error": {
//    "code": 500,
//    "message": "Error in handling operation GetAreaGreaterLessThan",
//    "details": []
//}
IExtractionOp2 extractionOps = new RasterExtractionOpClass();
IGeoDataset extractedRaster = extractionOps.Polygon(rasterToQueryAsGDS, areaOfInterest, true);

 

Here's the alternative that kind of works but only allows an envelope and I want to use a polygon geometry

//this works
RasterTransformationOpClass rasterTransformationOpClass = new RasterTransformationOpClass();
//clip raster
IGeoDataset clippedRaster = rasterTransformationOpClass.Clip(rasterToQueryAsGDS, areaOfInterest.Envelope);

 

As an input the user can provide a polygon geometry (called areaOfInterest) so I'm not working with any featureclasses by default.

 

In another section I'm running a ReclassByRemap. Does anyone have an example on how I could use an IPolygon as a mask during the reclass rather than extracting/clipping the raster?

IReclassOp reclassOp = new RasterReclassOpClass();
// Reclassify the geodataset
IGeoDataset reclassDataset = reclassOp.ReclassByRemap(clippedRaster, remap, false);

Outcomes