Esempio n. 1
0
 /// <summary>
 /// 画多边形按下esc取消
 /// </summary>
 /// <param name="sender"></param>
 /// <param name="e"></param>
 void mapControl_OnKeyDown(object sender, IMapControlEvents2_OnKeyDownEvent e)
 {
     if (e.keyCode == 27)
     {
         if (!isFinish)
         {
             layer.RemoveElement(polygonElement);
             listMapPoints.Clear();
             isFinish = true;
         }
         else
         {
             ReleaseCommond();
         }
     }
     if (e.keyCode == 17)//空格
     {
         isControl = true;
         ICommand command = new ControlsMapPanToolClass();
         command.OnCreate(mapControl.Object);
         if (command.Enabled)
         {
             mapControl.CurrentTool = command as ITool;
         }
     }
 }
Esempio n. 2
0
 private void Sites_FormClosed(object sender, FormClosedEventArgs e)
 {
     ESRI.ArcGIS.SystemUI.ICommand Pan = new ControlsMapPanToolClass();
     Pan.OnCreate(mMapControl.Object);
     Pan.OnClick();
     mMapControl.CurrentTool = (ITool)Pan;
 }
Esempio n. 3
0
            public static void PanTool()
            {
                ICommand pCommand = new ControlsMapPanToolClass();

                pCommand.OnCreate(m_pMapC2);
                m_pMapC2.CurrentTool = pCommand as ITool;
            }
Esempio n. 4
0
        /// <summary>
        /// 按下esc取消测量
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void mapControl_OnKeyDown(object sender, IMapControlEvents2_OnKeyDownEvent e)
        {
            if (e.keyCode == 27)
            {
                if (!isFinish)
                {
                    if (lineElement != null && textElement != null)
                    {
                        (layer as CompositeGraphicsLayerClass).DeleteElement(textElement);

                        (layer as CompositeGraphicsLayerClass).DeleteElement(lineElement);
                        mapControl.ActiveView.PartialRefresh(esriViewDrawPhase.esriViewAll, null, null);
                    }
                    isFinish    = true;
                    isMouseDown = false;
                }
                else
                {
                    ReleaseCommond();
                }
            }
            else if (e.keyCode == 17)
            {
                isControl = true;
                ICommand command = new ControlsMapPanToolClass();
                command.OnCreate(mapControl.Object);
                if (command.Enabled)
                {
                    mapControl.CurrentTool = command as ITool;
                }
            }
        }
Esempio n. 5
0
        private void barCheckItem2_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e)
        {
            ControlsMapPanToolClass tool = new ControlsMapPanToolClass();

            tool.OnCreate(this.MapControl.Object);
            MapControl.CurrentTool = tool;
        }
Esempio n. 6
0
 /// <summary>
 /// 键盘按下
 /// </summary>
 /// <param name="sender"></param>
 /// <param name="e"></param>
 private void mapControl_OnKeyDown(object sender, IMapControlEvents2_OnKeyDownEvent e)
 {
     if (e.keyCode == 27)
     {
         if (!isFinish)
         {
             layer.RemoveElement(circleElement);
             isMouseDown = false;
             isFinish    = true;
         }
         else
         {
             ReleaseCommond();
         }
     }
     else if (e.keyCode == 17)
     {
         isControl = true;
         ICommand command = new ControlsMapPanToolClass();
         command.OnCreate(mapControl.Object);
         if (command.Enabled)
         {
             mapControl.CurrentTool = command as ITool;
         }
     }
 }
Esempio n. 7
0
 /// <summary>
 /// 键盘按下事件
 /// </summary>
 /// <param name="sender"></param>
 /// <param name="e"></param>
 void mapControl_OnKeyDown(object sender, IMapControlEvents2_OnKeyDownEvent e)
 {
     if (e.keyCode == 27)
     {
         if (measureLine != null)
         {
             layer.RemoveElement(measureLine);
         }
         toltalLength = 0; segmentLength = 0;
         if (measurePolygon != null)
         {
             layer.RemoveElement(measurePolygon);
         }
         if (isFinish)
         {
             ReleaseCommond();
         }
         else
         {
             ResultEventArgs(" ");
             isFinish = true;
         }
     }
     if (e.keyCode == 17)//空格
     {
         isControl = true;
         ICommand command = new ControlsMapPanToolClass();
         command.OnCreate(mapControl.Object);
         if (command.Enabled)
         {
             mapControl.CurrentTool = command as ITool;
         }
     }
 }
Esempio n. 8
0
        private void MapPan()
        {
            ICommand pCommand = new ControlsMapPanToolClass();
            ITool    pTool    = pCommand as ITool;

            pCommand.OnCreate(axMapControl1.Object);
            axMapControl1.CurrentTool = pTool;
        }
