<!DOCTYPE html>
|
<html lang="en">
|
<head>
|
<meta charset="UTF-8">
|
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
<title>河北勘测院三期</title>
|
<link href="./css/bootstrap.min.css" rel="stylesheet" />
|
<script src="./JS/polyfill.min.js"></script>
|
<script src="./JS/jquery-1.10.2.min.js"></script>
|
<script src="./JS/apiUrl.js"></script>
|
<script src="./JS/config.js"></script>
|
<script src="./JS/common.js"></script>
|
<script src="./JS/turf.min.js"></script>
|
<script src="./JS/tools.js"></script>
|
<script src="./JS/detect.js"></script>
|
<script src="./JS/bootstrap.min.js"></script>
|
<style>
|
body,
|
html {
|
height: 100%;
|
width: 100%;
|
margin: 0;
|
overflow: hidden;
|
padding: 0;
|
}
|
</style>
|
</head>
|
|
<body onload="ActiveXInit()">
|
|
<div id="teMap" style="position: absolute; width:100%;height:100%;z-index: 30;border:5px;border-color:black;">
|
<object id="TBAX" style="width: 100%; height: 100%;background: rgba;" classid="CLSID:B23DDF84-B652-4E34-9E57-77B8731199FE">
|
|
</object>
|
</div>
|
<div id="DivGroup" style="position: absolute; z-index: 30;border: 1px solid red; top:0;left: 0;">
|
</div>
|
<script>
|
//http://localhost/HBKCY/Calc/GetPoints?type=02&wkt=
|
var sgworld = null; //地图初始化对象
|
var sgworldEx = null; //地图初始化对象
|
// 面载入完成后触发事件
|
function ActiveXInit() {
|
sgworld = TBAX.createSgworld();
|
sgworldEx = TBAX.createMultScreen();
|
sgworld.Open(flyurl);
|
sgworldEx.Open(flyurl1);
|
//创建logo()
|
TBAX.setLogo("{'url':'" + url +
|
"/Image/LOGO.png','width':'1920','height':'82','left':'0','top':'0','horizontal': 'left'}", "2");
|
//历年数据对比
|
showMain();
|
//菜单显示
|
buttomMuen();
|
|
|
}
|
|
|
var imgurl;
|
|
function showMain() {
|
|
TBAX.setOpacity(0.6);
|
var imgurl = {
|
'url': url + '/Image/BottoMenu.png',
|
'width': '1920',
|
'height': '104',
|
'left': '0',
|
'top': '-1',
|
'right': '-1',
|
'bottom': '0',
|
|
}
|
var gid = sgworld.ProjectTree.FindItem("图形绘制");
|
if (gid != null) {
|
var gid = sgworld.ProjectTree.DeleteItem(gid);
|
}
|
TBAX.setImg1(JSON.stringify(imgurl));
|
TBAX.createPmDialogDock("底部菜单", url + "/html/bottomMenu.html", 1920, 90, window.innerHeight - 90, 0, -1, -1);
|
TBAX.createPmDialogDock("右侧菜单", url + "/html/rightMenu.html", 132, 558, 201, 1779, -1, -1);
|
TBAX.createPmDialogDock("左侧菜单", url + "/html/leftMEnu.html", 318, 650, 201, 0, -1, -1);
|
TBAX.createPmDialogDock("底部关闭", url + "/html/bottomdown.html", 12, 15, window.innerHeight - 100, 951, -1, -1);
|
|
}
|
|
function closeshowmian() {
|
TBAX.setImg1Hidden();
|
TBAX.closeDialog("底部关闭");
|
TBAX.closeDialog("底部菜单");
|
TBAX.closeDialog("右侧菜单");
|
TBAX.closeDialog("左侧菜单");
|
|
}
|
//历年数据对比设置图标样式
|
function buttomMuen() {
|
TBAX.setFullBtn2(JSON.stringify(tMenu));
|
TBAX.setLabel(JSON.stringify(labeltext1));
|
TBAX.setFullBtnVisibility("rt1", "true");
|
TBAX.setFullBtnVisibility("rt2", "false");
|
TBAX.setFullBtnVisibility("GT1", "true");
|
// TBAX.setLabelVisibility();
|
|
}
|
//历年数据对比回调事件
|
function showtool(type) {
|
if (type == '1') {
|
|
TBAX.setLabel(JSON.stringify(labeltext2));
|
TBAX.setFullBtnVisibility("rt1", "false");
|
TBAX.setFullBtnVisibility("rt2", "true");
|
closeshowmian();
|
ShowMultiple();
|
} else if (type == '2') {
|
TBAX.setFullBtnVisibility("rt1", "true");
|
TBAX.setFullBtnVisibility("rt2", "false");
|
TBAX.setLabel(JSON.stringify(labeltext1));
|
|
showMain();
|
ShowMultiple();
|
}
|
}
|
|
//地质数据管理回调事件
|
function GeologicaltTool() {
|
TBAX.createDialog("地质数据管理", url + "/html/Geological_Management/Geological_Data_Management.html", 1450, 750, 100, 320, -1, -1, "GeologicaltToolClose");
|
TBAX.setImg1Hidden();
|
TBAX.closeDialog("底部关闭");
|
var imgurl = {
|
'url': url + '/Image/BottoMenu.png',
|
'width': '1920',
|
'height': '104',
|
'left': '0',
|
'top': '-1',
|
'right': '-1',
|
'bottom': '0',
|
|
}
|
TBAX.setImg1(JSON.stringify(imgurl));
|
TBAX.createPmDialogDock("底部关闭", url + "/html/bottomdown.html", 12, 15, window.innerHeight - 100, 951, -1, -1);
|
}
|
|
function GeologicaltToolClose() {
|
TBAX.closeDialog("地质数据管理");
|
}
|
|
//右侧菜单点击事件
|
var r6_flag = 0;
|
|
function showrighttool(result) {
|
switch (result) {
|
case "r1":
|
TBAX.createPmDialogDock("测量工具", url + "/html/Measuring.html", 95, 266, 179, 1685, -1, -1);
|
break;
|
case "r2":
|
break;
|
case "r3":
|
break;
|
case "r4":
|
break;
|
case "r5":
|
TBAX.createDialog("数据导入", url + "/html/dataimporting/import.html", 1450, 750, 100, 320, -1, -1, "GeologicaltToolClose");
|
break;
|
case "r6":
|
TBAX.createDialog("转孔数据展示", url + "/html/Geological_Management/Geological_Management.html", 300, 300, -1, 320, 100, -1, "ttesc");
|
break;
|
}
|
}
|
|
// function RotorSearch(Flags, X, Y, pbHandled) {
|
// var CursorCoord = sgworld.Window.PixelToWorld(X, Y);
|
|
// var pIFeature = sgworld.Creator.GetObject(CursorCoord.ObjectID);
|
|
// if (pIFeature.FeatureAttributes.Count != 0) { //判断是否获取到对象
|
// if (pIFeature.Geometry.GeometryType == 5) { //判断获取对象是否为线
|
// var pIFeatureAttribute = pIFeature.FeatureAttributes.GetFeatureAttribute("lineid").Value;
|
// alert(pIFeatureAttribute)
|
// var tempTerraId = sgworld.ProjectTree.FindItem("钻孔点");
|
// alert(tempTerraId)
|
// var pointlayer = sgworld.Creator.GetObject(tempTerraId);
|
|
// var vlaue = pointlayer.FeatureGroups.Point.GetCurrentFeatures();
|
// alert(value.Count)
|
|
// // var name = vlaue[0].FeatureAttributes.GetFeatureAttribute("lineid").Value;
|
|
// for (var i = 0; i < vlaue.Count; i++) {
|
// var pointId = vlaue[i].FeatureAttributes.GetFeatureAttribute("lineid").Value;
|
|
// }
|
// // for (var i = 0; i < pointlayer.FeatureAttributes.Count; i++) {
|
// // var pIFeatureAttribute = pointlayer.FeatureAttributes[i].GetFeatureAttribute("lineid").Value;
|
// // alert( pointlayer.FeatureAttributes[i].GetFeatureAttribute("lineid").Value)
|
// // }
|
// }
|
// }
|
|
// }
|
//底部菜单点击事件
|
var Tree_Flag = 1;
|
|
function showbottomtool(result) {
|
|
switch (result) {
|
case "b0":
|
if (Tree_Flag == 1) {
|
Tree_Flag = 0;
|
TBAX.closeDialog("左侧菜单");
|
} else if (Tree_Flag == 0) {
|
Tree_Flag = 1;
|
TBAX.createPmDialogDock("左侧菜单", url + "/html/leftMEnu.html", 318, 650, 201, 0, -1, -1);
|
}
|
break;
|
case "b1":
|
sgworld.Command.Execute(1012, 0);
|
break;
|
case "b2":
|
sgworld.Command.Execute(1012, 1);
|
break;
|
case "b3":
|
allclickinformation();
|
break;
|
case "b4":
|
sgworld.Command.Execute(1035, 0);
|
break;
|
case "b5":
|
sgworld.Command.Execute(1037, 0);
|
break;
|
case "b6":
|
isohypse();
|
break;
|
case "b7":
|
ShowSlopeMapQuery();
|
break;
|
case "b8":
|
route();
|
break;
|
case "b9":
|
ShowProfile();
|
break;
|
case "bx1":
|
showtool("1");
|
break;
|
case "bx2":
|
showCross();
|
break;
|
case "bx3":
|
showTime();
|
break;
|
case "bx4":
|
showSun();
|
break;
|
case "bx5":
|
shadow();
|
break;
|
case "bxclose":
|
bxclose();
|
break;
|
case "bxup":
|
bxup();
|
break;
|
}
|
}
|
|
function bxclose() {
|
TBAX.setImg1Hidden();
|
TBAX.closeDialog("底部菜单");
|
TBAX.closeDialog("底部关闭");
|
|
|
TBAX.createPmDialogDock("底部展开", url + "/html/bottomup.html", 12, 15, window.innerHeight - 30, 951, -1, -1);
|
|
|
var imgur2 = {
|
'url': url + '/Image/bottom/1_03.png',
|
'width': '348',
|
'height': '16',
|
'left': '800',
|
'top': '-1',
|
'right': '-1',
|
'bottom': '15',
|
|
}
|
TBAX.setImg2(JSON.stringify(imgur2));
|
|
}
|
|
function bxup() {
|
TBAX.setImg2Hidden();
|
TBAX.closeDialog("底部展开");
|
var imgurl = {
|
'url': url + '/Image/BottoMenu.png',
|
'width': '1920',
|
'height': '104',
|
'left': '0',
|
'top': '-1',
|
'right': '-1',
|
'bottom': '0',
|
|
}
|
TBAX.setImg1(JSON.stringify(imgurl));
|
|
TBAX.createPmDialogDock("底部菜单", url + "/html/bottomMenu.html", 1920, 124, window.innerHeight - 85, 0, -1, -1);
|
TBAX.createPmDialogDock("底部关闭", url + "/html/bottomdown.html", 12, 15, window.innerHeight - 100, 951, -1, -1);
|
}
|
|
function showContrast(res) {
|
switch (res) {
|
case "l1":
|
ShowVolumeLeft();
|
break;
|
case "l2":
|
LoadFlyPolygon();
|
break;
|
case "l3":
|
ShowZYLCompare();
|
break;
|
case "l4":
|
ClearCompare();
|
break;
|
case "r1":
|
ShowVolumeRight();
|
break;
|
}
|
}
|
|
function showPolygonVolum(result) {
|
|
TBAX.createDialog("中间弹框", url + "html/centerBox.html" ,300, 300, 150, 50, -1, -1, "tcss");
|
|
}
|
function tcss(){
|
TBAX.closeDialog("中间弹框");
|
}
|
|
var bshowVolumeLeft = 0;
|
|
function ShowVolumeLeft() {
|
|
try {
|
var sg = CreateSGObj();
|
var ppCation = "资源量分析";
|
var pp = sg.Creator.CreatePopupMessage(ppCation, url + "/Volume/Volume.html", 90, 0, 300, 250, -1);
|
var pp = sg.Window.GetPopupByCaption(ppCation);
|
if (bshowVolumeLeft == 0) {
|
sg.Window.ShowPopup(pp);
|
bshowVolumeLeft = 1;
|
} else {
|
sg.Window.RemovePopup(pp);
|
bshowVolumeLeft = 0;
|
}
|
} catch (e) {
|
alert(e);
|
}
|
}
|
|
var bshowVolumeRight = 0;
|
|
function ShowVolumeRight() {
|
try {
|
var sg = sgworldEx;
|
var ppCation = "资源量分析";
|
var pp = sg.Creator.CreatePopupMessage(ppCation, url + "/Volume/Volume.html", 0, 0, 300, 250, -1);
|
var pp = sg.Window.GetPopupByCaption(ppCation);
|
if (bshowVolumeRight == 0) {
|
sg.Window.ShowPopup(pp);
|
bshowVolumeRight = 1;
|
} else {
|
sg.Window.RemovePopup(pp);
|
bshowVolumeRight = 0;
|
}
|
} catch (e) {
|
alert(e);
|
}
|
}
|
|
function LoadFlyPolygon() {
|
sgworld.Command.Execute(1013, 2);
|
window.setTimeout("LoadFlyPolygonAfter()", 1000);
|
}
|
|
function LoadFlyPolygonAfter() {
|
try {
|
var pid = sgworld.ProjectTree.FindItem("对比");
|
pid = sgworld.ProjectTree.GetNextItem(pid, 11);
|
var oid = sgworld.ProjectTree.GetNextItem(pid, 11);
|
|
var objpolygon = sgworld.ProjectTree.GetObject(oid);
|
sgworld.Navigate.FlyTo(objpolygon.ID, 0);
|
|
var geometryex = sgworldEx.Creator.GeometryCreator.CreateGeometryFromWKT(objpolygon.Geometry.Wks.ExportToWKT());
|
sgworldEx.Creator.CreatePolygon(geometryex, objpolygon.LineStyle.Color, objpolygon.FillStyle.Color, 3, getVolumeGroupEx(), "volumePlane");
|
|
} catch (e) {
|
alert(e);
|
}
|
//sgworld.ProjectTree.GetNextItem(sgworld.ProjectTree.GetNextItem);
|
}
|
|
function LoadFlyPolygonEx() {
|
sgworldEx.Command.Execute(1013, 2);
|
}
|
|
function ShowZYLCompare() {
|
var pid = sgworld.ProjectTree.FindItem("对比");
|
pid = sgworld.ProjectTree.GetNextItem(pid, 11);
|
var oid = sgworld.ProjectTree.GetNextItem(pid, 11);
|
|
var objpolygon = sgworld.ProjectTree.GetObject(oid);
|
sgworld.Navigate.FlyTo(objpolygon.ID, 0);
|
|
var geometryex = sgworldEx.Creator.GeometryCreator.CreateGeometryFromWKT(objpolygon.Geometry.Wks.ExportToWKT());
|
var ksmd = 1;
|
//var geometryex = sgworldEx.Creator.GeometryCreator.CreateGeometryFromWKT(geometry);
|
sgworldEx.Creator.CreatePolygon(geometryex, sgworldEx.Creator.CreateColor(255, 255, 255, 1), sgworldEx.Creator.CreateColor(255, 255, 0, 128), 3, getVolumeGroupEx(), "volumePlane");
|
var elevationBufferRight = getElevationBufferRight(geometryex, gQuaryResolution);
|
var elevationBufferLeft = getElevationBufferLeft(objpolygon.Geometry, gQuaryResolution);
|
|
var leftDun = calculateVolumeLeft(geometryex, qualityStep, "分析结果", elevationBufferLeft, null, geometryex.Rings(0).Points(0).z, ksmd);
|
var rightDun = calculateVolumeRight(geometryex, qualityStep, "分析结果", elevationBufferRight, null, geometryex.Rings(0).Points(0).z, ksmd);
|
|
var gVolumeResultHTML = Math.abs((parseFloat(leftDun) - parseFloat(rightDun)).toFixed(1));
|
var HTMLString = "<html><head><meta http-equiv=\"X-UA-Compatible\" content=\"IE=9\"/></head><body leftmargin='0' topmargin='0' marginwidth='0' marginheight='0' style='height:100%;width:100%;background:rgba(44,44,44,1);overflow:hidden;'>";
|
HTMLString += "<div style='display:inline-block;width:100%; padding:10px 20px 10px 20px;border:5px;background:rgba(25,83,189,1); border-color:black;cursor:pointer;text-align:center;color:white;'>资源量分析计算结果:</div>";
|
HTMLString += "<div><table style='width:100%; height:100px;background:rgba(44,44,44,1);color:white;font-size:11pt;text-align:center;'>";
|
|
HTMLString += "<tr><td>资源动用量:</td><td><span>" + gVolumeResultHTML + "</span>万吨</td></tr>";
|
HTMLString += "</table></div></body></html>";
|
var popupMsg = sgworldEx.Creator.CreatePopupMessage("分析结果", "", 100, 100, 300, 200, -1);
|
popupMsg.Flags = 2 + 32 + 32768;
|
popupMsg.InnerText = HTMLString;
|
sgworldEx.Window.ShowPopup(popupMsg);
|
}
|
|
function ClearCompare() {
|
try {
|
var pid = sgworld.ProjectTree.FindItem("对比");
|
if (pid != sgworld.ProjectTree.RootID) {
|
sgworld.ProjectTree.DeleteItem(pid);
|
}
|
var pid = sgworldEx.ProjectTree.FindItem("volumeResult");
|
if (pid != sgworldEx.ProjectTree.RootID) {
|
sgworldEx.ProjectTree.DeleteItem(pid);
|
}
|
} catch (e) {
|
alert(e);
|
}
|
}
|
|
|
|
function showHistoryIMGLayer(selectIdName) {
|
var _id_xpl = sgworldEx.ProjectTree.FindItem("历史数据");
|
var _id_current = sgworldEx.ProjectTree.GetNextItem(_id_xpl, 11);
|
HistoryRecursive(_id_current, 13, selectIdName)
|
}
|
|
function HistoryRecursive(current, indent, selectIdName) {
|
while (current != null && current != undefined) {
|
var name = sgworldEx.ProjectTree.GetItemName(current);
|
var value = "历史数据\\" + name;
|
var pid = sgworldEx.ProjectTree.FindItem(value);
|
if (name == selectIdName) {
|
sgworldEx.ProjectTree.SetVisibility(pid, true);
|
} else {
|
sgworldEx.ProjectTree.SetVisibility(pid, false);
|
}
|
current = sgworldEx.ProjectTree.GetNextItem(current, indent);
|
}
|
}
|
|
//属性查询
|
function allclickinformation() {
|
try {
|
AllEventClean();
|
} catch (e) {}
|
var arrId = sgworld.ProjectTree.FindItem("分析工具");
|
if (arrId == 0) {
|
arrId = sgworld.ProjectTree.CreateGroup("分析工具");
|
}
|
sgworld.ProjectTree.SelectItem(arrId);
|
sgworld.Command.Execute(1023, 0);
|
}
|
|
function AllEventClean() {
|
var arrId = sgworld.ProjectTree.FindItem("分析工具");
|
if (arrId != 0) {
|
sgworld.ProjectTree.DeleteItem(arrId);
|
}
|
}
|
//等高线分析
|
function isohypse() {
|
try {
|
AllEventClean();
|
} catch (e) {}
|
var arrId = sgworld.ProjectTree.FindItem("分析工具");
|
if (arrId == 0) {
|
arrId = sgworld.ProjectTree.CreateGroup("分析工具");
|
}
|
sgworld.ProjectTree.SelectItem(arrId);
|
sgworld.Command.Execute(2216, 0);
|
//sgworld.Command.Execute(1021, 0); // 选择模型
|
}
|
// 坡度图
|
var bShowSlopeMapQuery = 0;
|
|
function ShowSlopeMapQuery() {
|
try {
|
var sg = CreateSGObj();
|
var ppCation = "坡度查询";
|
pp = sg.Creator.CreatePopupMessage(ppCation, url + "/html/SlopeMapQuery/SlopeMapQuery.html", 200, 200, 300, 400, -1);
|
var pp = sg.Window.GetPopupByCaption(ppCation);
|
if (bShowSlopeMapQuery == 0) {
|
sg.Window.ShowPopup(pp);
|
bShowSlopeMapQuery = 1;
|
} else {
|
sg.Window.RemovePopup(pp);
|
bShowSlopeMapQuery = 0;
|
}
|
} catch (e) {
|
alert(e);
|
}
|
}
|
|
//最短路径分析
|
function route() {
|
try {
|
AllEventClean();
|
} catch (e) {}
|
var arrId = sgworld.ProjectTree.FindItem("分析工具");
|
if (arrId == 0) {
|
arrId = sgworld.ProjectTree.CreateGroup("分析工具");
|
}
|
sgworld.ProjectTree.SelectItem(arrId);
|
sgworld.Command.Execute(1042, 0);
|
|
}
|
//地面剖面图
|
var bshowProfile = 0;
|
|
function ShowProfile() {
|
try {
|
var sg = CreateSGObj();
|
var ppCation = "地形剖面";
|
pp = sg.Creator.CreatePopupMessage(ppCation, url + "/html/TerrainProfile/TerrainProfile.html", 200, 200, 300, 200, -1);
|
var pp = sg.Window.GetPopupByCaption(ppCation);
|
if (bshowProfile == 0) {
|
sg.Window.ShowPopup(pp);
|
bshowProfile = 1;
|
} else {
|
sg.Window.RemovePopup(pp);
|
bshowProfile = 0;
|
}
|
} catch (e) {
|
alert(e);
|
}
|
}
|
|
//分屏对比
|
function ShowMultiple() {
|
var mode = TBAX.setShowMode(7);
|
if (mode) {
|
sgworld.Application.Multiple3DWindows.SetAsLeader();
|
sgworld.Application.Multiple3DWindows.LinkPosition(sgworldEx);
|
TBAX.createPmDialogDock("分屏对比", url + "/html/contrast.html", 1920, 50, 80, 0, -1, -1);
|
} else {
|
TBAX.closeDialog("分屏对比");
|
sgworld.Application.Multiple3DWindows.UnlinkPosition();
|
}
|
|
}
|
var bshow = 0;
|
|
function showCross() {
|
try {
|
var sg = sgworld;
|
var ppCation = "模型剖切展示";
|
pp = sg.Creator.CreatePopupMessage(ppCation, url + "/html/CrossSection/CrossSection.html", sg.Window.Rect.width - 235, 230 + 5, 230, 230, -1);
|
var pp = sg.Window.GetPopupByCaption(ppCation);
|
if (bshow == 0) {
|
sg.Window.ShowPopup(pp);
|
bshow = 1;
|
} else {
|
sg.Window.RemovePopup(pp);
|
bshow = 0;
|
}
|
} catch (e) {
|
alert(e);
|
}
|
}
|
//阴影分析
|
function shadow() {
|
sgworld.Command.Execute(1026, 0); // sun
|
if (sgworld.DateTime.DisplaySun) {
|
sgworld.Command.Execute(2118, 0); //赵贺 如果显示太阳,则显示阴影
|
}
|
}
|
//时间滑块
|
function showTime() {
|
try {
|
AllEventClean();
|
} catch (e) {}
|
var arrId = sgworld.ProjectTree.FindItem("分析工具");
|
if (arrId == 0) {
|
arrId = sgworld.ProjectTree.CreateGroup("分析工具");
|
}
|
sgworld.ProjectTree.SelectItem(arrId);
|
|
sgworld.Command.Execute(1065, 4);
|
}
|
// 太阳
|
function showSun() {
|
try {
|
AllEventClean();
|
} catch (e) {}
|
var arrId = sgworld.ProjectTree.FindItem("分析工具");
|
if (arrId == 0) {
|
arrId = sgworld.ProjectTree.CreateGroup("分析工具");
|
}
|
sgworld.ProjectTree.SelectItem(arrId);
|
|
sgworld.Command.Execute(1026, 0);
|
}
|
</script>
|
</body>
|
|
</html>
|