liuyg
2021-06-18 bcb10dd896036ec9d1042cad36c7eaae36828b5e
空间分析合集
7 files modified
7 files added
511 ■■■■ changed files
config.json 9 ●●●●● patch | view | raw | blame | history
widgets/Tool/Widget.html 5 ●●●●● patch | view | raw | blame | history
widgets/Tool/Widget.js 131 ●●●●● patch | view | raw | blame | history
widgets/profileAnalysis/css/style.css 4 ●●●● patch | view | raw | blame | history
widgets/slope/Widget.html 5 ●●●●● patch | view | raw | blame | history
widgets/slope/css/style.css 25 ●●●● patch | view | raw | blame | history
widgets/spatialAnalysis/Widget.html 15 ●●●●● patch | view | raw | blame | history
widgets/spatialAnalysis/Widget.js 205 ●●●●● patch | view | raw | blame | history
widgets/spatialAnalysis/css/style.css 74 ●●●●● patch | view | raw | blame | history
widgets/spatialAnalysis/manifest.json 17 ●●●●● patch | view | raw | blame | history
widgets/spatialAnalysis/nls/es/strings.js 5 ●●●●● patch | view | raw | blame | history
widgets/spatialAnalysis/nls/strings.js 7 ●●●●● patch | view | raw | blame | history
widgets/spatialAnalysis/nls/zh-cn/strings.js 5 ●●●●● patch | view | raw | blame | history
widgets/visibleArea/css/style.css 4 ●●●● patch | view | raw | blame | history
config.json
@@ -217,9 +217,14 @@
      {
        "name": "搜索弹窗表格各项弹窗",
        "uri": "widgets/searchTabaPopup/Widget"
      }, {
      },
      {
        "name": "图层管理",
        "uri": "widgets/Layermanagement/Widget"
      },
      {
        "name": "空间分析",
        "uri": "widgets/spatialAnalysis/Widget"
      },
      {
        "name": "可视化分析",
@@ -233,8 +238,6 @@
        "name": "剖面分析",
        "uri": "widgets/profileAnalysis/Widget"
      }
    ],
    "groups": [],
    "panel": {
widgets/Tool/Widget.html
@@ -10,9 +10,10 @@
                <li class="sign-tool"><i></i> <span>我的标记</span></li>
                <li class="CoorPosition-tool"><i></i> <span>坐标定位</span></li>
                <li class="MapPrinting-tool"><i></i> <span>场景快照</span></li>
                <li class="visibleArea-tool"><i></i> <span>可视分析</span></li>
                <li class="spatialAnalysis-tool"><i></i> <span>空间分析</span></li>
                <!-- <li class="visibleArea-tool"><i></i> <span>可视分析</span></li>
                <li class="profileAnalysis-tool"><i></i> <span>剖面分析</span></li>
                <li class="slope-tool"><i></i> <span>坡度分析</span></li>
                <li class="slope-tool"><i></i> <span>坡度分析</span></li> -->
                <!-- <li class="superposition-tool"><i></i> <span>叠加分析</span></li>
                <li class="buffer-tool"><i></i> <span>缓冲分析</span></li> -->
            </ul>
widgets/Tool/Widget.js
@@ -59,6 +59,7 @@
                    $(".jimu-widget-profileAnalysis").hide();
                    $(".jimu-widget-slope").hide();
                    $('.tool-y-box').stop().hide();
                    $(".jimu-widget-spatialAnalysis").hide();
                    $('.jimu-widget-Measurement').show();
@@ -86,6 +87,7 @@
                    $(".jimu-widget-profileAnalysis").hide();
                    $(".jimu-widget-slope").hide();
                    $('.tool-y-box').stop().hide();
                    $(".jimu-widget-spatialAnalysis").hide();
                    topic.publish('openRolling', 'Rolling');
@@ -112,6 +114,7 @@
                    $(".jimu-widget-profileAnalysis").hide();
                    $(".jimu-widget-slope").hide();
                    $('.tool-y-box').stop().hide();
                    $(".jimu-widget-spatialAnalysis").hide();
                    topic.publish('openSplitScreen', 'SplitScreen');
@@ -138,6 +141,7 @@
                    $(".jimu-widget-profileAnalysis").hide();
                    $(".jimu-widget-slope").hide();
                    $('.tool-y-box').stop().hide();
                    $(".jimu-widget-spatialAnalysis").hide();
                    topic.publish('openSign', 'Sign');
@@ -166,6 +170,7 @@
                    $(".jimu-widget-profileAnalysis").hide();
                    $(".jimu-widget-slope").hide();
                    $('.tool-y-box').stop().hide();
                    $(".jimu-widget-spatialAnalysis").hide();
                    $('.jimu-widget-CoorPosition').show();
@@ -195,14 +200,14 @@
                    $(".jimu-widget-profileAnalysis").hide();
                    $(".jimu-widget-slope").hide();
                    $('.tool-y-box').stop().hide();
                    $(".jimu-widget-spatialAnalysis").hide();
                    $('.jimu-widget-MapPrinting').show();
                })
                // 可视分析
                $('.visibleArea-tool').click(function () {
                // 空间分析
                $('.spatialAnalysis-tool').click(function () {
                    that.map.scene.globe.depthTestAgainstTerrain = true;
                    // 关闭量算
                    topic.publish('closeMeasurement', 'Measurement');
@@ -222,58 +227,84 @@
                    $(".jimu-widget-profileAnalysis").hide();
                    $(".jimu-widget-slope").hide();
                    $('.tool-y-box').stop().hide();
                    $(".jimu-widget-visibleArea").show();
                    $(".jimu-widget-visibleArea").hide();
                    $(".jimu-widget-spatialAnalysis").show();
                })
                // // 可视分析
                // $('.visibleArea-tool').click(function () {
                //     that.map.scene.globe.depthTestAgainstTerrain = true;
                //     // 关闭量算
                //     topic.publish('closeMeasurement', 'Measurement');
                //     // 关闭卷帘
                //     topic.publish('closeRolling', 'Rolling');
                //     // 关闭分屏
                //     topic.publish('closeSplitScreen', 'SplitScreen');
                //     // 关闭标记
                //     topic.publish('closeSign', 'Sign');
                //     topic.publish('closeFlyRoute', 'FlyRoute');
                //     $('.jimu-widget-CoorPosition').hide();
                //     $('.jimu-widget-MapPrinting').hide();
                //     // 关闭可视
                //     // topic.publish('closev', '');
                //     // 关闭剖面
                //     topic.publish('closep', '');
                //     $(".jimu-widget-profileAnalysis").hide();
                //     $(".jimu-widget-slope").hide();
                //     $('.tool-y-box').stop().hide();
                //     $(".jimu-widget-visibleArea").show();
                // })
                // 剖面分析
                $('.profileAnalysis-tool').click(function () {
                    that.map.scene.globe.depthTestAgainstTerrain = true;
                    // 关闭量算
                    topic.publish('closeMeasurement', 'Measurement');
                    // 关闭卷帘
                    topic.publish('closeRolling', 'Rolling');
                    // 关闭分屏
                    topic.publish('closeSplitScreen', 'SplitScreen');
                    // 关闭标记
                    topic.publish('closeSign', 'Sign');
                    topic.publish('closeFlyRoute', 'FlyRoute');
                    $('.jimu-widget-CoorPosition').hide();
                    $('.jimu-widget-MapPrinting').hide();
                    // 关闭可视
                    topic.publish('closev', '');
                    // 关闭剖面
                    // topic.publish('closep', '');
                    $(".jimu-widget-visibleArea").hide();
                    $(".jimu-widget-slope").hide();
                    $('.tool-y-box').stop().hide();
                // $('.profileAnalysis-tool').click(function () {
                //     that.map.scene.globe.depthTestAgainstTerrain = true;
                //     // 关闭量算
                //     topic.publish('closeMeasurement', 'Measurement');
                //     // 关闭卷帘
                //     topic.publish('closeRolling', 'Rolling');
                //     // 关闭分屏
                //     topic.publish('closeSplitScreen', 'SplitScreen');
                //     // 关闭标记
                //     topic.publish('closeSign', 'Sign');
                //     topic.publish('closeFlyRoute', 'FlyRoute');
                //     $('.jimu-widget-CoorPosition').hide();
                //     $('.jimu-widget-MapPrinting').hide();
                //     // 关闭可视
                //     topic.publish('closev', '');
                //     // 关闭剖面
                //     // topic.publish('closep', '');
                //     $(".jimu-widget-visibleArea").hide();
                //     $(".jimu-widget-slope").hide();
                //     $('.tool-y-box').stop().hide();
                    $(".jimu-widget-profileAnalysis").show();
                })
                //     $(".jimu-widget-profileAnalysis").show();
                // })
                //坡度分析
                $('.slope-tool').click(function () {
                    that.map.scene.globe.depthTestAgainstTerrain = true;
                    // 关闭量算
                    topic.publish('closeMeasurement', 'Measurement');
                    // 关闭卷帘
                    topic.publish('closeRolling', 'Rolling');
                    // 关闭分屏
                    topic.publish('closeSplitScreen', 'SplitScreen');
                    // 关闭标记
                    topic.publish('closeSign', 'Sign');
                    topic.publish('closeFlyRoute', 'FlyRoute');
                    $('.jimu-widget-CoorPosition').hide();
                    $('.jimu-widget-MapPrinting').hide();
                    // 关闭可视
                    topic.publish('closev', '');
                    // 关闭剖面
                    topic.publish('closep', '');
                    $(".jimu-widget-visibleArea").hide();
                    $(".jimu-widget-profileAnalysis").hide();
                    $('.tool-y-box').stop().hide();
                // $('.slope-tool').click(function () {
                //     that.map.scene.globe.depthTestAgainstTerrain = true;
                //     // 关闭量算
                //     topic.publish('closeMeasurement', 'Measurement');
                //     // 关闭卷帘
                //     topic.publish('closeRolling', 'Rolling');
                //     // 关闭分屏
                //     topic.publish('closeSplitScreen', 'SplitScreen');
                //     // 关闭标记
                //     topic.publish('closeSign', 'Sign');
                //     topic.publish('closeFlyRoute', 'FlyRoute');
                //     $('.jimu-widget-CoorPosition').hide();
                //     $('.jimu-widget-MapPrinting').hide();
                //     // 关闭可视
                //     topic.publish('closev', '');
                //     // 关闭剖面
                //     topic.publish('closep', '');
                //     $(".jimu-widget-visibleArea").hide();
                //     $(".jimu-widget-profileAnalysis").hide();
                //     $('.tool-y-box').stop().hide();
                    $(".jimu-widget-slope").show();
                    topic.publish('getbeginSlope', this.beginSlope);
                })
                //     $(".jimu-widget-slope").show();
                //     topic.publish('getbeginSlope', this.beginSlope);
                // })
            },
widgets/profileAnalysis/css/style.css
@@ -1,14 +1,14 @@
.jimu-widget-profileAnalysis {
  position: fixed !important;
  top: 72px !important;
  right: 60px !important;
  right: 383px !important;
  width: 200px !important;
  height: 40px !important;
  background-color: rgb(255, 255, 255);
  font-size: 14px;
  color: rgb(0, 0, 0);
  font-size: 16px;
  z-index: 11 !important;
  z-index: 12 !important;
  border-radius: 10px;
  display: none;
  box-shadow: 0 0 8px #fff;
widgets/slope/Widget.html
@@ -1,7 +1,6 @@
<div>
    <div id="float"
        style="background:#95e8f9;width: 250px;height: 470px;top: 15px;left: 1.5%;opacity: 1">
        <div id="con" style="background:#95e8f9;width: 230px;height: 450px;top: 85px;left: 1.1%;margin: 10px">
    <div id="float"">
        <div id="con">
            <label for="calMode">1、计算模式:</label>
            <select id="calMode">
                <option value="calModeall_plane">指定多边形区域</option>
widgets/slope/css/style.css
@@ -1,14 +1,13 @@
.jimu-widget-slope {
  position: fixed !important;
  top: 72px !important;
  right: 60px !important;
  right: 388px !important;
  width: 200px !important;
  height: 40px !important;
  background-color: rgb(255, 255, 255);
  font-size: 14px;
  color: rgb(0, 0, 0);
  font-size: 16px;
  z-index: 11 !important;
  z-index: 12 !important;
  border-radius: 10px;
  display: none;
  box-shadow: 0 0 8px #fff;
@@ -17,6 +16,22 @@
.jimu-widget-slope #float {
  position: relative !important;
  top: 50px !important;
  left: -60px !important;
  top: -10px !important;
  left: -50px !important;
  background-color: rgb(255, 255, 255) !important;
  font-size: 16px;
  color: rgb(0, 0, 0);
  border-radius: 5px;
  box-shadow: 0 0 8px #fff;
  width: 250px;
  height: 470px;
  opacity: 1;
}
.jimu-widget-slope #float #con {
  width: 230px;
  height: 450px;
  top: 85px;
  left: 1.1%;
  margin: 10px;
}
widgets/spatialAnalysis/Widget.html
New file
@@ -0,0 +1,15 @@
<div>
    <div class="heards">
        空间分析
        <i class="layui-icon closesspatialAnalysis">
            &#x1006;
        </i>
    </div>
    <div class="main">
        <ul id="spatialAnalysis-main">
            <!-- <li class="visibleArea-tool"><i></i> <span>可视分析</span></li>
            <li class="profileAnalysis-tool"><i></i> <span>剖面分析</span></li>
            <li class="slope-tool"><i></i> <span>坡度分析</span></li> -->
        </ul>
    </div>
</div>
widgets/spatialAnalysis/Widget.js
New file
@@ -0,0 +1,205 @@
///////////////////////////////////////////////////////////////////////////
// Copyright © 2019 zhongsong. All Rights Reserved.
// 模块描述:显示坐标
///////////////////////////////////////////////////////////////////////////
define([
    'dojo/_base/declare',
    'dojo/_base/lang',
    'dojo/_base/array',
    'dojo/_base/html',
    'dojo/topic',
    'jimu/BaseWidget',
    'jimu/utils',
    'jimu/css!libs/zTree_v3/css/zTreeStyle/zTreeStyle.css',
    'libs/zTree_v3/js/jquery.ztree.all'
],
    function (declare,
        lang,
        array,
        html,
        topic,
        BaseWidget,
        aspect,
        string,
        utils
    ) {
        return declare([BaseWidget], {
            baseClass: 'jimu-widget-spatialAnalysis',
            name: 'spatialAnalysis',
            layers: {},
            startup: function () {
                var that = this;
                // 暴露在外的接口
                var domHtmls = [
                    {
                        name: '可视分析',
                        classs: 'visibleArea-tool'
                    }, {
                        name: '剖面分析',
                        classs: 'profileAnalysis-tool'
                    }, {
                        name: '坡度分析',
                        classs: 'slope-tool'
                    }
                ];
                var dom = $('#spatialAnalysis-main');
                var str = '';
                for (var k in domHtmls) {
                    str += `<li class="${domHtmls[k].classs}">
                     <i></i>
                     <span>${domHtmls[k].name}</span>
                     </li>`
                }
                dom.replaceWith(str);
                $('.closesspatialAnalysis').click(() => {
                    $('.jimu-widget-spatialAnalysis').hide();
                    // 关闭可视
                    topic.publish('closev', '');
                    // 关闭剖面
                    topic.publish('closep', '');
                    $(".jimu-widget-visibleArea").hide();
                    $(".jimu-widget-profileAnalysis").hide();
                    $(".jimu-widget-slope").hide();
                })
                // topic.subscribe("closeTool", lang.hitch(this, this.closeToolBox));
                // this.inherited(arguments);
                // $('.tool-bar .tool-btn span').click(function () {
                //     topic.publish('closeMap', this.name);
                //     topic.publish('closeZtree', this.name);
                //     $('.tool-y-box').toggle();
                // })
                // 可视分析
                $('.visibleArea-tool').click(function () {
                    that.map.scene.globe.depthTestAgainstTerrain = true;
                    // 关闭量算
                    topic.publish('closeMeasurement', 'Measurement');
                    // 关闭卷帘
                    topic.publish('closeRolling', 'Rolling');
                    // 关闭分屏
                    topic.publish('closeSplitScreen', 'SplitScreen');
                    // 关闭标记
                    topic.publish('closeSign', 'Sign');
                    topic.publish('closeFlyRoute', 'FlyRoute');
                    $('.jimu-widget-CoorPosition').hide();
                    $('.jimu-widget-MapPrinting').hide();
                    // 关闭可视
                    // topic.publish('closev', '');
                    // 关闭剖面
                    topic.publish('closep', '');
                    $(".jimu-widget-profileAnalysis").hide();
                    $(".jimu-widget-slope").hide();
                    $('.tool-y-box').stop().hide();
                    $(".jimu-widget-visibleArea").show();
                })
                // 剖面分析
                $('.profileAnalysis-tool').click(function () {
                    that.map.scene.globe.depthTestAgainstTerrain = true;
                    // 关闭量算
                    topic.publish('closeMeasurement', 'Measurement');
                    // 关闭卷帘
                    topic.publish('closeRolling', 'Rolling');
                    // 关闭分屏
                    topic.publish('closeSplitScreen', 'SplitScreen');
                    // 关闭标记
                    topic.publish('closeSign', 'Sign');
                    topic.publish('closeFlyRoute', 'FlyRoute');
                    $('.jimu-widget-CoorPosition').hide();
                    $('.jimu-widget-MapPrinting').hide();
                    // 关闭可视
                    topic.publish('closev', '');
                    // 关闭剖面
                    // topic.publish('closep', '');
                    $(".jimu-widget-visibleArea").hide();
                    $(".jimu-widget-slope").hide();
                    $('.tool-y-box').stop().hide();
                    $(".jimu-widget-profileAnalysis").show();
                })
                //坡度分析
                $('.slope-tool').click(function () {
                    that.map.scene.globe.depthTestAgainstTerrain = true;
                    // 关闭量算
                    topic.publish('closeMeasurement', 'Measurement');
                    // 关闭卷帘
                    topic.publish('closeRolling', 'Rolling');
                    // 关闭分屏
                    topic.publish('closeSplitScreen', 'SplitScreen');
                    // 关闭标记
                    topic.publish('closeSign', 'Sign');
                    topic.publish('closeFlyRoute', 'FlyRoute');
                    $('.jimu-widget-CoorPosition').hide();
                    $('.jimu-widget-MapPrinting').hide();
                    // 关闭可视
                    topic.publish('closev', '');
                    // 关闭剖面
                    topic.publish('closep', '');
                    $(".jimu-widget-visibleArea").hide();
                    $(".jimu-widget-profileAnalysis").hide();
                    $('.tool-y-box').stop().hide();
                    $(".jimu-widget-slope").show();
                    topic.publish('getbeginSlope', this.beginSlope);
                })
            },
            closeToolBox: function (item) {
                if (item != this.name) {
                    $('.tool-y-box').hide();
                }
            },
            onOpen: function () {
                //面板打开的时候触发 (when open this panel trigger)
                // var domHtmls = [
                //     {
                //         name: '可视分析',
                //         classs: 'visibleArea-tool'
                //     }, {
                //         name: '剖面分析',
                //         classs: 'profileAnalysis-tool'
                //     }, {
                //         name: '坡度分析',
                //         classs: 'slope-tool'
                //     },
                // ];
                // var dom = $('#spatialAnalysis-main');
                // var str = '';
                // for (var k in domHtmls) {
                //     str += `<li class="${domHtmls[k].classs}"><i></i> <span>${domHtmls[k].name}</span></li>`
                // }
                // dom.replaceWith(str);
            },
            onClose: function () {
                //面板关闭的时候触发 (when this panel is closed trigger)
            },
            onMinimize: function () {
                this.resize();
            },
            onMaximize: function () {
                this.resize();
            },
            resize: function () {
            },
            destroy: function () {
                //销毁的时候触发
                //todo
                //do something before this func
                this.inherited(arguments);
            }
        });
    });
widgets/spatialAnalysis/css/style.css
New file
@@ -0,0 +1,74 @@
.jimu-widget-spatialAnalysis {
  position: absolute !important;
  font-size: 14px;
  height: 398px !important;
  width: 318px !important;
  /* 240px */
  background: rgb(254, 254, 254);
  color: #838383;
  border-radius: 6px;
  text-align: center;
  /* cursor: pointer; */
  z-index: 11 !important;
  top: 72px !important;
  bottom: auto !important;
  right: 60px !important;
  left: auto !important;
  box-shadow: 0 0 8px #fff;
  display: none;
}
.jimu-widget-spatialAnalysis .closesspatialAnalysis {
  position: absolute;
  top: 0px;
  right: 10px;
  cursor: pointer;
}
.jimu-widget-spatialAnalysis .closesspatialAnalysis:hover {
  color: red;
}
.jimu-widget-spatialAnalysis .heards {
  height: 40px;
  width: 100%;
  background-color: #39A5FD;
  color: #fff;
  font-size: 16px;
  line-height: 40px;
  border-radius: 6px 6px 0 0;
}
.jimu-widget-spatialAnalysis .main {
  padding: 5px;
  text-align: center;
  overflow: hidden;
  height: calc(100% - 40px);
  width: 100%;
  margin: 0;
  overflow: auto;
}
.jimu-widget-spatialAnalysis li {
  position: relative;
  left: 6px;
  top: 5px;
  float: left;
  cursor: pointer;
  user-select: none;
  min-width: 62px;
  height: 96px;
  width: 90px;
  box-sizing: border-box;
  margin: 0 10px 10px 0;
  text-align: center;
  padding-top: 12px;
  border: 1px solid rgb(255, 255, 255);
  box-shadow: 2px 2px 15px -5px #39A5FD;
  color: #555
}
.jimu-widget-spatialAnalysis li:hover {
  background-color: #ffffff;
  box-shadow: 3px 3px 20px -4px #0b8af1;
}
widgets/spatialAnalysis/manifest.json
New file
@@ -0,0 +1,17 @@
{
  "name": "spatialAnalysis",
  "2D": true,
  "3D": true,
  "platform": "HTML",
  "version": "2.10",
  "wabVersion": "2.10",
  "author": "yuanjy",
  "description": "",
  "copyright": "",
  "license": "",
  "properties": {
    "hasConfig": false,
    "inPanel": false,
    "hasVersionManager": false
  }
}
widgets/spatialAnalysis/nls/es/strings.js
New file
@@ -0,0 +1,5 @@
define(
   ({
    _widgetLabel: "spatialAnalysis"
  })
);
widgets/spatialAnalysis/nls/strings.js
New file
@@ -0,0 +1,7 @@
define({
  root: ({
    _widgetLabel: "spatialAnalysis"
  }),
  "es": 1,
  "zh-cn": 1
});
widgets/spatialAnalysis/nls/zh-cn/strings.js
New file
@@ -0,0 +1,5 @@
define(
   ({
    _widgetLabel: "空间分析"
  })
);
widgets/visibleArea/css/style.css
@@ -1,14 +1,14 @@
.jimu-widget-visibleArea {
  position: fixed !important;
  top: 72px !important;
  right: 60px !important;
  right: 383px !important;
  width: 200px !important;
  height: 40px !important;
  background-color: rgb(255, 255, 255);
  font-size: 14px;
  color: rgb(0, 0, 0);
  font-size: 16px;
  z-index: 11;
  z-index: 12 !important;
  border-radius: 10px;
  display: none;
  box-shadow: 0 0 8px #fff;