Esempio n. 9
0
        private void buttonItem15_Click(object sender, EventArgs e)
        {
            ICommand Pan = new ControlsMapPanToolClass();

            Pan.OnCreate(axMapControl2.Object);
            Pan.OnClick();
            axMapControl2.CurrentTool = (ITool)Pan;
        }
Esempio n. 10
0
        private void barButtonItem102_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e)
        {
            ICommand pCommand = new ControlsMapPanToolClass();
            ITool    pTool    = pCommand as ITool;

            switch (this.xtraTabControl1.SelectedTabPageIndex)
            {
            case 0:
                pCommand.OnCreate(this.mainMapControl.Object);
                this.mainMapControl.CurrentTool = pTool;
                break;

            case 1:
                pCommand.OnCreate(this.axPageLayoutControl.Object);
                this.axPageLayoutControl.CurrentTool = pTool;
                break;
            }
        }
Esempio n. 11
0
 private void buttonItem7_Click(object sender, EventArgs e)
 {
     //设置为移动Icommand,PAN:
     m_sketchshape        = "pan";
     m_NewPolygonFeedback = null;
     ESRI.ArcGIS.SystemUI.ICommand panCommand = new ControlsMapPanToolClass();
     panCommand.OnCreate(m_MapCtrls.Object);
     m_MapCtrls.CurrentTool = panCommand as ITool;
 }
Esempio n. 12
0
        /// <summary>
        /// 终止命令
        /// </summary>
        public void ReleaseCommond()
        {
            ICommand tool = new ControlsMapPanToolClass();

            tool.OnCreate(mapControl.Object);
            mapControl.CurrentTool = tool as ITool;
            LogoutEvent();
            measureTool.Dispose();
        }
Esempio n. 13
0
        /// <summary>
        /// 漫游
        /// </summary>
        public void Roam(bool isDrag = true)
        {
            ICommand command = new ControlsMapPanToolClass();

            command.OnCreate(mapControl.Object);
            if (command.Enabled)
            {
                mapControl.CurrentTool = command as ITool;
            }
        }
Esempio n. 14
0
 /// <summary>
 /// 终止命令
 /// </summary>
 public void ReleaseCommond()
 {
     if (mapControl != null)
     {
         LogoutEvent();
         ICommand tool = new ControlsMapPanToolClass();
         tool.OnCreate(mapControl.Object);
         mapControl.CurrentTool = tool as ITool;
     }
 }
Esempio n. 15
0
        private void PanToolbtn_Click(object sender, EventArgs e)
        {
            //PanTool tool = new PanTool();
            //tool.OnCreate(this.axMapcontrol.GetOcx());
            //this.axMapcontrol.CurrentTool = tool as ITool;
            ICommand tool = new ControlsMapPanToolClass();

            tool.OnCreate(this.axMapcontrol.GetOcx());
            this.axMapcontrol.CurrentTool = tool as ITool;
        }
Esempio n. 16
0
        private void toolStripButton4_Click(object sender, EventArgs e)
        {
            bCreateOrNot = false;
            axMapControl1.CurrentTool = null;
            ICommand command = new ControlsMapPanToolClass();

            command.OnCreate(axMapControl1.Object);
            axMapControl1.CurrentTool   = (ITool)command;
            this.tsbStartCreate.Enabled = true;
        }
Esempio n. 17
0
 //窗口关闭时引发委托事件
 private void FrmMeasureResult_FormClosed(object sender, FormClosedEventArgs e)
 {
     if (frmClosed != null)
     {
         frmClosed();
     }
     ESRI.ArcGIS.SystemUI.ICommand Pan = new ControlsMapPanToolClass();
     Pan.OnCreate(mMapControl.Object);
     Pan.OnClick();
     mMapControl.CurrentTool = (ITool)Pan;
 }
Esempio n. 18
0
        public override void OnClick()
        {
            ILayer layer = (ILayer)m_mapControl.CustomProperty;

            //m_mapControl.Extent = layer.AreaOfInterest;
            ICommand pCommand;

            pCommand = new ControlsMapPanToolClass();
            pCommand.OnCreate(m_mapControl.Object);
            m_mapControl.CurrentTool = (ITool)pCommand;
        }
 //平移
 public static void Pan(ESRI.ArcGIS.Controls.AxMapControl axMapControl)
 {
     if (axMapControl == null)
     {
         return;
     }
     ICommand pCommand;
     pCommand = new ControlsMapPanToolClass();
     pCommand.OnCreate(axMapControl.Object);
     axMapControl.CurrentTool = (ITool)pCommand;
 }
