Example #1
0
 ///<summary> The specified featurelayer </summary>
 /// <param name="LayerName"> The feature layer be retrieved </param>
 ///<returns> Function to retrieve a layer by name </returns>
 public IFeatureLayer FeatureLayer(string LayerName)
 {
     if (FocusMap == null)
     {
         return(null);
     }
     if (FocusMap.LayerCount == 0)
     {
         return(null);
     }
     try
     {
         UID pID = new UIDClass();
         pID.Value = "{6CA416B1-E160-11D2-9F4E-00C04F6BC78E}";
         IEnumLayer pEnumLayer = FocusMap.get_Layers(pID, true);
         pEnumLayer.Reset();
         ILayer pLayer = pEnumLayer.Next();
         while (!(pLayer == null))
         {
             if (string.Compare(pLayer.Name, LayerName, true) == 0)
             {
                 return(pLayer as IFeatureLayer);
             }
             pLayer = pEnumLayer.Next();
         }
     }
     catch (Exception ex)
     {
         if (SupressMessaging == false)
         {
             MessageBox.Show(ex.Message, "Layer", MessageBoxButtons.OK, MessageBoxIcon.Information);
         }
     }
     return(null);
 }
Example #2
0
        /// <summary> Returns a list of feature layers based on the geometry type </summary>
        /// <param name="geometryType">Geometry type.  Expected values "Point", "Line" or "Polygon".</param>
        /// <returns>Arraylist</returns>
        public ArrayList FeatureLayers(string geometryType)
        {
            ArrayList pList = new ArrayList();

            if (FocusMap == null)
            {
                return(pList);
            }
            if (FocusMap.LayerCount == 0)
            {
                return(pList);
            }

            try
            {
                UID pID = new UIDClass();
                pID.Value = "{E156D7E5-22AF-11D3-9F99-00C04F6BC78E}"; //GeoFeatureLayer
                IEnumLayer pEnumLayer = FocusMap.get_Layers(pID, true);
                pEnumLayer.Reset();
                ILayer pLayer = pEnumLayer.Next();
                while (!(pLayer == null))
                {
                    if (pLayer is IFeatureLayer)
                    {
                        IFeatureLayer featurelayer = (IFeatureLayer)pLayer;
                        if (string.Compare(geometryType, "Point", true) == 0)
                        {
                            if ((featurelayer.FeatureClass.ShapeType == esriGeometryType.esriGeometryMultipoint) || (featurelayer.FeatureClass.ShapeType == esriGeometryType.esriGeometryPoint))
                            {
                                pList.Add(pLayer.Name);
                            }
                        }
                        if (string.Compare(geometryType, "Line", true) == 0)
                        {
                            if ((featurelayer.FeatureClass.ShapeType == esriGeometryType.esriGeometryPolyline) || (featurelayer.FeatureClass.ShapeType == esriGeometryType.esriGeometryLine))
                            {
                                pList.Add(pLayer.Name);
                            }
                        }
                        if (string.Compare(geometryType, "Polygon", true) == 0)
                        {
                            if (featurelayer.FeatureClass.ShapeType == esriGeometryType.esriGeometryPolygon)
                            {
                                pList.Add(pLayer.Name);
                            }
                        }
                    }
                    pLayer = pEnumLayer.Next();
                }
                return(pList);
            }
            catch (Exception ex)
            {
                if (SupressMessaging == false)
                {
                    MessageBox.Show(ex.Message, "All Layers", MessageBoxButtons.OK, MessageBoxIcon.Information);
                }
            }
            return(pList);
        }
Example #3
0
        /// <summary> The polygon feature layers in current map </summary>
        /// <returns> Function to retrieve a list of polygon feature layers in current map </returns>
        public ArrayList PolygonLayers()
        {
            ArrayList pList = new ArrayList();

            if (FocusMap == null)
            {
                return(pList);
            }
            if (FocusMap.LayerCount == 0)
            {
                return(pList);
            }

            try
            {
                UID pID = new UIDClass();
                pID.Value = "{E156D7E5-22AF-11D3-9F99-00C04F6BC78E}"; //GeoFeatureLayer
                IEnumLayer pEnumLayer = FocusMap.get_Layers(pID, true);
                pEnumLayer.Reset();
                ILayer pLayer = pEnumLayer.Next();
                while (!(pLayer == null))
                {
                    IFeatureLayer2 pFLayer = (IFeatureLayer2)pLayer;
                    if (pFLayer.ShapeType == esriGeometryType.esriGeometryPolygon)
                    {
                        if (pFLayer.FeatureClass != null)
                        {
                            pList.Add(pLayer.Name);
                        }
                    }
                    pLayer = pEnumLayer.Next();
                }
                return(pList);
            }
            catch (Exception ex)
            {
                if (SupressMessaging == false)
                {
                    MessageBox.Show(ex.Message, "Polygon Layers", MessageBoxButtons.OK, MessageBoxIcon.Information);
                }
            }
            return(pList);
        }