Esempio n. 1
0
        /// <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();
                }
            }
        }
Esempio n. 2
0
 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();
        }
Esempio n. 5
0
        /// <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;
                }
            }
        }
Esempio n. 6
0
        /// <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();
        }
Esempio n. 8
0
        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);
            }
        }
Esempio n. 10
0
//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);
        }