Esempio n. 20
0
        //平移
        public static void Pan(ESRI.ArcGIS.Controls.AxMapControl axMapControl)
        {
            if (axMapControl == null)
            {
                return;
            }
            ICommand pCommand;

            pCommand = new ControlsMapPanToolClass();
            pCommand.OnCreate(axMapControl.Object);
            axMapControl.CurrentTool = (ITool)pCommand;
        }
        private void MainForm_Load(object sender, EventArgs e)
        {
            this.TOCControl.SetBuddyControl(this.MapControl);
            this.MapControl.LoadMxFile(@"D:\20210203\IMG\666.mxd");
            this.MapControl.Extent = this.MapControl.FullExtent;
            ICommand mICommand = new ControlsMapPanToolClass();

            mICommand.OnCreate(this.MapControl.Object);
            this.MapControl.CurrentTool = mICommand as ITool;
            this.mIGraphicsContainer    = this.MapControl.Map as IGraphicsContainer;
            this.mIFeatureLayer         = this.MapControl.GetILayer("Rectangle") as IFeatureLayer;
        }
Esempio n. 22
0
        /// <summary>
        /// 释放工具命令
        /// </summary>
        public void ReleaseCommond()
        {
            if (mapControl != null)
            {
                ICommand tool = new ControlsMapPanToolClass();
                tool.OnCreate(mapControl.Object);
                mapControl.CurrentTool = tool as ITool;

                mapControl.OnMouseDown -= mapControl_OnMouseDown;
                textCtrl              = null;
                mapControl.OnKeyDown -= mapControl_OnKeyDown;
            }
        }
        private void ClickQuery_FormClosed(object sender, FormClosedEventArgs e)
        {
            mMapControl.Map.ClearSelection();
            IGraphicsContainer pGrap = mMapControl.ActiveView as IGraphicsContainer;

            pGrap.DeleteAllElements();        //删除所添加的图片要素
            mMapControl.ActiveView.Refresh(); //刷新图层
            mMapControl.CurrentTool = null;
            //Pan功能
            ESRI.ArcGIS.SystemUI.ICommand Pan = new ControlsMapPanToolClass();
            Pan.OnCreate(mMapControl.Object);
            Pan.OnClick();
            mMapControl.CurrentTool = (ITool)Pan;
        }
Esempio n. 24
0
        /// <summary>
        /// 取消操作
        /// </summary>
        public void ReleaseCommond()
        {
            ICommand tool = new ControlsMapPanToolClass();

            tool.OnCreate(mapControl.Object);
            mapControl.CurrentTool = tool as ESRI.ArcGIS.SystemUI.ITool;

            LogoutEvent();
            if (layer != null)
            {
                mapControl.Map.DeleteLayer(layer);
            }
            mapControl.ActiveView.PartialRefresh(esriViewDrawPhase.esriViewGraphics, null, null);
        }
Esempio n. 25
0
        /// <summary>
        /// 终止命令
        /// </summary>
        public void ReleaseCommond()
        {
            foreach (var item in markerList)
            {
                item.Dispose();
            }
            markerList.Clear();
            mapControl.Map.DeleteLayer(layer);
            LogoutEvent();
            ICommand tool = new ControlsMapPanToolClass();

            tool.OnCreate(mapControl.Object);
            mapControl.CurrentTool = tool as ESRI.ArcGIS.SystemUI.ITool;
        }
Esempio n. 26
0
 /// <summary>
 /// 键盘按下事件
 /// </summary>
 /// <param name="sender"></param>
 /// <param name="e"></param>
 void mapControl_OnKeyDown(object sender, IMapControlEvents2_OnKeyDownEvent e)
 {
     if (e.keyCode == 27)
     {
         ReleaseCommond();
     }
     if (e.keyCode == 17)//空格
     {
         isControl = true;
         ICommand command = new ControlsMapPanToolClass();
         command.OnCreate(mapControl.Object);
         if (command.Enabled)
         {
             mapControl.CurrentTool = command as ITool;
         }
     }
 }
Esempio n. 27
0
 /// <summary>
 /// 漫游工具
 /// </summary>
 /// <param name="sender"></param>
 /// <param name="e"></param>
 private void PantooltoolStripButton4_Click(object sender, EventArgs e)
 {
     //当选中为数据视图时
     if (tabControl1.SelectedIndex == 0)
     {
         ICommand pCommand = new ControlsMapPanToolClass();
         ITool    pTool    = pCommand as ITool;
         pCommand.OnCreate(this.axMapControl1.Object);
         this.axPageLayoutControl1.CurrentTool = pTool;
     }
     //当选中为布局视图时
     if (tabControl1.SelectedIndex == 1)
     {
         ICommand pCommand = new ControlsMapPanToolClass();
         ITool    pTool    = pCommand as ITool;
         pCommand.OnCreate(this.axPageLayoutControl1.Object);
         this.axPageLayoutControl1.CurrentTool = pTool;
     }
 }
