///<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); }
/// <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); }
/// <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); }