private static void ExtractSpecifyRegFeatures(IWorkspaceName iworkspaceName_0, IMap imap_0, IGeometry igeometry_0) { ISelectionEnvironment selectionEnvironment = new SelectionEnvironment(); selectionEnvironment.CombinationMethod = esriSelectionResultEnum.esriSelectionResultNew; try { imap_0.SelectByShape(igeometry_0, selectionEnvironment, false); } catch (COMException ex) { if (ex.ErrorCode == -2147467259) { System.Windows.Forms.MessageBox.Show("执行查询时产生错误。空间索引不存在", "选择"); } } catch (Exception) { } IWorkspace workspace = (iworkspaceName_0 as IName).Open() as IWorkspace; for (int i = 0; i < imap_0.LayerCount; i++) { ILayer layer = imap_0.get_Layer(i); if (layer is IFeatureLayer) { ClipHelper.ExtractSelectFeatureFormLayer((IFeatureLayer)layer, (IFeatureWorkspace)workspace, igeometry_0); } } }
private static void ExtractSelectedFeatures(IFeatureWorkspace ifeatureWorkspace_0, ICompositeLayer icompositeLayer_0) { for (int i = 0; i < icompositeLayer_0.Count; i++) { ILayer layer = icompositeLayer_0.get_Layer(i); if (layer.Visible) { if (layer is IGroupLayer) { ClipHelper.ExtractSelectedFeatures(ifeatureWorkspace_0, layer as ICompositeLayer); } else if (layer is IFeatureLayer) { ClipHelper.ExtractSelectFeatureFormLayer(layer as IFeatureLayer, ifeatureWorkspace_0, null); } } } }
public static void ExtractSelectedFeatures(IWorkspaceName iworkspaceName_0, IMap imap_0) { IWorkspace workspace = (iworkspaceName_0 as IName).Open() as IWorkspace; for (int i = 0; i < imap_0.LayerCount; i++) { ILayer layer = imap_0.get_Layer(i); if (layer.Visible) { if (layer is IGroupLayer) { ClipHelper.ExtractSelectedFeatures(workspace as IFeatureWorkspace, layer as ICompositeLayer); } if (layer is IFeatureLayer) { ClipHelper.ExtractSelectFeatureFormLayer(layer as IFeatureLayer, workspace as IFeatureWorkspace, null); } } } }