arcobjects extract raster by polygon

5100
1
12-30-2014 11:55 AM
JustinShepard
Occasional Contributor II

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);
0 Kudos
1 Reply
XanderBakker
Esri Esteemed Contributor

This page shows a C# sample of using the mask: ArcObjects Help for .NET developers

0 Kudos