Esempio n. 28
0
        private void MainForm_Load(object sender, EventArgs e)
        {
            this.WindowState = FormWindowState.Maximized;    //打开最大化

            m_MapView = new MapView(this, axMapControl1);

            axMapControl1.LoadMxFile(@"地图数据\wuhan.mxd");//自动读入数据
            axMapControl1.get_Layer(0).MinimumScale = 264779;
            //以下为全图浏览功能
            m_MapView.CurMapOperation = MapOperation.MapFullScope;
            //以下为Pan功能
            ESRI.ArcGIS.SystemUI.ICommand Pan = new ControlsMapPanToolClass();
            Pan.OnCreate(axMapControl1.Object);
            Pan.OnClick();
            axMapControl1.CurrentTool = (ITool)Pan;
            ////////////////////////
            string          mystr;
            OleDbConnection myconn = new OleDbConnection();
            DataSet         myds1  = new DataSet();
            DataSet         myds2  = new DataSet();

            mystr = "Provider=Microsoft.Jet.OLEDB.4.0;" + "Data Source=" + @"Tour.mdb";
            myconn.ConnectionString = mystr;
            myconn.Open();

            OleDbDataAdapter myda1 = new OleDbDataAdapter("SELECT distinct 几日游 FROM Tourline", myconn);

            myda1.Fill(myds1, "Tourline");
            comboBox1.DataSource    = myds1.Tables["Tourline"];
            comboBox1.DisplayMember = "几日游";

            OleDbDataAdapter myda2 = new OleDbDataAdapter("SELECT distinct 类型 FROM Tourline", myconn);

            myda2.Fill(myds2, "Tourline");
            comboBox2.DataSource    = myds2.Tables["Tourline"];
            comboBox2.DisplayMember = "类型";

            myconn.Close();
            comboBox1.Text = "";
            comboBox2.Text = "";
        }
Esempio n. 29
0
        /// <summary>
        /// 结束操作
        /// </summary>
        public void ReleaseCommond()
        {
            mapControl.OnMouseDown -= mapControl_OnMouseDown;
            mapControl.OnMouseMove -= mapControl_OnMouseMove;
            mapControl.OnMouseUp   -= mapControl_OnMouseUp;
            mapControl.OnKeyDown   -= mapControl_OnKeyDown;

            if (CommondExecutedEvent != null)
            {
                MessageEventArgs message = new MessageEventArgs()
                {
                    Describe = "选择图元",
                    Data     = listElements,
                    ToolType = ToolTypeEnum.Select
                };

                CommondExecutedEvent(this, message);
            }
            ICommand tool = new ControlsMapPanToolClass();

            tool.OnCreate(mapControl.Object);
            mapControl.CurrentTool = tool as ITool;
        }
Esempio n. 30
0
 void IGMap.Pan()
 {
     ICommand command = new ControlsMapPanToolClass();
     command.OnCreate(this._hook);
     (this._mapHook).CurrentTool = (ITool)command;
 }
