Skip to content

Commit 2edc146

Browse files
committed
【feature】 分布式分析微件优化 review by songym
1 parent 5ef0210 commit 2edc146

File tree

14 files changed

+508
-290
lines changed

14 files changed

+508
-290
lines changed

build/jsdocs/template/config.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -352,7 +352,7 @@
352352
"name_en": "DistributedAnalysis"
353353
},
354354
"Search": {
355-
"name": "查询微件",
355+
"name": "图层查询微件",
356356
"name_en": "Search"
357357
}
358358
}

dist/leaflet/iclient9-leaflet-es6.js

Lines changed: 101 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -44,19 +44,34 @@
4444
/******/ // define getter function for harmony exports
4545
/******/ __webpack_require__.d = function(exports, name, getter) {
4646
/******/ if(!__webpack_require__.o(exports, name)) {
47-
/******/ Object.defineProperty(exports, name, {
48-
/******/ configurable: false,
49-
/******/ enumerable: true,
50-
/******/ get: getter
51-
/******/ });
47+
/******/ Object.defineProperty(exports, name, { enumerable: true, get: getter });
5248
/******/ }
5349
/******/ };
5450
/******/
5551
/******/ // define __esModule on exports
5652
/******/ __webpack_require__.r = function(exports) {
53+
/******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) {
54+
/******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
55+
/******/ }
5756
/******/ Object.defineProperty(exports, '__esModule', { value: true });
5857
/******/ };
5958
/******/
59+
/******/ // create a fake namespace object
60+
/******/ // mode & 1: value is a module id, require it
61+
/******/ // mode & 2: merge all properties of value into the ns
62+
/******/ // mode & 4: return value when already ns object
63+
/******/ // mode & 8|1: behave like require
64+
/******/ __webpack_require__.t = function(value, mode) {
65+
/******/ if(mode & 1) value = __webpack_require__(value);
66+
/******/ if(mode & 8) return value;
67+
/******/ if((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;
68+
/******/ var ns = Object.create(null);
69+
/******/ __webpack_require__.r(ns);
70+
/******/ Object.defineProperty(ns, 'default', { enumerable: true, value: value });
71+
/******/ if(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));
72+
/******/ return ns;
73+
/******/ };
74+
/******/
6075
/******/ // getDefaultExport function for compatibility with non-harmony modules
6176
/******/ __webpack_require__.n = function(module) {
6277
/******/ var getter = module && module.__esModule ?
@@ -31561,7 +31576,11 @@ class KernelDensityJobParameter_KernelDensityJobParameter {
3156131576

3156231577
tempObj['analyst'] = tempObj['analyst'] || {};
3156331578
if (name === 'query') {
31564-
tempObj['analyst'][name] = kernelDensityJobParameter[name].toBBOX();
31579+
if(tempObj['analyst'][name]){
31580+
tempObj['analyst'][name] = kernelDensityJobParameter[name].toBBOX();
31581+
}else{
31582+
tempObj['analyst'][name] = kernelDensityJobParameter[name];
31583+
}
3156531584
} else {
3156631585
tempObj['analyst'][name] = kernelDensityJobParameter[name];
3156731586
}
@@ -83012,7 +83031,6 @@ var openFileViewModel = function (options) {
8301283031
};
8301383032

8301483033
external_L_default.a.supermap.widgets.openFileViewModel = openFileViewModel;
83015-
8301683034
external_L_default.a.supermap.widgets.util = widgetsUtil;
8301783035
// CONCATENATED MODULE: ./src/leaflet/widgets/openfile/OpenFileView.js
8301883036
/* Copyright© 2000 - 2018 SuperMap Software Co.Ltd. All rights reserved.
@@ -85777,10 +85795,10 @@ class DistributedAnalysisViewModel_DistributedAnalysisViewModel extends external
8577785795
'resolution': params.resolution,
8577885796
'fields': params.fields,
8577985797
'radius': params.radius,
85780-
'meshSizeUnit': 'Meter',
85781-
'radiusUnit': 'Meter',
85782-
'areaUnit': 'SquareMile',
85783-
'query':'',
85798+
'meshSizeUnit': params.gridSizeUnit,
85799+
'radiusUnit': params.searchRadiusUnit,
85800+
'areaUnit': params.areaUnit,
85801+
'query':params.queryRange,
8578485802
'mappingParameters': new MappingParameters_MappingParameters({
8578585803
'rangeMode': params.mappingParameter.rangeMode,
8578685804
'rangeCount': params.mappingParameter.rangeCount,
@@ -85790,6 +85808,7 @@ class DistributedAnalysisViewModel_DistributedAnalysisViewModel extends external
8579085808
let me = this;
8579185809
this.processingService.addKernelDensityJob(kernelDensityJobParameter, function (serviceResult){
8579285810
if (serviceResult.error) {
85811+
8579385812
/**
8579485813
* @event L.supermap.widgets.distributedAnalysisViewModel#analysisfailed
8579585814
* @description 分析失败后触发。
@@ -86025,21 +86044,51 @@ var DistributedAnalysisView = external_L_default.a.Control.extend({
8602586044
let weightFieldsSelectName = analysisSelectControl.children[2].children[1].children[0];
8602686045
let weightFieldsSelect = analysisSelectControl.children[2].children[1].children[2].children[0].children[0];
8602786046

86028-
// 网格大小 & 搜索半径
86047+
// 分析范围 & 网格大小 & 搜索半径 & 面积单位
86048+
// 分析范围
8602986049
let inputOptions = [{
86030-
'spanName': Lang.i18n('text_label_gridSizeInMeters'),
86031-
'value': '1000'
86032-
}, {
86033-
'spanName': Lang.i18n('text_label_searchRadius'),
86034-
'value': '300'
86050+
'spanName': '分析范围',
86051+
'value': ''
8603586052
}];
86036-
8603786053
for (let i in inputOptions) {
8603886054
this._creatInputBox(inputOptions[i], analysisSelectControl)
8603986055
}
86040-
let gridSizeInput = analysisSelectControl.children[3].children[1];
86041-
let searchRadiusInput = analysisSelectControl.children[4].children[1];
86042-
86056+
let queryRangeInput = analysisSelectControl.children[3].children[1];
86057+
queryRangeInput.setAttribute('placeholder', '默认为输入数据的全幅范围。范例:[-74.050,40.650,-73.850,40.850]')
86058+
queryRangeInput.title = '默认为输入数据的全幅范围。范例:[-74.050,40.650,-73.850,40.850]';
86059+
// 网格大小
86060+
let gridSizeUnitSelectOptions = {
86061+
'optionsArr': ['Meter', 'Kilometer', 'Yard', 'Foot', 'Mile']
86062+
}
86063+
let gridSizeOptions = {
86064+
'labelName':'网格大小',
86065+
'selectOptions':gridSizeUnitSelectOptions
86066+
}
86067+
let gridSizeContainer = this._creatUnitSelectBox(gridSizeOptions, analysisSelectControl);
86068+
let gridSizeInput = gridSizeContainer.children[1].children[0];
86069+
gridSizeInput.value = '1000';
86070+
let gridSizeUnitSelectName = gridSizeContainer.children[1].children[1].children[0].children[0].children[0];
86071+
86072+
// 搜索半径
86073+
let searchRadiusUnitSelectOptions = {
86074+
'optionsArr': ['Meter', 'Kilometer', 'Yard', 'Foot', 'Mile']
86075+
}
86076+
let searchRadiusOptions = {
86077+
'labelName':'搜索半径',
86078+
'selectOptions':searchRadiusUnitSelectOptions
86079+
}
86080+
let searchRadiusContainer = this._creatUnitSelectBox(searchRadiusOptions, analysisSelectControl);
86081+
let searchRadiusInput = searchRadiusContainer.children[1].children[0];
86082+
searchRadiusInput.value = '300';
86083+
let searchRadiusSelectName = searchRadiusContainer.children[1].children[1].children[0].children[0].children[0];
86084+
// 面积单位
86085+
let areaUnitSelectOptions = {
86086+
'labelName':'面积单位',
86087+
'optionsArr': ['SquareMile', 'SquareMeter', 'Hectare', 'Acre', 'SquareFoot', 'SquareYard']
86088+
}
86089+
let areaUnitSelectTool= (new Select(areaUnitSelectOptions)).getElement();
86090+
analysisSelectControl.appendChild(areaUnitSelectTool);
86091+
let areaUnitSelectName = areaUnitSelectTool.children[1].children[0];
8604386092
// 专题图分段
8604486093
let rangeContent = external_L_default.a.DomUtil.create('div', 'range-content', analysisType);
8604586094
let rangeContentOptions = {
@@ -86174,6 +86223,8 @@ var DistributedAnalysisView = external_L_default.a.Control.extend({
8617486223
})
8617586224
me.viewModel.on('analysisfailed', function () {
8617686225
_me.messageBox.showView(Lang.i18n('msg_theFieldNotSupportAnalysis'), "failure");
86226+
analysingContainer.style.display = 'none';
86227+
analysisBtn.style.display = 'block';
8617786228
})
8617886229
}
8617986230
}
@@ -86188,6 +86239,10 @@ var DistributedAnalysisView = external_L_default.a.Control.extend({
8618886239
let analysisType = dropDownTop.getAttribute('data-value');
8618986240
let analysisMethod = analysisMethodSelectName.getAttribute('data-value');
8619086241
let gridType = gridTypeSelectName.getAttribute('data-value');
86242+
let queryRange = queryRangeInput.value;
86243+
let gridSizeUnit = gridSizeUnitSelectName.title;
86244+
let searchRadiusUnit = searchRadiusSelectName.title;
86245+
let areaUnit = areaUnitSelectName.title
8619186246
let colorGradientType = rangeContentModelSelectName.getAttribute('data-value');
8619286247
let themeModel = themeModelSelectName.getAttribute('data-value');
8619386248
let date = new Date();
@@ -86208,8 +86263,12 @@ var DistributedAnalysisView = external_L_default.a.Control.extend({
8620886263
'method': analysisMethod,
8620986264
'meshType': gridType,
8621086265
'resolution': gridSizeInput.value,
86266+
'gridSizeUnit': gridSizeUnit,
86267+
'queryRange': queryRange,
8621186268
'fields': weightFieldsSelectName.title,
8621286269
'radius': searchRadiusInput.value,
86270+
'searchRadiusUnit':searchRadiusUnit,
86271+
'areaUnit': areaUnit,
8621386272
'mappingParameter': mappingParameter,
8621486273
'resultLayer': resultLayer
8621586274
}
@@ -86249,6 +86308,25 @@ var DistributedAnalysisView = external_L_default.a.Control.extend({
8624986308
input.className = 'distributeInput'
8625086309
return div;
8625186310
},
86311+
/**
86312+
* @function L.supermap.widgets.distributedAnalysis.prototype._creatInputBox
86313+
* @description 创建含有 span 的 input 框。
86314+
* @private
86315+
*/
86316+
_creatUnitSelectBox(options, parentEle) {
86317+
let unitSelectBoxContainer = external_L_default.a.DomUtil.create('div','buffer-radius', parentEle);
86318+
let unitSelectSpan = external_L_default.a.DomUtil.create('span','', unitSelectBoxContainer);
86319+
unitSelectSpan.innerHTML = options.labelName;
86320+
let unitSelectInputContainer = external_L_default.a.DomUtil.create('div','', unitSelectBoxContainer);
86321+
external_L_default.a.DomUtil.create('input','buffer-radius-input', unitSelectInputContainer);
86322+
86323+
let unitSelectUnitContainer = external_L_default.a.DomUtil.create('div','buffer-unit', unitSelectInputContainer);
86324+
let unitSelectOptions = options.selectOptions;
86325+
let unitSelectTool = (new Select(unitSelectOptions)).getElement();
86326+
unitSelectUnitContainer.appendChild(unitSelectTool)
86327+
86328+
return unitSelectBoxContainer;
86329+
},
8625286330
/**
8625386331
* @function L.supermap.widgets.distributedAnalysis.prototype._setEleAtribute
8625486332
* @description 设置元素的属性名和属性值。
@@ -86259,6 +86337,7 @@ var DistributedAnalysisView = external_L_default.a.Control.extend({
8625986337
eleArr[i].setAttribute(attributeName, daraValueArr[i])
8626086338
}
8626186339
}
86340+
8626286341
});
8626386342
var distributedAnalysisView = function (options) {
8626486343
return new DistributedAnalysisView(options);
@@ -89907,7 +89986,7 @@ module.exports = function(proj4){
8990789986
/* 74 */
8990889987
/***/ (function(module) {
8990989988

89910-
module.exports = {"_from":"proj4@2.3.15","_id":"proj4@2.3.15","_inBundle":false,"_integrity":"sha1-WtBui8owvg/6OJpJ5FZfUfBtCJ4=","_location":"/proj4","_phantomChildren":{},"_requested":{"type":"version","registry":true,"raw":"proj4@2.3.15","name":"proj4","escapedName":"proj4","rawSpec":"2.3.15","saveSpec":null,"fetchSpec":"2.3.15"},"_requiredBy":["/"],"_resolved":"http://registry.npm.taobao.org/proj4/download/proj4-2.3.15.tgz","_shasum":"5ad06e8bca30be0ffa389a49e4565f51f06d089e","_spec":"proj4@2.3.15","_where":"G:\\iClient\\iClient-JavaScript","author":"","bugs":{"url":"https://github.com/proj4js/proj4js/issues"},"bundleDependencies":false,"contributors":[{"name":"Mike Adair","email":"madair@dmsolutions.ca"},{"name":"Richard Greenwood","email":"rich@greenwoodmap.com"},{"name":"Calvin Metcalf","email":"calvin.metcalf@gmail.com"},{"name":"Richard Marsden","url":"http://www.winwaed.com"},{"name":"T. Mittan"},{"name":"D. Steinwand"},{"name":"S. Nelson"}],"dependencies":{"mgrs":"~0.0.2"},"deprecated":false,"description":"Proj4js is a JavaScript library to transform point coordinates from one coordinate system to another, including datum transformations.","devDependencies":{"browserify":"~12.0.1","chai":"~1.8.1","curl":"git://github.com/cujojs/curl.git","grunt":"~0.4.2","grunt-browserify":"~4.0.1","grunt-cli":"~0.1.13","grunt-contrib-connect":"~0.6.0","grunt-contrib-jshint":"~0.8.0","grunt-contrib-uglify":"~0.11.1","grunt-mocha-phantomjs":"~0.4.0","istanbul":"~0.2.4","mocha":"~1.17.1","tin":"~0.4.0"},"directories":{"test":"test","doc":"docs"},"homepage":"https://github.com/proj4js/proj4js#readme","jam":{"main":"dist/proj4.js","include":["dist/proj4.js","README.md","AUTHORS","LICENSE.md"]},"license":"MIT","main":"lib/index.js","name":"proj4","repository":{"type":"git","url":"git://github.com/proj4js/proj4js.git"},"scripts":{"test":"./node_modules/istanbul/lib/cli.js test ./node_modules/mocha/bin/_mocha test/test.js"},"version":"2.3.15"};
89989+
module.exports = {"_args":[["proj4@2.3.15","D:\\iClient-JavaScript"]],"_from":"proj4@2.3.15","_id":"proj4@2.3.15","_inBundle":false,"_integrity":"sha1-WtBui8owvg/6OJpJ5FZfUfBtCJ4=","_location":"/proj4","_phantomChildren":{},"_requested":{"type":"version","registry":true,"raw":"proj4@2.3.15","name":"proj4","escapedName":"proj4","rawSpec":"2.3.15","saveSpec":null,"fetchSpec":"2.3.15"},"_requiredBy":["/"],"_resolved":"http://registry.npm.taobao.org/proj4/download/proj4-2.3.15.tgz","_spec":"2.3.15","_where":"D:\\iClient-JavaScript","author":"","bugs":{"url":"https://github.com/proj4js/proj4js/issues"},"contributors":[{"name":"Mike Adair","email":"madair@dmsolutions.ca"},{"name":"Richard Greenwood","email":"rich@greenwoodmap.com"},{"name":"Calvin Metcalf","email":"calvin.metcalf@gmail.com"},{"name":"Richard Marsden","url":"http://www.winwaed.com"},{"name":"T. Mittan"},{"name":"D. Steinwand"},{"name":"S. Nelson"}],"dependencies":{"mgrs":"~0.0.2"},"description":"Proj4js is a JavaScript library to transform point coordinates from one coordinate system to another, including datum transformations.","devDependencies":{"browserify":"~12.0.1","chai":"~1.8.1","curl":"git://github.com/cujojs/curl.git","grunt":"~0.4.2","grunt-browserify":"~4.0.1","grunt-cli":"~0.1.13","grunt-contrib-connect":"~0.6.0","grunt-contrib-jshint":"~0.8.0","grunt-contrib-uglify":"~0.11.1","grunt-mocha-phantomjs":"~0.4.0","istanbul":"~0.2.4","mocha":"~1.17.1","tin":"~0.4.0"},"directories":{"test":"test","doc":"docs"},"homepage":"https://github.com/proj4js/proj4js#readme","jam":{"main":"dist/proj4.js","include":["dist/proj4.js","README.md","AUTHORS","LICENSE.md"]},"license":"MIT","main":"lib/index.js","name":"proj4","repository":{"type":"git","url":"git://github.com/proj4js/proj4js.git"},"scripts":{"test":"./node_modules/istanbul/lib/cli.js test ./node_modules/mocha/bin/_mocha test/test.js"},"version":"2.3.15"};
8991189990

8991289991
/***/ }),
8991389992
/* 75 */

dist/leaflet/iclient9-leaflet-es6.min.js

Lines changed: 5 additions & 5 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)
pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy