Esempio n. 1
0
        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;
        }
Esempio n. 2
0
        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);
        }
Esempio n. 3
0
        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);
            }
        }
Esempio n. 4
0
        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);
        }
Esempio n. 5
0
        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, "界址点编码");
        }
Esempio n. 6
0
        /// <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, "导表");
        }
Esempio n. 7
0
        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();
        }