<!DOCTYPE html>
|
<html xmlns="http://www.w3.org/1999/xhtml">
|
<head>
|
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
|
<title>CalcVol</title>
|
<script src="JS/jquery-1.10.2.min.js"></script>
|
<script src="JS/turf.min.js"></script>
|
<script src="JS/CalcVol.js"></script>
|
<script>
|
$(function () {
|
initCalc();
|
});
|
|
function initCalc() {
|
var height = prompt("请输入标高", 350); //第二个
|
if (height == null || isNaN(height) || height < 1 || height > 1000) {
|
alert("您输入的标高异常!");
|
return;
|
}
|
|
var deep = 265 - parseFloat(height);
|
$.ajax({
|
type: "GET",
|
url: "http://localhost/HBKCY//Calc/GetPoints?type=02&wkt=LINEARRING Z (115.3110749345563164 39.2994417007271011 267.5901489257812500, 115.3113507016222172 39.2989956631745017 274.2110900878906250, 115.3107335061653913 39.2991306602491619 259.2471008300781250, 115.3110749345563164 39.2994417007271011 267.5901489257812500)",
|
dataType: "json",
|
success: function (rs) {
|
calcVoumes(rs, deep);
|
}
|
});
|
}
|
|
function calcVoumes(rs, deep) {
|
debugger
|
var all = 0;
|
for (var i = 0, c = rs.length; i < c; i++) {
|
var up = [], down = [];
|
var flag = getPoints(rs[i].Points, up, down, deep);
|
if (flag) {
|
all += parseInt(CalcVol.init(up, down) * 10);
|
}
|
}
|
all = all / 10;
|
|
var str = "总挖方:" + all + " 立方米," + (all * 2.75).toFixed(1) + " 吨。";
|
alert(str);
|
}
|
|
function getPoints(points, up, down, deep) {
|
for (var i = 0, c = points.length; i < c; i++) {
|
var p = points[i];
|
if (deep > p.Z1) {
|
return false;
|
}
|
|
up.push({ x: p.X, y: p.Y, z: p.Z1 });
|
down.push({ x: p.X, y: p.Y, z: deep < p.Z2 ? p.Z2 : deep });
|
}
|
|
return true;
|
}
|
|
function test() {
|
//var up = [
|
// { x: 115.31241575647351, y: 39.300654653220789, z: 327.09518432617188 },
|
// { x: 115.31238108677418, y: 39.300655044095038, z: 326.3094482421875 },
|
// { x: 115.31238159098577, y: 39.300682041626892, z: 327.17593383789063 }
|
//];
|
//var down = [
|
// { x: 115.31241575647351, y: 39.300654653220789, z: 210.12478637695313 },
|
// { x: 115.31238108677418, y: 39.300655044095038, z: 206.19247436523438 },
|
// { x: 115.31238159098577, y: 39.300682041626892, z: 206.93504333496094 }
|
//];
|
var up = [
|
{ x: 115.30886283, y: 39.30063138, z: 327 },
|
{ x: 115.30893785, y: 39.30056263, z: 327 },
|
{ x: 115.308849, y: 39.30050415, z: 327 }
|
];
|
var down = [
|
{ x: 115.30886283, y: 39.30063138, z: 326 },
|
{ x: 115.30893785, y: 39.30056263, z: 326 },
|
{ x: 115.308849, y: 39.30050415, z: 326 }
|
];
|
var v = CalcVol.init(up, down);
|
|
alert(v);
|
}
|
</script>
|
</head>
|
<body>
|
|
</body>
|
</html>
|