From 2b8aed5af4cd96a6aafc6fdb7fd0b7e9352ed498 Mon Sep 17 00:00:00 2001 From: 13693261870 <252740454@qq.com> Date: 星期五, 27 九月 2024 15:54:23 +0800 Subject: [PATCH] 更新空间统计功能 --- TEWin/Resources/SpaceStatistics/SpaceStatistics.html | 30 ++++++++++++++++++------------ 1 files changed, 18 insertions(+), 12 deletions(-) diff --git a/TEWin/Resources/SpaceStatistics/SpaceStatistics.html b/TEWin/Resources/SpaceStatistics/SpaceStatistics.html index 03857ca..01e5258 100644 --- a/TEWin/Resources/SpaceStatistics/SpaceStatistics.html +++ b/TEWin/Resources/SpaceStatistics/SpaceStatistics.html @@ -44,9 +44,13 @@ reset: function () { //SGWorld.ProjectTree.EnableRedraw(0); var layers = getFeatureLayers(); + var hField = $.trim($("#hField").val()); for (var i in layers) { try { SGWorld.ProjectTree.GetObject(layers[i]).Refresh(); + //var layer = SGWorld.ProjectTree.GetObject(layers[i]); + //var flag = layer.DataSourceInfo.Attributes.IsAttributeExist(hField); + //if (layer.GeometryType == 2 && flag) layer.Refresh(); } catch (e) { console.log(e); } @@ -88,9 +92,9 @@ if (!this.data || !this.data.length) return ""; var html = "<table class='PropertiesSheet' cellspacing='0' cellpadding='2' style='max-height: 256px; overflow: auto'>"; - html += "<tr><td>搴忓彿</td><td>鍥惧眰鍚�</td><td>闈㈢Н</td><td>楂樺害</td><td>浣撶Н</td></tr>"; + html += "<tr><td>搴忓彿</td><td>鍥惧眰鍚�</td><td>绾块暱</td><td>闈㈢Н</td><td>楂樺害</td><td>浣撶Н</td></tr>"; for (var i = 0, c = this.data.length; i < c; i++) { - html += "<tr><td>" + (i + 1) + "</td><td>" + this.data[i].name + "</td><td>" + this.data[i].area + "</td><td>" + this.data[i].height + "</td><td>" + this.data[i].vol + "</td></tr>"; + html += "<tr><td>" + (i + 1) + "</td><td>" + this.data[i].name + "</td><td>" + this.data[i].len + "</td><td>" + this.data[i].area + "</td><td>" + this.data[i].height + "</td><td>" + this.data[i].vol + "</td></tr>"; } html += "</table>"; @@ -158,35 +162,38 @@ function DrawPoly(geometry, type, altitudeType) { var layers = getFeatureLayers(); + var hField = $.trim($("#hField").val()); for (var i in layers) { try { var layer = SGWorld.ProjectTree.GetObject(layers[i]); var fs = layer.ExecuteSpatialQuery(geometry, 1); // 1-IT_INTERSECT, 2-IT_WITHIN if (fs.Count == 0) continue; + var fName = layer.TreeItem.Name; rs.count += fs.Count; + if (layer.GeometryType == 1) { // LGT_POLYLINE for (var j = 0; j < fs.Count; j++) { var f = fs.Item(j); rs.lineLen += f.Geometry.Length; + rs.data.push({ "name": fName, "len": f.Geometry.Length.toFixed(2), "area": "", "height": "", "vol": "" }); } } if (layer.GeometryType == 2) { // LGT_POLYGON - var hField = $.trim($("#hField").val()), fName = layer.TreeItem.Name; + var flag = layer.DataSourceInfo.Attributes.IsAttributeExist(hField); for (var j = 0; j < fs.Count; j++) { var f = fs.Item(j); rs.polyArea += f.Geometry.Area; - - try { + if (flag) { var height = parseFloat(f.FeatureAttributes.GetFeatureAttribute(hField).Value); - - rs.volume += f.Geometry.Area * height; + var volume = f.Geometry.Area * height; + rs.volume += volume; if (rs.maxHeight < height) rs.maxHeight = height; if (!rs.minHeight || rs.minHeight > height) rs.minHeight = height; - rs.data.push({ "name": fName, "area": f.Geometry.Area.toFixed(2), "height": height.toFixed(2), "vol": (f.Geometry.Area * height).toFixed(2) }); - } catch (ex) { - console.log(ex); + rs.data.push({ "name": fName, "len": "", "area": f.Geometry.Area.toFixed(2), "height": height.toFixed(2), "vol": volume.toFixed(2) }); + } else { + rs.data.push({ "name": fName, "len": "", "area": f.Geometry.Area.toFixed(2), "height": "", "vol": "" }); } } } @@ -194,8 +201,7 @@ fs.Item(j).Tint.abgrColor = 0xff800080; } } catch (e) { - console.log(e); - //layers.splice(i, 1); + console.log(e); // layers.splice(i, 1); } } -- Gitblit v1.9.3