Ejemplo n.º 1
0
        private void btnOK_Click(object sender, EventArgs e)
        {
            if (cBoxZT.Text == "")
            {
                return;
            }
            bool isSpecial = ModGetData.IsMapSpecial();

            if (isSpecial) //如果找特定专题
            {
                DesMap = new MapClass();
                ModGetData.AddMapOfNoneXZQ(DesMap, "DOM", cBoxZT.Text, SourceMap);
                if (DesMap.LayerCount == 0)
                {
                    SysCommon.Error.ErrorHandle.ShowFrmErrorHandle("提示", "未找到图层。");
                    this.DialogResult = DialogResult.Cancel;
                }
                ModuleMap.LayersComposeEx(DesMap); //图层排序
            }
            else
            {
                IObjectCopy pOC = new ObjectCopyClass();
                DesMap = pOC.Copy(SourceMap) as IMap; //复制地图
            }
            this.DialogResult = DialogResult.OK;
        }
Ejemplo n.º 2
0
        public override void OnClick()
        {
            if (m_Hook == null)
            {
                return;
            }
            //LogFile log = new LogFile(m_Hook.tipRichBox, m_Hook.strLogFilePath);

            //if (log != null)
            //{
            //    log.Writelog("标准分幅制图");
            //}
            if (m_Hook.ArcGisMapControl.Map.LayerCount == 0)
            {
                MessageBox.Show("当前没有调阅数据!", "系统提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
                return;
            }
            string scaleDM = ModGetData.GetDMofScale("1:" + pScale.ToString());

            if (scaleDM == "")
            {
                return;
            }
            IMap pMap = new MapClass();

            pMap.SpatialReference = m_Hook.ArcGisMapControl.Map.SpatialReference;
            if (sheetType == SheetType.foundationTerrain)
            {
                ModGetData.AddMapOfNoneXZQ(pMap, "DLG" + scaleDM, m_Hook.ArcGisMapControl.Map);
            }
            else if (sheetType == SheetType.urbanCadastre)
            {
                ModGetData.AddMapOfNoneXZQ(pMap, "CZDJ", m_Hook.ArcGisMapControl.Map);
            }
            GeoPageLayout pPageLayout = new
                                        GeoPageLayout(pMap, pMapNo, pScale, pPoint, 0);

            pPageLayout.typePageLayout = 3;
            pPageLayout.MapOut();

            pPageLayout = null;
        }
Ejemplo n.º 3
0
        /// <summary>
        /// Occurs when this command is clicked
        /// </summary>
        public override void OnClick()
        {
            if (m_hookHelper.Hook == null)
            {
                return;
            }
            //IFeatureLayer tmpFeatureLayer = layerCurSeleted();
            //if (tmpFeatureLayer == null)
            //{
            //    MessageBox.Show("请在地图目录设置当前选择图层!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
            //    return;
            //}
            try
            {
                IMap pMap      = null;
                bool isSpecial = ModGetData.IsMapSpecial();

                if (isSpecial)//如果找特定专题
                {
                    pMap = new MapClass();
                    pMap.SpatialReference = m_hookHelper.FocusMap.SpatialReference;
                    ModGetData.AddMapOfNoneXZQ(pMap, "CZDJ", m_hookHelper.FocusMap);
                    ModGetData.AddMapOfNoneXZQ(pMap, "DLGK", m_hookHelper.FocusMap);
                    if (pMap.LayerCount == 0)
                    {
                        SysCommon.Error.ErrorHandle.ShowFrmErrorHandle("提示", "未找到图层。");
                        return;
                    }
                    ModuleMap.LayersComposeEx(pMap);//图层排序
                }
                else
                {
                    IObjectCopy pOC = new ObjectCopyClass();
                    pMap = pOC.Copy(m_hookHelper.FocusMap) as IMap;//复制地图
                }
                pMap.Name = "宗地图";
                ILayer ZD  = getLayer(pMap, "CZDJ_ZD");
                ILayer JZD = getLayer(pMap, "CZDJ_JZD");
                ILayer JZX = getLayer(pMap, "CZDJ_JZX");

                //IMap JZDXmap = new MapClass();//界址点线地图
                //pMap.DeleteLayer(JZD);
                //pMap.DeleteLayer(JZX);
                //JZDXmap.AddLayer(JZX);
                //JZDXmap.AddLayer(JZD);
                //JZDXmap.Name ="界址数据";
                //IMaps newMaps = new Maps();
                //newMaps.Add(pMap);
                //newMaps.Add(JZDXmap);
                IFeatureLayer pFL = ZD as IFeatureLayer;
                if (pFL == null || pFL.FeatureClass == null)
                {
                    SysCommon.Error.ErrorHandle.ShowFrmErrorHandle("提示", "未找到图层!请加载宗地图层。");
                    return;
                }
                //获得选择要素的图形
                List <IGeometry> vTemp = GetDataGeometry(ZD as IFeatureLayer);
                if (vTemp == null || vTemp.Count == 0)
                {
                    return;
                }

                IFeatureClass           zdFC = pFL.FeatureClass;
                string                  OID  = zdFC.OIDFieldName;
                IFeatureLayerDefinition pFLD = pFL as IFeatureLayerDefinition;
                pFLD.DefinitionExpression = OID + " = " + pZD.OID;
                delSelOfLyr(ZD);
                pMap.ClearSelection(); //清楚选择集

                try                    //空间过滤显示
                {
                    filterLyrBySpatial(JZD, pZD.ShapeCopy);
                    filterLyrBySpatial(JZX, pZD.ShapeCopy);
                }
                catch
                { }
                //if (m_hookHelper.FocusMap.SelectionCount > 100)
                //int ooo = m_hookHelper.FocusMap.SelectionCount;

                SysCommon.CProgress pgss = new SysCommon.CProgress("正在加载制图界面,请稍候...");
                pgss.EnableCancel    = false;
                pgss.ShowDescription = false;
                pgss.FakeProgress    = true;
                pgss.TopMost         = true;
                pgss.ShowProgress();

                //ITopologicalOperator pTO = GetUnion(vTemp) as ITopologicalOperator;

                ESRI.ArcGIS.Geometry.IGeometry pGeometry = GetUnion(vTemp);
                IEnvelope extent = pGeometry.Envelope;
                //if (extent.Width > extent.Height)
                //extent.Expand((2 *extent.Width*0.8)/extent.Height, 2, false);
                extent.Expand(2, 2, true);//出图范围暂设为宗地的2倍
                //m_hookHelper.ActiveView.Extent=pGeometry.Envelope;
                //m_hookHelper.ActiveView.Refresh();
                pgss.Close();
                Application.DoEvents();
                drawgeometryXOR(extent, m_pScreenDisplay);

                frm             = new FrmPageLayout(pMap, extent, pZD);
                frm.WriteLog    = WriteLog;//ygc 2012-9-12 是否写日志
                frm.FormClosed += new FormClosedEventHandler(frm_FormClosed);
                frm.typeZHT     = 2;
                frm.Show();

                Application.DoEvents();
            }
            catch (Exception exError)
            {
                ErrorHandle.ShowFrmErrorHandle("提示", exError.Message);
            }
        }
Ejemplo n.º 4
0
        private void btnOK_Click(object sender, EventArgs e)
        {
            if (txtMapNo.Text == "" || cBoxScale.Text == "")
            {
                return;
            }
            this.Hide();
            if (this.WriteLog)
            {
                Plugin.LogTable.Writelog("选择比例尺为:" + cBoxScale.Text + ",图幅号为:" + txtMapNo.Text);
            }
            MapNo = txtMapNo.Text;
            Scale = Convert.ToInt32(cBoxScale.Text.Split(':')[1]);
            string scaleDM = ModGetData.GetDMofScale("1:" + Scale.ToString());

            if (scaleDM == "")
            {
                return;
            }
            IMap pMap = null;

            int  type      = 0;
            bool isSpecial = ModGetData.IsMapSpecial();


            if (sheetType == SheetType.foundationTerrain)
            {
                type = 0;
                if (isSpecial)//如果找特定专题
                {
                    pMap = new MapClass();
                    pMap.SpatialReference = pAxMapControl.Map.SpatialReference;
                    ModGetData.AddMapOfNoneXZQ(pMap, "DLG" + scaleDM, pAxMapControl.Map);
                    if (pMap.LayerCount == 0)
                    {
                        SysCommon.Error.ErrorHandle.ShowFrmErrorHandle("提示", "未找到图层。");
                        goto CloseFrm;
                    }
                    ModuleMap.LayersComposeEx(pMap);//图层排序
                }
                else
                {
                    IObjectCopy pOC = new ObjectCopyClass();
                    pMap = pOC.Copy(pAxMapControl.Map) as IMap;//复制地图
                }
                GeoPageLayout pPageLayout = new
                                            GeoPageLayout(pMap, MapNo, Scale, pPt, type);
                pPageLayout.WriteLog       = WriteLog;//ygc 2012-9-12 是否写日志
                pPageLayout.typePageLayout = 3;
                pPageLayout.MapOut();

                pPageLayout = null;
            }
            else if (sheetType == SheetType.urbanCadastre)
            {
                type = 2;
                if (isSpecial)//如果找特定专题
                {
                    pMap = new MapClass();
                    pMap.SpatialReference = pAxMapControl.Map.SpatialReference;
                    ModGetData.AddMapOfNoneXZQ(pMap, "CZDJ", pAxMapControl.Map);//寻找专题
                    ModGetData.AddMapOfNoneXZQ(pMap, "DLG" + scaleDM, pAxMapControl.Map);
                    if (pMap.LayerCount == 0)
                    {
                        SysCommon.Error.ErrorHandle.ShowFrmErrorHandle("提示", "未找到图层。");
                        goto CloseFrm;
                    }
                    ModuleMap.LayersComposeEx(pMap);//图层排序
                }
                else
                {
                    IObjectCopy pOC = new ObjectCopyClass();
                    pMap = pOC.Copy(pAxMapControl.Map) as IMap; //复制地图
                }
                ModuleMap.LayersComposeEx(pMap);                //图层排序
                GeoPageLayout pPageLayout = new
                                            GeoPageLayout(pMap, MapNo, Scale, pPt, type);
                pPageLayout.WriteLog       = WriteLog;//ygc 2012-9-12 是否写日志
                pPageLayout.typePageLayout = 3;
                pPageLayout.MapOut();

                pPageLayout = null;
            }

            //BzffOutMap cmdBZTF = new BzffOutMap(MapNo, Scale,pPt);//
            //cmdBZTF.OnCreate(hook);
            //cmdBZTF.OnClick();
CloseFrm:
            this.Close();
        }