/// <summary>
        /// This function takes a raster object and returns the formatted name of
        /// the object for display in the UI.
        /// </summary>
        /// <param name="inputRaster">Object whose name is to be found</param>
        /// <returns>Name of the object</returns>
        private string GetInputRasterName(object inputRaster)
        {
            if ((inputRaster is IRasterDataset))
            {
                IRasterDataset rasterDataset = (IRasterDataset)inputRaster;
                return(rasterDataset.CompleteName);
            }

            if ((inputRaster is IRaster))
            {
                IRaster myRaster = (IRaster)inputRaster;
                return(((IRaster2)myRaster).RasterDataset.CompleteName);
            }

            if (inputRaster is IDataset)
            {
                IDataset dataset = (IDataset)inputRaster;
                return(dataset.Name);
            }

            if (inputRaster is IName)
            {
                if (inputRaster is IDatasetName)
                {
                    IDatasetName inputDSName = (IDatasetName)inputRaster;
                    return(inputDSName.Name);
                }

                if (inputRaster is IFunctionRasterDatasetName)
                {
                    IFunctionRasterDatasetName inputFRDName = (IFunctionRasterDatasetName)inputRaster;
                    return(inputFRDName.BrowseName);
                }

                if (inputRaster is IMosaicDatasetName)
                {
                    IMosaicDatasetName inputMDName = (IMosaicDatasetName)inputRaster;
                    return("MD");
                }

                IName inputName = (IName)inputRaster;
                return(inputName.NameString);
            }

            if (inputRaster is IRasterFunctionTemplate)
            {
                IRasterFunctionTemplate rasterFunctionTemplate =
                    (IRasterFunctionTemplate)inputRaster;
                return(rasterFunctionTemplate.Function.Name);
            }

            if (inputRaster is IRasterFunctionVariable)
            {
                IRasterFunctionVariable rasterFunctionVariable =
                    (IRasterFunctionVariable)inputRaster;
                return(rasterFunctionVariable.Name);
            }

            return("");
        }
Exemple #2
0
        public static void OpenMosaicDataset(AxMapControl MapControl,
                                             IMosaicDatasetName pMdName, ListView listview1)
        {
            MapControl.ClearLayers();
            MapControl.SpatialReference = null;
            listview1.Items.Clear();
            listview1.Columns.Clear();
            IDatasetName pDsName = pMdName as IDatasetName;
            string       sName   = pDsName.Name;

            IName pName = pMdName as IName;

            IMosaicDataset pMds = pName.Open() as IMosaicDataset;
            IFeatureClass  pFc  = pMds.Catalog;

            listview1.Items.Clear();
            listview1.Columns.Clear();
            LoadListView(pFc, listview1);

            IFeatureCursor pCursor = pFc.Search(null, false);
            IFeature       pfea    = pCursor.NextFeature();
            int            j       = 0;

            while (pfea != null)
            {
                ListViewItem lv = new ListViewItem();

                for (int i = 0; i < pfea.Fields.FieldCount; i++)
                {
                    string sFieldName = pfea.Fields.get_Field(i).Name;
                    lv.SubItems.Add(FeatureHelper.GetFeatureValue(pfea, sFieldName).ToString());
                }

                lv.Tag = pfea;
                if (j % 2 == 0)
                {
                    lv.BackColor = System.Drawing.Color.GreenYellow;
                }
                listview1.Items.Add(lv);
                pfea = pCursor.NextFeature();
                j++;
            }
            LSGISHelper.OtherHelper.ReleaseObject(pCursor);
            IMosaicLayer pML = new MosaicLayerClass();

            pML.CreateFromMosaicDataset(pMds);

            MapControl.AddLayer(pML as ILayer);
            MapControl.ActiveView.PartialRefresh(esriViewDrawPhase.esriViewGeography, null, null);
        }
        public static void OpenMosaicDataset(AxMapControl MapControl, IMosaicDatasetName pMdName, DataTable dt = null)
        {
            MapControl.ClearLayers();
            MapControl.SpatialReference = null;
            IDatasetName   pDsName = pMdName as IDatasetName;
            string         sName   = pDsName.Name;
            IName          pName   = pMdName as IName;
            IMosaicDataset pMds    = pName.Open() as IMosaicDataset;

            if (null != dt)
            {
                IFeatureClass pFc = pMds.Catalog;
                InitDataTable(pFc, dt);

                IFeatureCursor pCursor = pFc.Search(null, false);
                IFeature       pfea    = pCursor.NextFeature();
                int            j       = 0;
                while (pfea != null)
                {
                    DataRow dataRow = dt.NewRow();

                    for (int i = 0; i < pfea.Fields.FieldCount; i++)
                    {
                        dataRow[i] = pfea.get_Value(i).ToString();
                    }

                    dt.Rows.Add(dataRow);
                    pfea = pCursor.NextFeature();
                    j++;
                }

                ComReleaser.ReleaseCOMObject(pCursor);
            }
            IMosaicLayer pML = new MosaicLayerClass();

            pML.CreateFromMosaicDataset(pMds);

            MapControl.AddLayer(pML as ILayer);
            MapControl.ActiveView.PartialRefresh(esriViewDrawPhase.esriViewGeography, null, null);
        }
        public static void OpenMosaicDataset(AxMapControl MapControl,
           IMosaicDatasetName pMdName, ListView listview1)
        {
            MapControl.ClearLayers();
            MapControl.SpatialReference = null;
            listview1.Items.Clear();
            listview1.Columns.Clear();
            IDatasetName pDsName = pMdName as IDatasetName;
            string sName = pDsName.Name;

            IName pName = pMdName as IName;

            IMosaicDataset pMds = pName.Open() as IMosaicDataset;
            IFeatureClass pFc = pMds.Catalog;
            listview1.Items.Clear();
            listview1.Columns.Clear();
            LoadListView(pFc, listview1);

            IFeatureCursor pCursor = pFc.Search(null, false);
            IFeature pfea = pCursor.NextFeature();
            int j = 0;
            while (pfea != null)
            {
                ListViewItem lv = new ListViewItem();

                for (int i = 0; i < pfea.Fields.FieldCount; i++)
                {
                    string sFieldName = pfea.Fields.get_Field(i).Name;
                    lv.SubItems.Add(FeatureHelper.GetFeatureValue(pfea, sFieldName).ToString());
                }

                lv.Tag = pfea;
                if (j % 2 == 0)
                {
                    lv.BackColor = System.Drawing.Color.GreenYellow;
                }
                listview1.Items.Add(lv);
                pfea = pCursor.NextFeature();
                j++;
            }
            LSGISHelper.OtherHelper.ReleaseObject(pCursor);
            IMosaicLayer pML = new MosaicLayerClass();
            pML.CreateFromMosaicDataset(pMds);

            MapControl.AddLayer(pML as ILayer);
            MapControl.ActiveView.PartialRefresh(esriViewDrawPhase.esriViewGeography, null, null);
        }