diff --git a/Cyberpipe.suo b/Cyberpipe.suo index 12a6732..d968c13 100644 --- a/Cyberpipe.suo +++ b/Cyberpipe.suo Binary files differ diff --git a/Cyberpipe.suo b/Cyberpipe.suo index 12a6732..d968c13 100644 --- a/Cyberpipe.suo +++ b/Cyberpipe.suo Binary files differ diff --git a/DoublePanelAnalysis.cs b/DoublePanelAnalysis.cs index 6f36b7e..5a44320 100644 --- a/DoublePanelAnalysis.cs +++ b/DoublePanelAnalysis.cs @@ -86,182 +86,6 @@ return dt; } -// /// -// /// 生成给排水监测结果表格 -// /// -// /// -// /// -// /// -// /// -// public static void CreateJiPaiShuiDataTable(GSOLayer scLayer, GSOLayer sgLayer, string road, -// DataTable dt, GSOGlobeControl globeControl1, GSOGlobeControl globeControl2) -// { -// //给排水监测 -// for (int i = 0; i < scLayer.GetAllFeatures().Length; i++) -// { -// GSOFeature scFeature = scLayer.GetAt(i); -// if (scFeature.GetFieldAsString("所属道路") != road) continue; -// -// GSOGeoPolyline3D scLine = scFeature.Geometry as GSOGeoPolyline3D; -// GSOGeoPolygon3D bufferPolygon = scLine.CreateBuffer(bufferWidth, true, 5, true, false); -// -// GSOFeatures sgFeatures = sgLayer.FindFeaturesInPolygon(bufferPolygon, true); -// -// InsertDataToJSDataTable(sgFeatures, scFeature, scLayer, sgLayer, scLine, globeControl1, -// globeControl2, dt); -// } -// } -// static void InsertDataToJSDataTable(GSOFeatures sgFeatures, GSOFeature scFeature, GSOLayer scLayer, GSOLayer sgLayer, -// GSOGeoPolyline3D scLine,GSOGlobeControl globeControl1,GSOGlobeControl globeControl2,DataTable dt) -// { -// GSOFeature sgFeature = null; -// //**判断同一个Feature -// if (sgFeatures.Length < 1 || GetSameFeature(scFeature, scLayer, sgLayer, bufferWidth) == null) //不存在对应的施工管段 -// { -// scFeature.HighLight = true; -// DataRow dr = dt.NewRow(); -// dr[0] = scLayer.Caption; -// dr[1] = scFeature.GetFieldAsString("编号"); -// dr[2] = sgLayer.Caption; -// dr[3] = "无"; -// dr[4] = "无"; -// dr[5] = scLayer.Caption.Contains("给水") ? "0.03" : "0.015"; -// dr[6] = "无"; -// -// if (scFeature.GetFieldAsDouble("起始管底高程") <= 1) -// dr[7] = scLayer.Caption.Contains("给水") ? "0.03" : "0.1"; -// else -// dr[7] = scLayer.Caption.Contains("给水") ? "0.03" : "0.015"; -// dr[8] = "未设计管段"; -// dt.Rows.Add(dr); -// } -// else -// { -// sgFeature = GetSameFeature(scFeature, scLayer, sgLayer, bufferWidth); -// GSOGeoPolyline3D sgLine = sgFeature.Geometry as GSOGeoPolyline3D; -// double horizonDistance, verticalDistance; -// -// CalculateDistance(out verticalDistance, out horizonDistance, scLine, sgLine, globeControl1, -// globeControl2); -// JiShuiAnalysis(scLayer.Caption, sgLayer.Caption, scFeature, sgFeature, horizonDistance, -// verticalDistance, dt); -// } -// } -// /// -// /// 生成燃气监测结果表格 -// /// -// /// -// /// -// /// -// /// -// public static void CreateRanQiDataTable(GSOLayer scLayer, GSOLayer sgLayer, string road, -// DataTable dt, GSOGlobeControl globeControl1, GSOGlobeControl globeControl2) -// { -// //燃气监测 -// for (int i = 0; i < scLayer.GetAllFeatures().Length; i++) -// { -// GSOFeature scFeature = scLayer.GetAt(i); -// if (scFeature.GetFieldAsString("所属道路") != road) continue; -// GSOGeoPolyline3D scLine = scFeature.Geometry as GSOGeoPolyline3D; -// GSOGeoPolygon3D bufferPolygon = scLine.CreateBuffer(bufferWidth, true, 5, true, false); -// -// GSOFeatures sgFeatures = sgLayer.FindFeaturesInPolygon(bufferPolygon, true); -// -// InsertDataToRQDataTable(sgFeatures, scFeature, scLayer, sgLayer, scLine, globeControl1, -// globeControl2, dt); -// -// } -// } -// static void InsertDataToRQDataTable(GSOFeatures sgFeatures, GSOFeature scFeature, GSOLayer scLayer, GSOLayer sgLayer, -// GSOGeoPolyline3D scLine, GSOGlobeControl globeControl1, GSOGlobeControl globeControl2, DataTable dt) -// { -// GSOFeature sgFeature = null; -// //**判断同一个Feature -// if (sgFeatures.Length < 1 || GetSameFeature(scFeature, scLayer, sgLayer, bufferWidth) == null) -// { -// scFeature.HighLight = true; -// DataRow dr = dt.NewRow(); -// dr[0] = scLayer.Caption; -// dr[1] = scFeature.GetFieldAsString("编号"); -// dr[2] = sgLayer.Caption; -// dr[3] = "无"; -// dr[4] = "无"; -// dr[5] = "0.06"; -// dr[6] = "无"; -// dr[7] = "0.06"; -// dr[8] = "未设计管段"; -// dt.Rows.Add(dr); -// } -// else -// { -// sgFeature = GetSameFeature(scFeature, scLayer, sgLayer, bufferWidth); -// -// GSOGeoPolyline3D sgLine = sgFeature.Geometry as GSOGeoPolyline3D; -// double horizonDistance, verticalDistance; -// -// CalculateDistance(out verticalDistance, out horizonDistance, scLine, sgLine, globeControl1, -// globeControl2); -// RanQiAnalysis(scLayer.Caption, sgLayer.Caption, scFeature, sgFeature, horizonDistance, -// verticalDistance, dt); -// } -// } -// /// -// /// 生成供电监测结果表格 -// /// -// /// -// /// -// /// -// /// -// public static void CreateGongDianDataTable(GSOLayer scLayer, GSOLayer sgLayer, string road, -// DataTable dt, GSOGlobeControl globeControl1, GSOGlobeControl globeControl2) -// { -// //供电监测 -// for (int i = 0; i < scLayer.GetAllFeatures().Length; i++) -// { -// GSOFeature scFeature = scLayer.GetAt(i); -// if (scFeature.GetFieldAsString("所属道路") != road) continue; -// GSOGeoPolyline3D scLine = scFeature.Geometry as GSOGeoPolyline3D; -// GSOGeoPolygon3D bufferPolygon = scLine.CreateBuffer(bufferWidth, true, 5, true, false); -// -// GSOFeatures sgFeatures = sgLayer.FindFeaturesInPolygon(bufferPolygon, true); -// InsertDataToGDDataTable(sgFeatures, scFeature, scLayer, sgLayer, scLine, globeControl1, -// globeControl2, dt); -// } -// } -// static void InsertDataToGDDataTable(GSOFeatures sgFeatures, GSOFeature scFeature, GSOLayer scLayer, GSOLayer sgLayer, -// GSOGeoPolyline3D scLine, GSOGlobeControl globeControl1, GSOGlobeControl globeControl2, DataTable dt) -// { -// GSOFeature sgFeature = null; -// //**判断同一个Feature -// if (sgFeatures.Length < 1 || GetSameFeature(scFeature, scLayer, sgLayer, bufferWidth) == null) -// { -// scFeature.HighLight = true; -// DataRow dr = dt.NewRow(); -// dr[0] = scLayer.Caption; -// dr[1] = scFeature.GetFieldAsString("编号"); -// dr[2] = sgLayer.Caption; -// dr[3] = "无"; -// dr[4] = "无"; -// dr[5] = "0.02"; -// dr[6] = "无"; -// dr[7] = "0.02"; -// dr[8] = "未设计管段"; -// dt.Rows.Add(dr); -// } -// else -// { -// sgFeature = GetSameFeature(scFeature, scLayer, sgLayer, bufferWidth); -// -// GSOGeoPolyline3D sgLine = sgFeature.Geometry as GSOGeoPolyline3D; -// double horizonDistance, verticalDistance; -// -// CalculateDistance(out verticalDistance, out horizonDistance, scLine, sgLine, globeControl1, -// globeControl2); -// GongDianAnalysis(scLayer.Caption, sgLayer.Caption, scFeature, sgFeature, horizonDistance, -// verticalDistance, dt); -// } -// } - #region Fan Zhang 重构feature获取 public static double getLineLength(GSOFeature src,GSOLayer srcLayer,GSOGeoPolygon3D bufferPolygon) { @@ -348,219 +172,6 @@ return reFeature; } #endregion -// /// -// /// 给排水规范审核 -// /// -// /// -// /// -// /// -// /// -// /// -// /// -// /// -// public static void JiShuiAnalysis(string scLayerName, string sgLayerName, GSOFeature scFeature, -// GSOFeature sgFeature, double horizonDistance, double verticalDistance, DataTable dt) -// { -// bool dtBool = false; -// -// DataRow dr = dt.NewRow(); -// dr[0] = scLayerName; -// dr[1] = scFeature.GetFieldAsString("编号"); -// dr[2] = sgLayerName; -// dr[3] = sgFeature.GetFieldAsString("编号"); -// -// if (scLayerName.Contains("给水")) -// { -// //水平 -// if (horizonDistance > 0.03) -// { -// dr[4] = Math.Round(horizonDistance, 2, MidpointRounding.AwayFromZero).ToString("0.00"); -// dr[5] = "0.03"; -// dr[8] = dr[8] + "水平净距"; -// scFeature.HighLight = true; -// dtBool = true; -// } -// else -// { -// dr[4] = Math.Round(horizonDistance, 2, MidpointRounding.AwayFromZero).ToString("0.00"); -// dr[5] = "0.03"; -// } -// //垂直 -// if (Math.Abs(verticalDistance) > 0.03) -// { -// dr[6] = Math.Round(verticalDistance, 2, MidpointRounding.AwayFromZero).ToString("0.00"); -// dr[7] = "0.03"; -// dr[8] = dr[8] + "垂直净距"; -// scFeature.HighLight = true; -// dtBool = true; -// } -// else -// { -// dr[6] = Math.Round(verticalDistance, 2, MidpointRounding.AwayFromZero).ToString("0.00"); -// dr[7] = "0.03"; -// } -// dr[8] = dr[8] + "超标"; -// } -// else -// { -// if (horizonDistance > 0.015) -// { -// dr[4] = Math.Round(horizonDistance, 2, MidpointRounding.AwayFromZero).ToString("0.00"); -// dr[5] = "0.015"; -// scFeature.HighLight = true; -// dr[8] = dr[8] + "水平净距"; -// dtBool = true; -// } -// else -// { -// dr[4] = Math.Round(horizonDistance, 2, MidpointRounding.AwayFromZero).ToString("0.00"); -// dr[5] = "0.015"; -// } -// if (scFeature.GetFieldAsDouble("起始管底高程") <= 1) -// { -// if (Math.Abs(verticalDistance) > 0.01) -// { -// dr[6] = Math.Round(verticalDistance, 2, MidpointRounding.AwayFromZero).ToString("0.00"); -// dr[7] = "0.01"; -// scFeature.HighLight = true; -// dr[8] = dr[8] + "垂直净距"; -// dtBool = true; -// } -// else -// { -// dr[6] = Math.Round(verticalDistance, 2, MidpointRounding.AwayFromZero).ToString("0.00"); -// dr[7] = "0.01"; -// } -// } -// else -// { -// if (Math.Abs(verticalDistance) > 0.015) -// { -// dr[6] = Math.Round(verticalDistance, 2, MidpointRounding.AwayFromZero).ToString("0.00"); -// dr[7] = "0.015"; -// scFeature.HighLight = true; -// dr[8] = dr[8] + "垂直净距"; -// dtBool = true; -// } -// else -// { -// dr[6] = Math.Round(verticalDistance, 2, MidpointRounding.AwayFromZero).ToString("0.00"); -// dr[7] = "0.015"; -// } -// } -// -// dr[8] = dr[8] + "超标"; -// } -// -// if (!dtBool) return; -// dt.Rows.Add(dr); -// } -// /// -// /// 燃气规范审核 -// /// -// /// -// /// -// /// -// /// -// /// -// /// -// /// -// public static void RanQiAnalysis(string scLayerName, string sgLayerName, GSOFeature scFeature, GSOFeature sgFeature, double horizonDistance, double verticalDistance, DataTable dt) -// { -// bool dtBool = false; -// -// DataRow dr = dt.NewRow(); -// dr[0] = scLayerName; -// dr[1] = scFeature.GetFieldAsString("编号"); -// dr[2] = sgLayerName; -// dr[3] = sgFeature.GetFieldAsString("编号"); -// -// //水平 -// if (horizonDistance > 0.06) -// { -//// dr[4] = Math.Round(horizonDistance, 2, MidpointRounding.AwayFromZero).ToString("0.00"); -// dr[5] = "0.06"; -// dr[8] = dr[8] + "水平净距"; -// scFeature.HighLight = true; -// dtBool = true; -// } -// else -// { -// dr[4] = Math.Round(horizonDistance, 2, MidpointRounding.AwayFromZero).ToString("0.00"); -// dr[5] = "0.06"; -// } -// //垂直 -// if (Math.Abs(verticalDistance) > 0.06) -// { -// dr[6] = Math.Round(verticalDistance, 2, MidpointRounding.AwayFromZero).ToString("0.00"); -// dr[7] = "0.06"; -// dr[8] = dr[8] + "垂直净距"; -// scFeature.HighLight = true; -// dtBool = true; -// } -// else -// { -// dr[6] = Math.Round(verticalDistance, 2, MidpointRounding.AwayFromZero).ToString("0.00"); -// dr[7] = "0.06"; -// } -// dr[8] = dr[8] + "超标"; -// -// if (!dtBool) return; -// dt.Rows.Add(dr); -// } -// /// -// /// 供电规范审核 -// /// -// /// -// /// -// /// -// /// -// /// -// /// -// /// -// public static void GongDianAnalysis(string scLayerName, string sgLayerName, GSOFeature scFeature, GSOFeature sgFeature, double horizonDistance, double verticalDistance, DataTable dt) -// { -// bool dtBool = false; -// -// DataRow dr = dt.NewRow(); -// dr[0] = scLayerName; -// dr[1] = scFeature.GetFieldAsString("编号"); -// dr[2] = sgLayerName; -// dr[3] = sgFeature.GetFieldAsString("编号"); -// -// //水平 -// if (horizonDistance > 0.02) -// { -// dr[4] = Math.Round(horizonDistance, 2, MidpointRounding.AwayFromZero).ToString("0.00"); -// dr[5] = "0.02"; -// dr[8] = dr[8] + "水平净距"; -// scFeature.HighLight = true; -// dtBool = true; -// } -// else -// { -// dr[4] = Math.Round(horizonDistance, 2, MidpointRounding.AwayFromZero).ToString("0.00"); -// dr[5] = "0.02"; -// } -// //垂直 -// if (Math.Abs(verticalDistance) > 0.02) -// { -// dr[6] = Math.Round(verticalDistance, 2, MidpointRounding.AwayFromZero).ToString("0.00"); -// dr[7] = "0.02"; -// dr[8] = dr[8] + "垂直净距"; -// scFeature.HighLight = true; -// dtBool = true; -// } -// else -// { -// dr[6] = Math.Round(verticalDistance, 2, MidpointRounding.AwayFromZero).ToString("0.00"); -// dr[7] = "0.02"; -// } -// dr[8] = dr[8] + "超标"; -// -// if (!dtBool) return; -// dt.Rows.Add(dr); -// } /// /// 国标检测table计算,某道路下的施工和实测feature的对比信息 @@ -575,7 +186,7 @@ DataTable dt, GSOGlobeControl globeControl1, GSOGlobeControl globeControl2) { GSOFeatures scFeatures = scLayer.GetFeatureByFieldValue("所属道路", road, true); - double hStandard = 0, vStandard = 0; //默认供电的标准 + double hStandard = 0.02, vStandard = 0.02; //水平净距标准和垂直净距标准,默认供电管线标准 if (scLayer.Caption.Contains("给水")) { hStandard = 0.03; @@ -585,10 +196,6 @@ { hStandard = 0.06; vStandard = 0.06; - }else if (scLayer.Caption.Contains("供电")) - { - hStandard = 0.02; - vStandard = 0.02; } for (int i=0;i /// 获取跟选择管线垂直距离小于特定值的管线列表和选择管线的距离 ///