private void btnOK_Click(object sender, EventArgs e) { if (cBoxScale.Text == "" || cBoxZT.Text == "") { return; } if (this.WriteLog) { Plugin.LogTable.Writelog("选择比例尺为:" + cBoxScale.Text + ",专题为:" + cBoxZT.Text); } //DevComponents.Editors.ComboItem dataItem = cBoxZT.SelectedItem as DevComponents.Editors.ComboItem; //DevComponents.AdvTree.Node dataNode = dataItem.Tag as DevComponents.AdvTree.Node; bool isSpecial = ModGetData.IsMapSpecial(); if (isSpecial) { pMap = new MapClass(); ModGetData.AddMapOfByXZQ(pMap, "TDLY", cBoxZT.Text, pAxMapControl.Map, xzq_xianMC); ModuleMap.LayersComposeEx(pMap);//图层排序 } else { IObjectCopy pOC = new ObjectCopyClass(); pMap = pOC.Copy(pAxMapControl.Map) as IMap;//复制地图 } this.DialogResult = DialogResult.OK; }
public override void OnClick() {//XZQLocation if (_hook == null) return; if (_hook.MainUserControl == null) return; DevComponents.AdvTree.AdvTree xzqTree = _hook.XZQTree; IGeometry xzqGeo = ModGetData.getExtentByXZQ(xzqTree.SelectedNode); if (xzqGeo == null) { SysCommon.Error.ErrorHandle.ShowFrmErrorHandle("提示", "未找到相应的行政区范围!"); return; } try { Plugin.Application.IAppFormRef pAppFormRef = _AppHk as Plugin.Application.IAppFormRef; if (this.WriteLog) { Plugin.LogTable.Writelog("出" + this._Caption); } IMap pMap = null; bool isSpecial = ModGetData.IsMapSpecial(); if (isSpecial) { pMap = new MapClass(); ModGetData.AddMapOfByXZQ(pMap, "ZTGH", "", _hook.ArcGisMapControl.Map, xzqTree.SelectedNode.Text); if (pMap.LayerCount == 0) { SysCommon.Error.ErrorHandle.ShowFrmErrorHandle("提示", "未找到图层。"); return; } ModuleMap.LayersComposeEx(pMap);//图层排序 } else { IObjectCopy pOC = new ObjectCopyClass(); pMap = pOC.Copy(_hook.ArcGisMapControl.Map) as IMap;//复制地图 } if (pMap.LayerCount == 0) { SysCommon.Error.ErrorHandle.ShowFrmErrorHandle("提示", "未找到图层。"); return; } string xzqdmFD = ""; //构造晕线和渲染图层 IFeatureClass xzqFC = ModGetData.getFCByXZQ(xzqTree.SelectedNode, ref xzqdmFD); if (xzqFC != null && xzqdmFD != null) { ILayer hachureLyr = GeoPageLayoutFn.createHachureLyr(xzqFC, xzqdmFD, xzqTree.SelectedNode.Name); if (hachureLyr != null) { IMapLayers pMapLayers = pMap as IMapLayers; IGroupLayer pGroupLayer = pMap.get_Layer(0) as IGroupLayer; if (pGroupLayer != null) { pMapLayers.InsertLayerInGroup(pGroupLayer, hachureLyr, false, 0); } } } GeoPageLayout pGL = new GeoPageLayout(); pGL.WriteLog = WriteLog;//ygc 2012-9-12 是否写日志 pGL.pageLayoutZTGHTXQT(pMap, xzqGeo, xzqTree.SelectedNode.Text); } catch(Exception ex) { SysCommon.Error.ErrorHandle.ShowFrmErrorHandle("提示", ex.Message); } }
private void btnOK_Click(object sender, EventArgs e) { if (txtMapNo.Text == "" || cBoxScale.Text == "") { return; } this.Hide(); try { if (this.WriteLog) { Plugin.LogTable.Writelog("选择比例尺为:" + cBoxScale.Text + ",图幅号为:" + txtMapNo.Text); } MapNo = txtMapNo.Text; Scale = Convert.ToInt32(cBoxScale.Text.Split(':')[1]); IMap pMap = null; bool isSpecial = ModGetData.IsMapSpecial(); if (isSpecial) { pMap = new MapClass(); List <string> lstName = getXZQMC(); if (lstName == null || lstName.Count == 0) { SysCommon.Error.ErrorHandle.ShowFrmErrorHandle("提示", "行政区配置无效或图幅号非本地范围。"); return; } foreach (string xzq in lstName) { string resXzq = xzq; ModGetData.AddMapOfByXZQ(pMap, "TDLY", cBoxZT.Text, pAxMapControl.Map, resXzq); } if (pMap.LayerCount == 0) { SysCommon.Error.ErrorHandle.ShowFrmErrorHandle("提示", "未找到图层。"); return; } ModuleMap.LayersComposeEx(pMap);//图层排序 } else { IObjectCopy pOC = new ObjectCopyClass(); pMap = pOC.Copy(pAxMapControl.Map) as IMap;//复制地图 } //BzffOutMap_ZT cmdBZTF = new BzffOutMap_ZT(MapNo, Scale,pPt,pMap);// GeoPageLayout pPageLayout = new GeoPageLayout(pMap, MapNo, Scale, pPt, 1); pPageLayout.WriteLog = WriteLog;//ygc 2012-9-12 是否写日志 pPageLayout.typePageLayout = 3; pPageLayout.MapOut(); pPageLayout = null; } catch { SysCommon.Error.ErrorHandle.ShowFrmErrorHandle("提示", "请输入正确的图幅号,如G49G077090."); } finally { this.Close(); } }
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; } try { OpenFileDialog dlg = new OpenFileDialog(); dlg.Filter = "个人数据库(*.mdb)|*.mdb|shp数据|*.shp|文本文件|*.txt"; if (dlg.ShowDialog() == DialogResult.Cancel) { return; } IPolygon pGon = new PolygonClass(); pGon = GetPolyGonFromFile(dlg.FileName); if (pGon == null) { return; } if (this.WriteLog) { Plugin.LogTable.Writelog("总体规划图"); } IFeatureClass xzq_xianFC = ModGetData.GetXZQFC("//City"); if (xzq_xianFC == null) { SysCommon.Error.ErrorHandle.ShowFrmErrorHandle("提示", "未找到相应的行政区图层!"); return; } string xzqdmFD = ModGetData.GetXZQFd("//City"); if (xzqdmFD == null) { SysCommon.Error.ErrorHandle.ShowFrmErrorHandle("提示", "未找到相应的行政区配置文件的行政区代码字段名称!"); return; } List <string> lstName = getXZQMC(pGon as IGeometry, xzq_xianFC, xzqdmFD); if (lstName == null || lstName.Count == 0) { SysCommon.Error.ErrorHandle.ShowFrmErrorHandle("提示", "行政区配置无效或导入的范围非本地范围。"); return; } IMap pMap = null; bool isSpecial = ModGetData.IsMapSpecial(); if (isSpecial) { pMap = new MapClass(); foreach (string xzq in lstName) { ModGetData.AddMapOfByXZQ(pMap, "ZTGH", "", m_Hook.ArcGisMapControl.Map, xzq); } if (pMap.LayerCount == 0) { SysCommon.Error.ErrorHandle.ShowFrmErrorHandle("提示", "未找到总体规划专题!请加载改专题图层。"); return; } ModuleMap.LayersComposeEx(pMap);//图层排序 } else { IObjectCopy pOC = new ObjectCopyClass(); pMap = pOC.Copy(m_Hook.ArcGisMapControl.Map) as IMap; //复制地图 } pGon.SpatialReference = pMap.SpatialReference; //须赋给一致的空间参考 ITopologicalOperator pTopo = pGon as ITopologicalOperator; if (pTopo != null) { pTopo.Simplify(); } drawgeometryXOR(pGon, m_pScreenDisplay); //addGeometryEle(pGon); //GeoDataCenterFunLib.CProgress pgss = new GeoDataCenterFunLib.CProgress("正在加载制图界面,请稍候..."); //pgss.EnableCancel = false; //pgss.ShowDescription = false; //pgss.FakeProgress = true; //pgss.TopMost = true; //pgss.ShowProgress(); //Application.DoEvents(); fmPageLayout = new FrmPageLayout(pMap, pGon as IGeometry, false); //pgss.Close(); fmPageLayout.WriteLog = WriteLog;//ygc 2012-9-12 是否写日志 fmPageLayout.FormClosed += new FormClosedEventHandler(fmPageLayout_FormClosed); fmPageLayout.Show(); Application.DoEvents(); } catch (Exception ex) { SysCommon.Error.ErrorHandle.ShowFrmErrorHandle("提示", ex.Message); } //gpl = new GeoPageLayout.GeoPageLayout(pMap, pGon as ESRI.ArcGIS.Geometry.IGeometry); //gpl.typePageLayout = 2; //gpl.MapOut(); //gpl = null; //m_Hook.MapControl.ActiveView.Refresh(); }