Esempio n. 31
0
        private void dotNetBarManager1_ItemClick(object sender, EventArgs e)
        {
            AxMapControl pAxMapControl = this.axMapControlMain;
            BaseItem item = sender as BaseItem;
            if (item == null) return;
            iFlagSelection = -1;
            switch (item.Name)
            {
                //新建工程
                case "mFileNewProject":
                case "bStandardNewProject":
                    ESRISysUI.ICommand pNewProject = new ESRICmdLib.ControlsNewDocCommandClass();
                    pNewProject.OnCreate(pAxMapControl.Object);
                    pNewProject.OnClick();
                    break;
                case "mFileOpenProject":
                case "bStandardOpenProject":
                    ESRISysUI.ICommand pOpenProject = new ControlsOpenDocCommandClass();
                    pOpenProject.OnCreate(pAxMapControl.Object);
                    pOpenProject.OnClick();
                    break;
                case "mFileSaveProject":
                case "bStandardSaveProject":
                    saveMapDocument(pAxMapControl);
                    break;
                case "mFileSaveAsProject":
                    ESRISysUI.ICommand pSaveAsProject = new ControlsSaveAsDocCommandClass();
                    pSaveAsProject.OnCreate(pAxMapControl.Object);
                    pSaveAsProject.OnClick();
                    break;
                case "mFileMapExport":
                case "bStandardMapExport":
                    ESRISysUI.ICommand pMapExport = new ESRICmdLib.ControlsExportMapCommandClass();
                    pMapExport.OnCreate(pAxMapControl.Object);
                    pMapExport.OnClick();
                    break;
                case "mFileMapPrint":
                case "bStandardPrint":
                    ESRISysUI.ICommand pMapPrint = new ESRICmdLib.ControlsPrintMapCommandClass();
                    pMapPrint.OnCreate(pAxMapControl.Object);
                    pMapPrint.OnClick();
                    break;
                case "mFileAddData":
                case "bStandardAddData":
                    ESRISysUI.ICommand pAddData = new ControlsAddDataCommandClass();
                    pAddData.OnCreate(pAxMapControl.Object);
                    pAddData.OnClick();
                    break;

                case "mFileExitSystem":
                    this.Close();
                    break;
                case "mViewLayerManagement":
                    this.barLayerManagement.Visible = (item as ButtonItem).Checked;
                    break;
                //mViewToolbox
                case "mViewToolboxStandard":
                    this.barToolboxStandard.Visible = (item as ButtonItem).Checked;
                    break;
                case "mViewToolboxMap":
                    this.barToolboxMap.Visible = (item as ButtonItem).Checked;
                    break;
                case "mViewStatusbar":
                    this.statusStripMain.Visible = (item as ButtonItem).Checked;
                    break;
                case "mEcoRedLineGeoHazards":
                    break;
                case "mEcoRedLineTerrain":
                    frmTerrain pFrmTerrain = new frmTerrain(pAxMapControl.Map);
                    pFrmTerrain.ShowDialog();
                    break;
                case "mEcoRedLineWSCons":
                    frmWaterSoilConservation pFrmWaterSoilConervation = new frmWaterSoilConservation(pAxMapControl.Map);
                    pFrmWaterSoilConervation.ShowDialog();
                    break;
                case "mEcoRedLineWCons":
                    frmWaterConervation pFrmWaterConervation = new frmWaterConervation(pAxMapControl.Map);
                    pFrmWaterConervation.ShowDialog();
                    break;
                case "mEcoRedLineFlood":
                    MessageBox.Show("正在研发!");
                    break;
                case "mEcoRedLineBiodiversity":
                    MessageBox.Show("正在研发!");
                    break;
                //预测
                case "mTrendPop":
                    frmPOP pFrmPop = new frmPOP();
                    pFrmPop.ShowDialog();
                    break;
                case "mTrendGdp":
                    frmGDP pFrmGdp = new frmGDP();
                    pFrmGdp.ShowDialog();
                    break;
                case "mTrendLand":
                    MessageBox.Show("正在研发!");
                    break;
                case "mOptDLS":
                    frmDLSSimulation pFrmDLSSimulation = new frmDLSSimulation(pAxMapControl.Map);
                    pFrmDLSSimulation.ShowDialog();
                    break;
                //空间分析
                case "mSpBuffer":
                    frmBuffer pFrmBuffer = new frmBuffer(pAxMapControl.Map);
                    pFrmBuffer.ShowDialog();
                    pFrmBuffer.Dispose();
                    break;
                case "mSpClip":
                    frmClips pFrmClip = new frmClips(pAxMapControl.Map);
                    pFrmClip.ShowDialog();
                    pFrmClip.Dispose();
                    break;
                case "mSpReClass":
                    frmRasterReClass pFrmRaterReClass = new frmRasterReClass(pAxMapControl.Map);
                    pFrmRaterReClass.ShowDialog();
                    pFrmRaterReClass.Dispose();
                    break;
                case "mSpSlope":
                    frmSlope pFrmSlope = new frmSlope(pAxMapControl.Map);
                    pFrmSlope.ShowDialog();
                    pFrmSlope.Dispose();
                    break;
                case "mSpAspect":
                    frmAspect pFrmAspect = new frmAspect(pAxMapControl.Map);
                    pFrmAspect.ShowDialog();
                    pFrmAspect.Dispose();
                    break;
                case "mSpDtFeature2Raster":
                    frmFeatureToRaster pFrmFeatureToRaster = new frmFeatureToRaster(pAxMapControl.Map);
                    pFrmFeatureToRaster.ShowDialog();
                    pFrmFeatureToRaster.Dispose();
                    break;
                case "mSpDtRaster2Feature":
                    frmRasterToFeature pFrmRasterToFeature = new frmRasterToFeature(pAxMapControl.Map);
                    pFrmRasterToFeature.ShowDialog();
                    pFrmRasterToFeature.Dispose();
                    break;
                case "mSpStatistic":
                    frmStatistic pFrmStatistic = new frmStatistic(pAxMapControl.Map);
                    pFrmStatistic.ShowDialog();
                    pFrmStatistic.Dispose();
                    break;
                case "mHelpHelp":
                    //PageLayout.frmPageLayout pageLayout = new PageLayout.frmPageLayout(this.mapControl.Object as IMapControl3);
                    //pageLayout.Owner = this;
                    //pageLayout.Show();
                    MessageBox.Show("正在研发!");
                    break;
                case "mHelpAbout":
                    frmReport p = new frmReport(pAxMapControl.Map);
                    p.ShowDialog();
                    p.Dispose();
                    //RasterSymbology.frmSymbology p = new RasterSymbology.frmSymbology(this._mapControl.ActiveView.FocusMap.get_Layer(0) as IRasterLayer, this._mapControl as IMapControl4,this._tocControl as ITOCControl2);
                    //p.ShowDialog();
                    //p.Dispose();

                    //MessageBox.Show("正在研发!");
                    break;

                //地图操作工具栏
                case "bMapZoomIn":
                    ESRISysUI.ICommand pZoomInTool = null;
                    pZoomInTool = new ControlsMapZoomInToolClass();
                    pZoomInTool.OnCreate(pAxMapControl.Object);
                    pAxMapControl.CurrentTool = pZoomInTool as ESRISysUI.ITool;
                    break;
                case "bMapZoomOut":
                    ESRISysUI.ICommand pZoomOutTool = null;
                    pZoomOutTool = new ControlsMapZoomOutToolClass();
                    pZoomOutTool.OnCreate(pAxMapControl.Object);
                    pAxMapControl.CurrentTool = pZoomOutTool as ESRISysUI.ITool;
                    break;
                case "bMapPan":
                    ESRISysUI.ICommand pPan = null;
                    pPan = new ControlsMapPanToolClass();
                    pPan.OnCreate(pAxMapControl.Object);
                    pAxMapControl.CurrentTool = pPan as ESRISysUI.ITool;
                    break;
                case "bMapFullExtent":
                    ESRISysUI.ICommand pFullExtent = null;
                    pFullExtent = new ControlsMapFullExtentCommandClass();
                    pFullExtent.OnCreate(pAxMapControl.Object);
                    pFullExtent.OnClick();
                    break;
                case "bMapFixedZoomIn":
                    ESRISysUI.ICommand pFixdZoomIn = null;
                    pFixdZoomIn = new ControlsMapZoomInFixedCommandClass();
                    pFixdZoomIn.OnCreate(pAxMapControl.Object);
                    pFixdZoomIn.OnClick();
                    break;
                case "bMapFixedZoomOut":
                    ESRISysUI.ICommand pFixedZoomOut = null;
                    pFixedZoomOut = new ControlsMapZoomOutFixedCommandClass();
                    pFixedZoomOut.OnCreate(pAxMapControl.Object);
                    pFixedZoomOut.OnClick();
                    break;
                case "bMapPreviousExtent":
                    ESRISysUI.ICommand pPreviousExtent = null;
                    pPreviousExtent = new ControlsMapZoomToLastExtentForwardCommandClass();
                    pPreviousExtent.OnCreate(pAxMapControl.Object);
                    pPreviousExtent.OnClick();
                    break;
                case "bMapNextExtent":
                    ESRISysUI.ICommand pNextExtent = null;
                    pNextExtent = new ControlsMapZoomToLastExtentBackCommandClass();
                    pNextExtent.OnCreate(pAxMapControl.Object);
                    pNextExtent.OnClick();
                    break;
                case "bMapSelection":
                    bMapSelection.ImageIndex = 14;
                    iFlagSelection = 0;
                    break;
                case "bMapSelectRectangle":
                    bMapSelection.ImageIndex = 14;
                    iFlagSelection = 1;
                    break;
                case "bMapSelectPolygon":
                    bMapSelection.ImageIndex = 15;
                    iFlagSelection = 2;
                    break;
                case "bMapSelectCircle":
                    bMapSelection.ImageIndex = 16;
                    iFlagSelection = 3;
                    break;
                case "bMapSelectLine":
                    bMapSelection.ImageIndex =17;
                    iFlagSelection = 4;
                    break;
                case "bMapSelectionClear":
                    ESRISysUI.ICommand pSelectionClear = null;
                    pSelectionClear = new ControlsClearSelectionCommandClass();
                    pSelectionClear.OnCreate(pAxMapControl.Object);
                    pSelectionClear.OnClick();
                    //IActiveView pActiveView=(IActiveView)(this.axMapControlMain.Map);
                    //pActiveView.PartialRefresh(esriViewDrawPhase.esriViewGeoSelection, null, null);
                    //this.axMapControlMain.Map.ClearSelection();
                    //pActiveView.PartialRefresh(esriViewDrawPhase.esriViewGeoSelection, null, null);
                    //this.axMapControlMain.CurrentTool = null;
                    break;
                case "bMapIdentify":
                    //ESRISysUI.ICommand pIdentify = null;
                    //pIdentify = new ControlsMapIdentifyToolClass();
                    //pIdentify.OnCreate(pAxMapControl.Object);
                    //pAxMapControl.CurrentTool = pIdentify as ESRISysUI.ITool;
                    CMapTool cIden = new CMapTool();
                    cIden.Identify(this.axMapControlMain);

                    break;
                case "bMapMeasure":
                    //ESRISysUI.ICommand pMeasure = null;
                    //pMeasure = new ControlsMapMeasureToolClass();
                    //pMeasure.OnCreate(pAxMapControl.Object);
                    //pAxMapControl.CurrentTool = pMeasure as ESRISysUI.ITool;
                     CMapTool cMea = new CMapTool();
                    cMea.Measure(this.axMapControlMain);
                    break;

                default:
                    //MessageBox.Show("正在研发!");
                    break;
            }
        }
