Ejemplo n.º 1
0
        public override void OnMouseDown(int Button, int Shift, int X, int Y)
        {
            if (m_hookHelper.Hook == null)
            {
                return;
            }
            IMapControl2 pMapCtl = m_hookHelper.Hook as IMapControl2;

            ESRI.ArcGIS.Geometry.IEnvelope pGeometry = pMapCtl.TrackRectangle();
            if (pGeometry == null)
            {
                return;
            }
            ESRI.ArcGIS.Carto.IMap pMap = m_hookHelper.FocusMap;

            //更改获取面积的方法,20111123
            double area  = GetArea(pGeometry, pMap);
            double dArea = SysCommon.ModSysSetting.GetExportAreaOfUser(Plugin.ModuleCommon.TmpWorkSpace, m_pAppForm.ConnUser);

            if (dArea >= 0 && area > dArea)
            {
                MessageBox.Show("超过提取最大面积", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
                return;
            }

            drawgeometryXOR(pGeometry as IGeometry);

            frm          = new frmExport(pMap, pGeometry);
            frm.WriteLog = WriteLog; //ygc 2012-9-12 是否写日志
            frm.m_area   = area;
            //ZQ 2011 1126 modify
            SysCommon.ScreenDraw.list.Add(ToolEvnelopeExportAfterDraw);
            frm.FormClosed += new FormClosedEventHandler(frm_FormClosed);
            frm.ShowDialog();
        }
Ejemplo n.º 2
0
        public override void OnClick()
        {
            if (_AppHk == null)
            {
                return;
            }
            if (this.WriteLog)
            {
                Plugin.LogTable.Writelog(base._Caption);//xisheng 日志记录
            }
            ESRI.ArcGIS.Carto.IMap pMap = _AppHk.MapControl.ActiveView.FocusMap;
            //IArea pArea = pGon as IArea;
            //double area = pArea.Area;
            //GetArea(ref area, pMap);
            //double dArea = SysCommon.ModSysSetting.GetExportAreaOfUser(Plugin.ModuleCommon.TmpWorkSpace, m_pAppForm.ConnUser);

            //if (dArea >= 0 && area > dArea)
            //{
            //    MessageBox.Show("超过提取最大面积", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
            //    return;
            //}
            ///ZQ  20111027 add  判断数据字典是否初始化
            if (SysCommon.ModField._DicFieldName.Count == 0)
            {
                SysCommon.ModField.InitNameDic(Plugin.ModuleCommon.TmpWorkSpace, SysCommon.ModField._DicFieldName, "属性对照表");
            }
            GeoDataExport.frmExport frm = null;
            frm          = new GeoDataExport.frmExport(pMap, null);
            frm.WriteLog = WriteLog;//ygc 2012-9-12 是否写日志
            frm.WriteLog = this.WriteLog;
            frm.ShowDialog();
        }
Ejemplo n.º 3
0
        public override void OnClick()
        {//XZQLocation
            if (_hook == null)
            {
                return;
            }
            if (_hook.MainUserControl == null)
            {
                return;
            }
            SysCommon.ModSysSetting.CopyLayerTreeXmlFromDataBase(Plugin.ModuleCommon.TmpWorkSpace, ModGetData.LayerXMLpath);
            IGeometry xzqGeo = ModGetData.getExtentByXZQ(m_xzqTree.SelectedNode);

            if (xzqGeo == null)
            {
                SysCommon.Error.ErrorHandle.ShowFrmErrorHandle("提示", "未找到相应的行政区范围!");
                return;
            }
            ///ZQ  20111027 add  判断数据字典是否初始化
            if (SysCommon.ModField._DicFieldName.Count == 0)
            {
                SysCommon.ModField.InitNameDic(Plugin.ModuleCommon.TmpWorkSpace, SysCommon.ModField._DicFieldName, "属性对照表");
            }
            GeoDataExport.frmExport pfrmExport = new GeoDataExport.frmExport(_hook.MapControl.Map, xzqGeo);
            pfrmExport.WriteLog = this.WriteLog;               //ygc 2012-9-11 新增是否写日志
            pfrmExport.XZQCode  = m_xzqTree.SelectedNode.Name; //yjl20111012 过滤行政区代码
            pfrmExport.ShowDialog();
        }
Ejemplo n.º 4
0
        //20110921 XISHENG  将导入txt范围的改成导入MDB,shp
        public override void OnClick()
        {
            if (_AppHk == null)
            {
                return;
            }
            if (this.WriteLog)
            {
                Plugin.LogTable.Writelog(base._Caption);//xisheng 日志记录
            }
            OpenFileDialog dlg = new OpenFileDialog();

            //dlg.Filter = "个人数据库(*.mdb)|*.mdb|shp数据|*.shp|文本文件|*.txt";
            //dlg.Filter = "个人数据库(*.mdb)|*.mdb|shp数据|*.shp|文本文件|*.txt";
            dlg.Filter = "shp数据|*.shp|个人数据库(*.mdb)|*.mdb|文件数据库(*.gdb)|gdb";
            if (dlg.ShowDialog() == DialogResult.Cancel)
            {
                return;
            }
            IPolygon pGon = new PolygonClass();

            pGon = SysCommon.ModPublicFun.GetPolyGonFromFile(dlg.FileName);
            if (pGon == null)
            {
                return;
            }
            ESRI.ArcGIS.Carto.IMap pMap = _AppHk.MapControl.ActiveView.FocusMap;
            IArea  pArea = pGon as IArea;
            double area  = pArea.Area;

            GetArea(ref area, pMap);
            double dArea = SysCommon.ModSysSetting.GetExportAreaOfUser(Plugin.ModuleCommon.TmpWorkSpace, m_pAppForm.ConnUser);

            if (dArea >= 0 && area > dArea)
            {
                MessageBox.Show("超过提取最大面积", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
                return;
            }
            drawgeometryXOR(pGon, m_pScreenDisplay);
            ///ZQ  20111027 add  判断数据字典是否初始化
            if (SysCommon.ModField._DicFieldName.Count == 0)
            {
                SysCommon.ModField.InitNameDic(Plugin.ModuleCommon.TmpWorkSpace, SysCommon.ModField._DicFieldName, "属性对照表");
            }
            frm             = new GeoDataExport.frmExport(pMap, pGon as ESRI.ArcGIS.Geometry.IGeometry);
            frm.WriteLog    = this.WriteLog; //ygc 2012-9-11 新增是否写日志
            frm.m_area      = area;
            frm.FormClosed += new FormClosedEventHandler(frm_FormClosed);
            frm.ShowDialog();
        }
Ejemplo n.º 5
0
        /// <summary>
        /// Occurs when this command is clicked
        /// </summary>
        public override void OnClick()
        {
            if (m_hookHelper.Hook == null)
            {
                return;
            }

            List <IGeometry> vTemp = GetDataGeometry(m_hookHelper.FocusMap);
            IMap             pMap  = m_hookHelper.FocusMap;

            if (vTemp == null)
            {
                return;
            }
            ESRI.ArcGIS.Geometry.IPolygon pGeometry = GetUnion(vTemp) as IPolygon;

            if (pGeometry == null)
            {
                return;
            }
            IArea  pArea = pGeometry as IArea;
            double area  = pArea.Area;

            GetArea(ref area, pMap);
            //ygc 2012-10-15 屏蔽面积判断
            //double dArea = SysCommon.ModSysSetting.GetExportAreaOfUser(Plugin.ModuleCommon.TmpWorkSpace, m_pAppForm.ConnUser);
            //if (dArea >= 0 && area > dArea)
            //{
            //    MessageBox.Show("超过提取最大面积", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
            //    return;
            //}
            //end
            //ICommand pCmd = new ControlsClearSelectionCommandClass();
            //pCmd.OnCreate(m_hookHelper.Hook);
            //pCmd.OnClick();
            pMap.ClearSelection();
            m_pActiveView.Refresh();
            Application.DoEvents();
            drawgeometryXOR(pGeometry, m_pScreenDisplay);


            frm             = new frmExport(pMap, pGeometry);
            frm.WriteLog    = WriteLog;//ygc 2012-9-12 是否写日志
            frm.m_area      = area;
            frm.FormClosed += new FormClosedEventHandler(frm_FormClosed);
            frm.ShowDialog();
            Application.DoEvents();
        }