/// <summary> /// Occurs when this command is clicked /// </summary> public override void OnClick() { // TODO: Add CmdExportSHP.OnClick implementation IBasicMap map = null; ILayer layer = null; ClsGlobal.GetSelectedMapAndLayer(m_pTocCtl, ref map, ref layer); if (layer is IFeatureLayer) { LibCerMap.FrmExportSHP dlg = new LibCerMap.FrmExportSHP(map, layer); dlg.StartPosition = FormStartPosition.CenterScreen; if (dlg.ShowDialog() == DialogResult.OK) { IActiveView activiView = map as IActiveView; activiView.PartialRefresh(esriViewDrawPhase.esriViewGeography, null, null); m_pTocCtl.Update(); } } else if (layer is IRasterLayer) { LibCerMap.FrmExportRaster frm = new LibCerMap.FrmExportRaster(map, layer); if (frm.ShowDialog() == DialogResult.OK) { IActiveView activiView = map as IActiveView; activiView.PartialRefresh(esriViewDrawPhase.esriViewGeography, null, null); m_pTocCtl.Update(); } } }
private void btn_OkStretch_Click(object sender, EventArgs e) { try { string RasterName = cbb_RasterLayersStretch.SelectedItem.ToString(); rasterlayer = GetRasterLayer(RasterName); IRasterStretchColorRampRenderer rasStreRen = new RasterStretchColorRampRendererClass(); IRasterRenderer rasRen = rasStreRen as IRasterRenderer; rasRen.Raster = rasterlayer.Raster; rasRen.Update(); rasStreRen.BandIndex = cbb_BandStretch.SelectedIndex; pListRamp = style.pListRamp; rasStreRen.ColorRamp = (IColorRamp)pListRamp[cbbs_ColorStretch.SelectedIndex]; rasRen.Update(); rasterlayer.Renderer = rasStreRen as IRasterRenderer; IRasterStretch2 stretch = rasStreRen as IRasterStretch2; stretch.BackgroundValue = 0; stretch.Background = true; stretch.BackgroundColor = RasterRender.GET(255, 255, 255) as IColor; axmapcontrol.ActiveView.PartialRefresh(esriViewDrawPhase.esriViewGeography, null, null); axtoccontrol.Update(); axmapcontrol.Extent = rasterlayer.AreaOfInterest; this.Close(); } catch (Exception ec) { MessageBox.Show(ec.Message); } }
/// <summary> /// Occurs when this command is clicked /// </summary> public override void OnClick() { try { //ILayer player = ClsGlobal.GetSelectedLayer(m_hookHelper); IBasicMap map = null; ILayer layer = null; ClsGlobal.GetSelectedMapAndLayer(m_pTocCtl, ref map, ref layer); if (map == null || layer == null) { return; } IFeatureLayer pFLayer = (IFeatureLayer)layer; IFeatureLayerDefinition pFLDef = (IFeatureLayerDefinition)pFLayer; IFeatureSelection pFSel = (IFeatureSelection)pFLayer; ISelectionSet pSSet = pFSel.SelectionSet; if (pSSet.Count > 0) { IFeatureLayer pSelFL = pFLDef.CreateSelectionLayer(layer.Name + "Selection", true, null, null); map.AddLayer(pSelFL); IActiveView activiView = map as IActiveView; activiView.PartialRefresh(esriViewDrawPhase.esriViewGeography, null, null); m_pTocCtl.Update(); } } catch (Exception ex) { ; } }
private void Renderer() { IGeoFeatureLayer pGeoFeatureL = (IGeoFeatureLayer)layer2Symbolize; IFeatureClass featureClass = pGeoFeatureL.FeatureClass; IChartRenderer renderer = CreateRenderer(featureClass); if (renderer == null) { return; } pGeoFeatureL.Renderer = (IFeatureRenderer)renderer; m_activeView.PartialRefresh(esriViewDrawPhase.esriViewGeography, null, m_activeView.Extent); m_TOCControl.Update(); }
/// <summary> /// Occurs when this command is clicked /// </summary> public override void OnClick() { ClsGlobal.GetSelectedMapAndLayer(m_pTocCtl, ref m_pMap, ref m_pLayer); if (m_pMap != null && m_pLayer != null) { m_pMap.DeleteLayer(m_pLayer); m_hookHelper.ActiveView.PartialRefresh(esriViewDrawPhase.esriViewGeography, null, null); m_pTocCtl.Update(); if (m_pBar.Visible == true && m_pBar.Text == m_pLayer.Name) { m_pDataTable.Clear(); m_pDataTable.Columns.Clear(); m_pBar.Visible = false; } } }
/// <summary> /// Occurs when this command is clicked /// </summary> public override void OnClick() { try { ClsGlobal.GetSelectedMapAndLayer(m_pTocCtl, ref m_pMap, ref m_pLayer); if (m_pMap == null || m_pLayer == null) { return; } IMap pMapHiden = m_HidenMapCtrl.Map; pMapHiden.ClearLayers(); ICommand pCmd = new ControlsAddDataCommand(); pCmd.OnCreate(m_HidenMapCtrl); pCmd.OnClick(); ILayer pLayerSrc = null; if (pMapHiden.LayerCount > 0) { pLayerSrc = pMapHiden.get_Layer(0); if (pLayerSrc != null) { IDataset pDatasetSrc = pLayerSrc as IDataset; IWorkspace pWksSrc = pDatasetSrc.Workspace; LibCerMap.ClsGDBDataCommon cls = new LibCerMap.ClsGDBDataCommon(); cls.SetDataSource(m_pLayer, pLayerSrc); cls.RepairDataSource(m_pMap, pWksSrc); m_hookHelper.ActiveView.PartialRefresh(esriViewDrawPhase.esriViewGeography, null, null); m_pTocCtl.Update(); } } pMapHiden.ClearLayers(); } catch (System.Exception ex) { MessageBox.Show(ex.ToString()); } #endregion }
private void Renderer() { IGeoFeatureLayer pGeoFeatureL = (IGeoFeatureLayer)layer2Symbolize; IFeatureClass featureClass = pGeoFeatureL.FeatureClass; //找出rendererField在字段中的编号 int lfieldNumber = featureClass.FindField(strRendererField); if (lfieldNumber == -1) { MessageBox.Show("Can't find field called " + strRendererField); return; } m_classBreaksRenderer = CreateClassBreaksRenderer(featureClass); if (m_classBreaksRenderer == null) { return; } pGeoFeatureL.Renderer = (IFeatureRenderer)m_classBreaksRenderer; m_activeView.PartialRefresh(esriViewDrawPhase.esriViewGeography, null, m_activeView.Extent); m_TOCControl.Update(); }
private void btnSymbolize_Click(object sender, EventArgs e) { if (layer2Symbolize == null) { return; } ISymbol symbol = GetSymbolByControl(layer2Symbolize.FeatureClass.ShapeType); if (symbol == null) { return; } ISimpleRenderer pSimpleRenderer = new SimpleRendererClass(); pSimpleRenderer.Symbol = symbol; pSimpleRenderer.Label = "单一符号化"; IGeoFeatureLayer pGeoFeatureL = layer2Symbolize as IGeoFeatureLayer; pGeoFeatureL.Renderer = pSimpleRenderer as IFeatureRenderer; m_activeView.PartialRefresh(esriViewDrawPhase.esriViewGeography, null, m_activeView.Extent); m_TOCControl.Update(); }
private bool SetupFeaturePropertySheet(ILayer layer) { if (layer == null) { return(false); } try { ESRI.ArcGIS.Framework.IComPropertySheet pComPropSheet; pComPropSheet = new ESRI.ArcGIS.Framework.ComPropertySheetClass(); pComPropSheet.Title = layer.Name + "- Properties"; ESRI.ArcGIS.esriSystem.UID pPPUID = new ESRI.ArcGIS.esriSystem.UIDClass(); pComPropSheet.AddCategoryID(pPPUID); // General.... ESRI.ArcGIS.Framework.IPropertyPage pGenPage = new ESRI.ArcGIS.CartoUI.GeneralLayerPropPageClass(); pComPropSheet.AddPage(pGenPage); // Source ESRI.ArcGIS.Framework.IPropertyPage pSrcPage = new ESRI.ArcGIS.CartoUI.FeatureLayerSourcePropertyPageClass(); pComPropSheet.AddPage(pSrcPage); // Selection... ESRI.ArcGIS.Framework.IPropertyPage pSelectPage = new ESRI.ArcGIS.CartoUI.FeatureLayerSelectionPropertyPageClass(); pComPropSheet.AddPage(pSelectPage); // Display.... ESRI.ArcGIS.Framework.IPropertyPage pDispPage = new ESRI.ArcGIS.CartoUI.FeatureLayerDisplayPropertyPageClass(); pComPropSheet.AddPage(pDispPage); // Symbology.... ESRI.ArcGIS.Framework.IComPropertyPage pDrawPage = new ESRI.ArcGIS.CartoUI.LayerDrawingPropertyPageClass(); pComPropSheet.AddPage(pDrawPage); // Fields... ESRI.ArcGIS.Framework.IPropertyPage pFieldsPage = new ESRI.ArcGIS.CartoUI.LayerFieldsPropertyPageClass(); pComPropSheet.AddPage(pFieldsPage); // Definition Query... ESRI.ArcGIS.Framework.IPropertyPage pQueryPage = new ESRI.ArcGIS.CartoUI.LayerDefinitionQueryPropertyPageClass(); pComPropSheet.AddPage(pQueryPage); // Labels.... ESRI.ArcGIS.Framework.IPropertyPage pSelPage = new ESRI.ArcGIS.CartoUI.LayerLabelsPropertyPageClass(); pComPropSheet.AddPage(pSelPage); // Joins & Relates.... ESRI.ArcGIS.Framework.IPropertyPage pJoinPage = new ESRI.ArcGIS.ArcMapUI.JoinRelatePageClass(); pComPropSheet.AddPage(pJoinPage); // Setup layer link ESRI.ArcGIS.esriSystem.ISet pMySet = new ESRI.ArcGIS.esriSystem.SetClass(); pMySet.Add(layer); pMySet.Reset(); // make the symbology tab active pComPropSheet.ActivePage = 4; // show the property sheet bool bOK = pComPropSheet.EditProperties(pMySet, this.Handle.ToInt32()); m_activeView.PartialRefresh(esriViewDrawPhase.esriViewGeography, null, m_activeView.Extent); m_TOCControl.Update(); return(bOK); } catch (Exception ex) { MessageBox.Show(ex.Message); return(false); } }
//added by chulili 20110719 根据数据集加载历史数据 public void AddHistoryDataByFD(string[] strTemp, string strType) { Mapcontrol.ClearLayers(); Toccontrol.Update(); Application.DoEvents(); //加载历史数据 Exception err = null; SysCommon.Gis.SysGisDataSet sourceSysGisDataSet = new SysCommon.Gis.SysGisDataSet(); switch (strType) { case "SDE": sourceSysGisDataSet.SetWorkspace(strTemp[0], strTemp[1], strTemp[2], strTemp[3], strTemp[4], strTemp[5], out err); break; case "PDB": sourceSysGisDataSet.SetWorkspace(strTemp[2], SysCommon.enumWSType.PDB, out err); break; case "GDB": sourceSysGisDataSet.SetWorkspace(strTemp[2], SysCommon.enumWSType.GDB, out err); break; } if (err != null) { SysCommon.Error.ErrorHandle.ShowFrmErrorHandle("连接数据库失败", "原因:" + err.Message); return; } //cyf 20110706 add DevComponents.AdvTree.Node ProjectNode = new DevComponents.AdvTree.Node(); ProjectNode = m_ProTree.SelectedNode; while (ProjectNode.Parent != null) { ProjectNode = ProjectNode.Parent; } //cyf 20110625 add: DevComponents.AdvTree.Node DBNode = new DevComponents.AdvTree.Node(); //数据库树节点 //获取数据库节点 DBNode = m_ProTree.SelectedNode; while (DBNode.Parent != null && DBNode.DataKeyString != "DB") { DBNode = DBNode.Parent; } if (DBNode.DataKeyString != "DB") { SysCommon.Error.ErrorHandle.ShowFrmErrorHandle("提示", "获取数据库节点失败!"); return; } DevComponents.AdvTree.Node DtSetNode = new DevComponents.AdvTree.Node(); //数据集树节点 if (DBNode.Text == "现势库" || DBNode.Text == "历史库") //.DataKeyString == "现势库" { //获取数据集节点 DtSetNode = m_ProTree.SelectedNode; while (DtSetNode.Parent != null && DtSetNode.DataKeyString != "FD") { DtSetNode = DtSetNode.Parent; } if (DtSetNode.DataKeyString != "FD") { SysCommon.Error.ErrorHandle.ShowFrmErrorHandle("提示", "获取数据集节点失败!"); return; } } //end //added by chulili 20110719 XmlElement elementTemp = (DBNode.Tag as XmlElement).SelectSingleNode(".//连接信息") as XmlElement; IWorkspace TempWorkSpace = ModDBOperator.GetDBInfoByXMLNode(elementTemp, "") as IWorkspace; SysCommon.Gis.SysGisDataSet sysGisDataset = new SysCommon.Gis.SysGisDataSet(TempWorkSpace); IFeatureDataset featureDataset = null; //数据集 IGroupLayer pGroupLayer = new GroupLayerClass(); if (m_ProTree.SelectedNode.DataKeyString == "FD") { featureDataset = sysGisDataset.GetFeatureDataset(m_ProTree.SelectedNode.Text, out err); if (err != null) { SysCommon.Error.ErrorHandle.ShowFrmErrorHandle("提示", "获取数据集失败,请检查该数据集是否存在!"); return; } pGroupLayer.Name = m_ProTree.SelectedNode.Text + "_" + ProjectNode.Text; } else if (m_ProTree.SelectedNode.DataKeyString == "FC") { featureDataset = sysGisDataset.GetFeatureDataset(DtSetNode.Text, out err); if (err != null) { SysCommon.Error.ErrorHandle.ShowFrmErrorHandle("提示", "获取数据集失败!"); return; } pGroupLayer.Name = DtSetNode.Text + "_" + ProjectNode.Text; } List <IDataset> lstDataset = sysGisDataset.GetFeatureClass(featureDataset); //end added by chulili //List<string> lstNames = sourceSysGisDataSet.GetFeatureClassNames(); XmlElement feaclsElem = null; try { feaclsElem = (m_ProTree.SelectedNode.Tag as XmlElement).SelectSingleNode(".//图层名") as XmlElement; } catch { } foreach (IDataset dataset in lstDataset) { IFeatureClass pFeatureClass = dataset as IFeatureClass; if (pFeatureClass == null) { continue; } IFeatureLayer pFeatureLayer = new FeatureLayerClass(); if (pFeatureClass.FeatureType == esriFeatureType.esriFTAnnotation) { pFeatureLayer = new FDOGraphicsLayerClass(); } pFeatureLayer.FeatureClass = pFeatureClass; pFeatureLayer.Name = dataset.Name; if (m_ProTree.SelectedNode.DataKeyString == "FC") { //加载指定的图层 if (m_ProTree.SelectedNode.Text != pFeatureLayer.Name) { continue; } } else if (m_ProTree.SelectedNode.DataKeyString == "FD") { if (feaclsElem != null) { if (!feaclsElem.GetAttribute("名称").Contains(pFeatureLayer.Name)) { //若不具备数据权限,则不进行加载 continue; } } } pGroupLayer.Add(pFeatureLayer as ILayer); } Mapcontrol.Map.AddLayer(pGroupLayer); SysCommon.Gis.ModGisPub.LayersCompose(Mapcontrol); InitialSliderItem(Mapcontrol); }