Esempio n. 32
0
        private void Form1_Load(object sender, EventArgs e)
        {
            axTOCControl1.SetBuddyControl(axMapControl1);

            //启动默认为pan
            ICommand command = new ControlsMapPanToolClass();
            command.OnCreate(axMapControl1.Object);
            axMapControl1.CurrentTool = command as ITool;

            m_tocControl = (ITOCControl2)axTOCControl1.Object;
            m_mapControl = (IMapControl3)axMapControl1.Object;

            m_menuMap = new ToolbarMenuClass();
            m_menuLayer = new ToolbarMenuClass();

            istoolenable(false);
        }
Esempio n. 33
0
 private void bubbleBtnPan_Click(object sender, DevComponents.DotNetBar.ClickEventArgs e)
 {
     ICommand pCommand = new ControlsMapPanToolClass();
     ITool pTool = pCommand as ITool;
     switch (this.tabControl.SelectedTabIndex)
     {
         case 0:
             pCommand.OnCreate(this.mainMapControl.Object);
             this.mainMapControl.CurrentTool = pTool;
             break;
         case 1:
             pCommand.OnCreate(this.axPageLayoutControl.Object);
             this.axPageLayoutControl.CurrentTool = pTool;
             break;
     }
 }
 /// <summary>
 ///
 /// </summary>
 /// <param name="sender"></param>
 /// <param name="e"></param>
 private void MapControl_OnMouseDown(object sender, IMapControlEvents2_OnMouseDownEvent e)
 {
     if (this.blTrackRectangle == true)
     {
         this.mIEnvelope       = this.MapControl.TrackRectangle();
         this.blTrackRectangle = false;
         ICommand mICommand = new ControlsMapPanToolClass();
         mICommand.OnCreate(this.MapControl.Object);
         this.MapControl.CurrentTool = mICommand as ITool;
         ISimpleLineSymbol mISimpleLineSymbol = new SimpleLineSymbolClass();
         RgbColor          mRgbColor          = new RgbColor();
         mRgbColor.Red            = 255;
         mRgbColor.Green          = 0;
         mRgbColor.Blue           = 0;
         mISimpleLineSymbol.Color = mRgbColor;
         mISimpleLineSymbol.Width = 1;
         ILineElement mILineElement = new LineElementClass();
         mILineElement.Symbol = mISimpleLineSymbol;
         IElement         mIElement         = mILineElement as IElement;
         IPointCollection mIPointCollection = new PolylineClass();
         mIPointCollection.AddPoint(this.mIEnvelope.UpperLeft);
         mIPointCollection.AddPoint(this.mIEnvelope.LowerLeft);
         mIPointCollection.AddPoint(this.mIEnvelope.LowerRight);
         mIPointCollection.AddPoint(this.mIEnvelope.UpperRight);
         mIPointCollection.AddPoint(this.mIEnvelope.UpperLeft);
         IPolyline mIPolyline = (IPolyline)mIPointCollection;
         mIElement.Geometry = mIPolyline;
         this.mIGraphicsContainer.AddElement(mIElement, 0);
         this.MapControl.ActiveView.PartialRefresh(esriViewDrawPhase.esriViewBackground, null, this.mIEnvelope);
         List <IFeature> lstIFeatureall = this.mIFeatureLayer.GetLstIFeature("", false);
         List <double>   Xmins          = new List <double>();
         List <double>   Xmaxs          = new List <double>();
         List <double>   Ymins          = new List <double>();
         List <double>   Ymaxs          = new List <double>();
         for (int i = 0; i < lstIFeatureall.Count; i++)
         {
             Xmins.Add(lstIFeatureall[i].GetStringValue("Xmin").ToDouble().RetentionDecimal(6));
             Xmaxs.Add(lstIFeatureall[i].GetStringValue("Xmax").ToDouble().RetentionDecimal(6));
             Ymins.Add(lstIFeatureall[i].GetStringValue("Ymin").ToDouble().RetentionDecimal(6));
             Ymaxs.Add(lstIFeatureall[i].GetStringValue("Ymax").ToDouble().RetentionDecimal(6));
         }
         double          XmaxAll     = Xmaxs.Max();
         double          XminAll     = Xmins.Min();
         double          YminAll     = Ymins.Min();
         double          YmaxAll     = Ymaxs.Max();
         List <IFeature> lstIFeature = this.mIFeatureLayer.GetLstIFeature(this.mIEnvelope, "", esriSpatialRelEnum.esriSpatialRelIntersects);
         if (lstIFeature.Count == 0)
         {
             MessageBox.Show("选了0块!请重新框!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
             return;
         }
         GC.Collect();
         MessageBox.Show("框中" + lstIFeature.Count.ToString() + "个", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
         aa = DateTime.Now;
         double ownXmin = this.mIEnvelope.XMin.RetentionDecimal(6); //自己框Xmin
         double ownXmax = this.mIEnvelope.XMax.RetentionDecimal(6); //自己框Xmin
         double ownYmin = this.mIEnvelope.YMin.RetentionDecimal(5); //自己框Xmin
         double ownYmax = this.mIEnvelope.YMax.RetentionDecimal(5); //自己框Xmin
         if (ownXmax > XmaxAll)
         {
             ownXmax = XmaxAll;
         }
         if (ownYmax > YmaxAll)
         {
             ownYmax = YmaxAll;
         }
         if (ownXmin < XminAll)
         {
             ownXmin = XminAll;
         }
         if (ownYmin < YminAll)
         {
             ownYmin = YminAll;
         }
         double CellSize = lstIFeature[0].GetStringValue("CSize").ToDouble().RetentionDecimal(3);//影像像素宽度
         int    allrow   = Convert.ToInt32(Math.Round((XmaxAll - XminAll) / CellSize / lstIFeatureall[0].GetStringValue("Width").ToInt32()));
         int    allY     = Convert.ToInt32((YmaxAll - YminAll) / CellSize);
         int    X_max    = Convert.ToInt32((ownXmax - XminAll) / CellSize); //像素坐标Xmax
         int    X_min    = Convert.ToInt32((ownXmin - XminAll) / CellSize); //像素坐标Xmin
         int    Y_max    = Convert.ToInt32((ownYmax - YminAll) / CellSize); //像素坐标Ymax
         int    Y_min    = Convert.ToInt32((ownYmin - YminAll) / CellSize); //像素坐标Ymin
         if (X_max - X_min >= 10000 || Y_max - Y_min >= 10000)
         {
             MessageBox.Show("框选范围过大请再次尝试,请将范围控制在10000*10000像素");
             return;
         }
         List <img>    imgs  = new List <img>();
         List <int>    rows  = new List <int>();
         List <int>    cols  = new List <int>();
         List <string> names = new List <string>();
         for (int i = 0; i < lstIFeature.Count; i++)
         {
             string       Name          = lstIFeature[i].GetStringValue("Name");//影像名字
             ILayer       mILayer       = this.MapControl.GetILayer(Name);
             IRasterLayer mIRasterLayer = mILayer as IRasterLayer;
             string       Path          = mIRasterLayer.FilePath;                                               //影像文件路径
             int          Width         = lstIFeature[i].GetStringValue("Width").ToInt32();                     //影像宽
             int          Height        = lstIFeature[i].GetStringValue("Height").ToInt32();                    //影像高
             double       Xmin          = lstIFeature[i].GetStringValue("Xmin").ToDouble().RetentionDecimal(6); //影像包围框Xmin
             double       Xmax          = lstIFeature[i].GetStringValue("Xmax").ToDouble().RetentionDecimal(6); //影像包围框Xmax
             double       Ymin          = lstIFeature[i].GetStringValue("Ymin").ToDouble().RetentionDecimal(5); //影像包围框Ymin
             double       Ymax          = lstIFeature[i].GetStringValue("Ymax").ToDouble().RetentionDecimal(5); //影像包围框Ymax
             int          col           = Convert.ToInt32(Math.Ceiling(Math.Round((Xmax - XminAll) / CellSize) / lstIFeatureall[0].GetStringValue("Width").ToInt32()));
             int          row           = allrow - Convert.ToInt32(Math.Ceiling(Math.Round((Ymax - YminAll) / CellSize) / lstIFeatureall[0].GetStringValue("Height").ToInt32())) + 1;
             rows.Add(row);
             cols.Add(col);
             names.Add(Name);
             imgs.Add(new img(row, col, new Mat(Path), Path, Convert.ToInt32((Xmax - XminAll) / CellSize), Convert.ToInt32((Xmin - XminAll) / CellSize), Convert.ToInt32(allY - (Ymax - YminAll) / CellSize), Convert.ToInt32(allY - (Ymin - YminAll) / CellSize)));
         }
         SaveFileDialog saveFileDialog = new SaveFileDialog();
         saveFileDialog.Filter = "*.txt|*.txt";
         paixu(ref imgs, rows, cols);
         printscreen(imgs, cols, rows, X_min, allY - Y_max, X_max, allY - Y_min, names, saveFileDialog);
     }
 }
Esempio n. 35
0
 public override void OnClick()
 {
     ICommand cmd = new ControlsMapPanToolClass();
     cmd.OnCreate(m_mapControl);
     m_mapControl.CurrentTool = cmd as ITool;
 }