public void Check() { foreach (var className in ParameterManager.FeatureClassNames) { ArcGISManager.CheckCoordinate(className, RuleName); } }
public void Check() { foreach (var className in ParameterManager.TopoFeatures) { ArcGISManager.Topo(className); ArcGISManager.XZQ("XZQ_XZC", className); } }
public void Check() { Init(); if (System.IO.File.Exists(MdbFilePath) == false) { return; } IWorkspace workspace = MdbFilePath.OpenAccessFileWorkSpace(); if (workspace == null) { QuestionManager2.Add(new Question2 { Code = ID, Name = RuleName, CheckProject = CheckProject, Folder = "", Description = string.Format("无法打开矢量数据的workspace,故无法检查规则") }); return; } var tables = ParameterManager2.Tables.Where(e => e.IsSpace == true).Select(e => e.Name).ToList(); var results = ArcGISManager.CheckCoordinate2(workspace, tables); if (results.Count > 0) { QuestionManager2.Add(new Question2 { Code = ID, Name = RuleName, CheckProject = CheckProject, Description = string.Format("【{0}】不符合坐标系", string.Join("、", results.ToArray())), Folder = "" }); } }
private void LocationFeature(string className, string whereClause) { if (string.IsNullOrEmpty(whereClause)) { return; } if (_spaceArray.Contains(className)) { var featureClass = ParameterManager.Workspace.GetFeatureClass(className); if (featureClass == null) { MessageBox.Show("获取要素类失败......"); return; } var feature = ArcGISManager.Search(featureClass, whereClause); if (feature != null) { this.tabControl2.SelectedIndex = 0; Center(feature); Twinkle(feature); } } }
private bool Init() { OutputMessage("00", "正在初始化检查机制", ProgressResultTypeEnum.Other); if (!ReadXZQ())//分析读取行政区 { OutputMessage("00", "未分析读取到行政区名称和行政区代码", ProgressResultTypeEnum.Fail); return(false); } if (!SearchFile())//查找单位代码表和数据库文件 { OutputMessage("00", "未找到单位代码表或者数据库文件", ProgressResultTypeEnum.Fail); return(false); } OutputMessage("00", "参数管理器初始化完毕", ProgressResultTypeEnum.Other); ExcelManager.Init(ParameterManager.CodeFilePath);//初始化单位代码信息列表 var tree = new CodeForm() { Dict = ExcelManager.Dict }; if (tree.ShowDialog() == DialogResult.Cancel) { return(false); } if (ExcelManager.Dict.Count == 0) { QuestionManager.Add(new Question { Code = "00", TableName = "单位代码表", Description = "未获取单位代码表中的相关数据信息" }); OutputMessage("00", "未获取单位代码表中的相关数据信息", ProgressResultTypeEnum.Fail); } else { OutputMessage("00", string.Format("成功读取行政区(乡镇)单位代码表信息:{0}条", ExcelManager.Dict.Count), ProgressResultTypeEnum.Other); } if (ExcelManager.XZQ.Count == 0) { QuestionManager.Add(new Question { Code = "00", TableName = "单位代码表", Description = "读取到的单位代码表中未填写行政区(乡镇)代码信息" }); OutputMessage("00", "读取到的单位代码表中未填写行政区(乡镇)代码信息", ProgressResultTypeEnum.Fail); } if (ExcelManager.XZC.Count == 0) { QuestionManager.Add(new Question { Code = "00", TableName = "单位代码表", Description = "读取到的单位代码表中未填写行政区(村级)代码信息" }); OutputMessage("00", "读取到的单位代码表中未填写行政区(村级)代码信息", ProgressResultTypeEnum.Fail); } var list = ArcGISManager.GainDCDYTB(ParameterManager.Workspace, DCDYTBManager.ClassName) ?? new List <DCDYTB>(); if (list.Count == 0) { OutputMessage("00", "未获取调查单元类型相关基础信息", ProgressResultTypeEnum.Fail); } QuestionManager.AddRange(list.Where(e => e.Right == false).Select(e => new Question { Code = "3401", Name = "面积一致性", TableName = DCDYTBManager.ClassName, Description = string.Format("行政区名称:【{0}】行政区代码:【{1}】图斑编号:【{2}】的MJ:【{3}】图斑实际面积:【{4}】容差超过1平方米", e.XZCMC, e.XZCDM, e.TBBH, e.MJ, e.Area), BSM = e.BSM, ShowType = ShowType.Space, WhereClause = string.Format("[BSM] = {0}", e.BSM) }).ToList()); DCDYTBManager.List = list; OutputMessage("00", "成功读取调查单元图斑信息", ProgressResultTypeEnum.Other); InitRules(); //ParameterManager.Folder = Folder; return(true); }