public void ExportJZDTable(JTSYQ GroupJTSYQ, string dir) { JTSYQCustom.OrderByJZDH(GroupJTSYQ); List <JZD> jzds = new List <JZD>(); double pingFangArea = 0; foreach (JTSYQ jtsyq in GroupJTSYQ.GroupJTSYQ) { pingFangArea += Decimal.ToSingle(decimal.Round(new decimal(jtsyq.Shape_Area), 2)); IList <JZD> temp = jtsyq.JZDS; if (temp == null) { return; } jzds.AddRange(temp); } double area = GroupJTSYQ.Area; GroupJTSYQ.Area = Math.Round(pingFangArea, 2); ISheet sheet = JZDCustom.CreateJZDSheet(jzds); sheet.Workbook.SetSheetName(0, GroupJTSYQ.BM); Dictionary <string, XMLObject> xmlobjectDic = XMLRead.XmlToObjects(JTSYQCustom.JZDXMLRelfect, false); ExcelWrite.ReplaceTextByXMLObject(sheet, GroupJTSYQ, xmlobjectDic); Dictionary <string, XMLObject> xmlobjectDic2 = XMLRead.XmlToObjects(JTSYQCustom.XZDM_Reflect, true); ExcelWrite.ReplaceTextByXMLObject(sheet, GroupJTSYQ.XZDM, xmlobjectDic2); ExcelWrite.Save(sheet.Workbook, dir + "\\06界址点成果表" + GroupJTSYQ.XZDM.Zu + ".xls"); GroupJTSYQ.Area = area; }
public int JZDBM(int startBH, JTSYQ jtsyq, IFeatureLayer featureLayer) { IList <JZD> jzds = JZDCustom.SearchOrCreateJZD(jtsyq, featureLayer); //设置界址点号 //jzds = JZDCustom.GetMapJZD(" JTSYQOBJECTID = " + jtsyq.OBJECTID); JZDCustom.SetBM(startBH, jtsyq, jzds, featureLayer); jtsyq.JZDS = jzds; return(jzds.Count); }
public Dictionary <string, IList <JZD> > GetMapJZDS() { Dictionary <string, IList <JZD> > dic = new Dictionary <string, IList <JZD> >(); IList <IFeature> features = ArcGisUtils.GetEntitysList("", JZDCustom.JZDLayer); if (Utils.CheckListExists(features)) { IList <JZD> jzds = JZDCustom.FeatureToList(features); return(Utils.GetGroupDicToList("ZDNUM", jzds)); } else { return(dic); } }
public IList <JZD> ExtractJZD_Intersectant(JTSYQ jtsyq, IList <JZD> jzds) { IFeature feature = jtsyq.Feature; IList <JZD> jzds1 = ExtractJzd(jtsyq, ArcGisUtils.GetFeatureLayer(JTSYQCustom.JTSYQLayerName), ArcGisUtils.GetFeatureLayer(JZDCustom.JZDLayer)); foreach (JZD jzd in jzds1) { jzd.ZDNUM = jtsyq.BM; jzd.JTSYQOBJECTID = jtsyq.OBJECTID; //jzd.Feature.Shape = jzd.Point; //JZDCustom.SaveMap(jzd); } JZDCustom.SaveMap(jzds1); return(null); }
public void JZDBM(IList <JTSYQ> jtsyqs) { IList <MyAction> actions = new List <MyAction>(); //本组可能是多部件 foreach (JTSYQ jtsyq in jtsyqs) { Action action = new Action(() => { int index = 1; foreach (JTSYQ child in jtsyq.GroupJTSYQ) { index += JTSYQDao.JZDBM(index, child, JZDCustom.GetJZDLayer()); } }); MyAction myAction = new MyAction(action, jtsyq.QLR + "界址点编码"); actions.Add(myAction); } SingleTaskForm task = new SingleTaskForm(actions, "界址点编码"); }
/// <summary> /// 导出checkbox 中的资料 /// </summary> /// <param name="model"></param> /// <param name="xzdms"></param> public void Export(ExportDataPageViewModel model, IList <XZDM> xzdms) { //更新数据 IList <XZDM> cunXZDM = new List <XZDM>(); IList <XZDM> zuXZDM = new List <XZDM>(); IList <JTSYQ> groupJTSYQ = new List <JTSYQ>(); //IList<JTSYQ> foreach (XZDM xzdm in xzdms) { string bm = xzdm.DJZQDM; if (bm.Length == 14) { zuXZDM.Add(xzdm); } else { cunXZDM.Add(xzdm); } if (xzdm.JTSYQ != null) { Dictionary <string, IList <JZD> > jzdDic = MyUtils.Utils.GetGroupDicToList("JTSYQOBJECTID", JZDCustom.GetMapJZD()); IList <JZD> jzds; groupJTSYQ.Add(xzdm.JTSYQ); foreach (JTSYQ child in xzdm.JTSYQ.GroupJTSYQ) { if (jzdDic.TryGetValue(child.OBJECTID + "", out jzds)) { if (jzdDic.TryGetValue(child.OBJECTID + "", out jzds)) { //注入界址点 child.JZDS = jzds; } } } //设置包含的面积 } } List <MyAction> actions = new List <MyAction>(); if (model.Cun_JiTiTuDiDiaoChaBiao || model.Zu_QuanJiDiaoChaBiao || model.Zu_ShengPiBiao) { actions.Add(new MyAction(new Action(() => { foreach (JTSYQ jtsyq in groupJTSYQ) { JTSYQCustom.SetContainsFeatureArea(jtsyq); } }), "刷新包含的二调面积")); } string saveDir = model.SaveDir + "\\"; if (model.Zu_DangAnDai) { actions.AddRange(ExportZu_DangAnDaiActions(groupJTSYQ, saveDir)); } if (model.Zu_TuDiQuanShuZhengMing) { actions.AddRange(ExportZu_TuDiQuanShuLaiYuanZhengMingActions(xzdms, saveDir)); } if (model.Zu_FaRenDaiBiaoZhengMing) { actions.AddRange(ExportZu_FaRenDaiBiaoShenFengZhengMingActions(xzdms, saveDir)); } if (model.Zu_FaRenDaiBiaoWeiTuoShu) { actions.AddRange(ExportZu_FaRenDaiBiaoWeiTuoShuActions(xzdms, saveDir)); } if (model.Zu_ZhiJieRenZhengMing) { actions.AddRange(ExportZu_ZhiJieRenShenFengZhengMingActions(xzdms, saveDir)); } if (model.Zu_ShengPiBiao) { actions.AddRange(ExportZu_ShenPiBiaoActions(xzdms, saveDir)); } if (model.Zu_JieZhiDianChengGuoBiao) { actions.AddRange(ExportJZDTableActions(groupJTSYQ, saveDir)); } if (model.Zu_QuanJiDiaoChaBiao) { actions.AddRange(ExportZu_QuanJiDiaoChaBiaoActions(xzdms, saveDir)); } if (model.Zu_RuKuDanZhongDiBiao) { actions.AddRange(ExportZu_ZhongDiBiaoActions(xzdms, saveDir)); } if (model.Zu_ZhongDiTu) { actions.AddRange(ExportZu_ZhongDiTuActions(xzdms, saveDir)); } if (model.Cun_DangAnDai) { actions.AddRange(ExportCunDangAnDaiActions(cunXZDM, saveDir)); } if (model.Cun_GongGaoFanKuiYiJianShu) { actions.AddRange(ExportCunYiJianFanKuaiShuActions(cunXZDM, saveDir)); } if (model.Cun_GongShiFanKuiYiJianShu) { actions.AddRange(ExportCunYiJianFanKuaiShu_GongShiActions(cunXZDM, saveDir)); } if (model.Cun_QueQuanJieGuoGongGao) { actions.AddRange(ExportCunJieGuo_GongGaoActions(cunXZDM, saveDir)); } if (model.Cun_QueQuanJieGuoGongShi) { actions.AddRange(ExportCunJieGuo_GongShiActions(cunXZDM, saveDir)); } if (model.Cun_GongGaoBiao) { actions.AddRange(ExportCun_GongShiActions(cunXZDM, saveDir)); } if (model.Cun_GongShiBiao) { actions.AddRange(ExportCun_GongGaoActions(cunXZDM, saveDir)); } if (model.Cun_JiTiTuDiDiaoChaBiao) { actions.AddRange(ExportCun_JiTiTuDiDiaoChaBiaoActions(cunXZDM, zuXZDM, saveDir)); } if (model.Cun_GongShiTu) { actions.AddRange(ExportCun_GongShiTuActions(cunXZDM, saveDir)); } SingleTaskForm task = new SingleTaskForm(actions, "导表"); }
public void ExportZu_ZhongDiTu(JTSYQ jtsyqGroup, string saveDir) { IList <JZX> jzxs = JZXCustom.SetJZX(jtsyqGroup.GroupJTSYQ); string mxdPath = saveDir + "\\" + System.IO.Path.GetFileName(JTSYQCustom.JTSYQZDTMxd); string mdbPath = saveDir + "\\" + System.IO.Path.GetFileName(JTSYQCustom.JTSYQZDTMdb); //1、复制maxd FileUtils.CopyFile(JTSYQCustom.JTSYQZDTMxd, mxdPath); //2、复制数据库 FileUtils.CopyFile(JTSYQCustom.JTSYQZDTMdb, mdbPath); //打开工作文件 MapDocumentClass mapDocument = new MapDocumentClass(); mapDocument.Open(mxdPath, ""); AxMapControl mapControl = ArcGisUtils.axMapControl; IMap map = mapDocument.Map[0]; mapControl.Map = map; //3、设置数据源,数据源是相对路径,不需要设置 //4、复制shap JTSYQCustom.SaveMap(jtsyqGroup.GroupJTSYQ); JTSYQCustom.SaveJTSYQBZMap(map, jtsyqGroup.GroupJTSYQ); IList <JZD> jzds = JZDCustom.SaveMap(jtsyqGroup); JZXCustom.SaveJZXMap(jzxs); JZXCustom.SaveJZXBZMap(map, jzxs); JZDCustom.SaveJZDBZMap(map, jzds); double scale = 100.0; mapControl.Extent = JTSYQCustom.SetExtent(jtsyqGroup.GroupJTSYQ); double num = (double)((int)((map.MapScale + 30.0) / scale) * scale + scale); //mapControl.MapScale = 329; ArcGisUtils.ChangeMapScale(mapDocument, num); //5、替换文字内容, int index = 0; for (int a = 0; a > -1; a++) { string tufu = jtsyqGroup.TuFu; if (Utils.IsStrNull(tufu)) { MessageBox.Show("你还没有生成图幅号!!!:" + jtsyqGroup.QLR); ArcGisUtils.Refresh(); return; } index = tufu.IndexOf("、", index + 1); if (index == -1) { break; } if (a % 2 != 0) { jtsyqGroup.TuFu = tufu.Insert(index + 1, "\n"); } } Dictionary <string, XMLObject> xmlObjectDic = XMLRead.XmlToObjects(JTSYQCustom.JTSYQ_Reflect, true); XMLObject xmlObject = new XMLObject { Column = "BLC", Deafult = "1:" + num }; xmlObjectDic.Add("BLC", xmlObject); ArcGisService.ReplaceText(jtsyqGroup, xmlObjectDic, mapDocument); //使用的xml缓存,必须移除 xmlObjectDic.Remove("BLC"); //6、工程文件保留 mapDocument.Save(); mapDocument.Close(); ArcGisUtils.Refresh(); }