layer properties, Definition Query, IMosaicLayer, MosaicDataset

463
1
12-26-2012 12:46 PM
mikeharol1
New Contributor II
I can't for the life of me figure out how to programmatically set the definition query using arcobjects for a MosaicLayer(fairly straightforward for a featurelayer).  I have added a Mosaic Dataset as a layer in ArcGIS. 

In code I reference the layer
var mapLayer = (IMosaicLayer)_map.Layer[0];




Thanks for any help,
Mike
0 Kudos
1 Reply
AmarnathChalla
New Contributor
First Convert Modaicdataset to Mosaiclayer using the Below code


           IMosaicLayer pmoslyr = new MosaicLayerClass();
            pmoslyr.CreateFromMosaicDataset(pMosaicdataset);

Now cast Mosaiclayer to ITableDefination like this:

            ITableDefinition pTbldef=pmoslyr as ITableDefinition;
            pTbldef.DefinitionExpression="Country='INDIA'"  //Query Expression
Now go to  the Defination Query in Mosaicdataset and u can see the Query expression you have given


      Ourputpath1="C:\\temp\Mosaiclayer.lyr";
This below code for Make Mosaic layer from Mosaicdataset
           ILayerFile pLyrfile = new LayerFileClass();
            pLyrfile.New(Ourputpath1);

            pLyrfile.ReplaceContents(pmoslyr as ILayer);
            pLyrfile.Save();
0 Kudos