| | |
| | | //系统 功能入口 |
| | | |
| | | function addWindLayer(item) { |
| | | |
| | | $.getJSON("data/getWindParametersByTime.json", { datatype: mars3d.global_variables.queryDataType, datatime: mars3d.global_variables.queryDataTStart }, (result) => { |
| | | console.log(result); |
| | | |
| | | var layer_wind = new mars3d.layer.CanvasWindLayer({ |
| | | var layer_wind = new mars3d.layer.CanvasWindLayer({ |
| | | id: item.id, |
| | | pid: item.pid, |
| | | name: item.name, |
| | |
| | | particlesNumber: 1000, |
| | | maxAge: 60, |
| | | lineWidth: 1, |
| | | reverseY: true |
| | | reverseY: true, |
| | | show:item.show |
| | | }); |
| | | layer_wind.show = item.show; |
| | | map.addLayer(layer_wind); |
| | | |
| | | layer_wind.data = convertWindData(result.data); |
| | | }); |
| | | layer_wind.data = createWindData(); |
| | | |
| | | } |
| | | |
| | | function convertWindData(arr) { |
| | | function createWindData() { |
| | | |
| | | var arrU = []; |
| | | var arrV = []; |
| | | |
| | | var xmin = arr[0].x; |
| | | var xmax = arr[0].x; |
| | | var ymin = arr[0].y; |
| | | var ymax = arr[0].y; |
| | | |
| | | // 风向是以y轴正方向为零度顺时针转,0度表示北风。90度表示东风。 |
| | | // u表示经度方向上的风,u为正,表示西风,从西边吹来的风。 |
| | | // v表示纬度方向上的风,v为正,表示南风,从南边吹来的风。 |
| | | for (let i = 0, len = arr.length; i < len; i++) { |
| | | const item = arr[i]; |
| | | if (xmin > item.x) { |
| | | xmin = item.x; |
| | | } |
| | | if (xmax < item.x) { |
| | | xmax = item.x; |
| | | } |
| | | if (ymin > item.y) { |
| | | ymin = item.y; |
| | | } |
| | | if (ymax < item.y) { |
| | | ymax = item.y; |
| | | } |
| | | |
| | | var u = mars3d.WindUtil.getU(item.speed, item.dir); |
| | | var u = mars3d.WindUtil.getU(mars3d.global_variables.windSpeed, mars3d.global_variables.wind360); |
| | | var v = mars3d.WindUtil.getV(mars3d.global_variables.windSpeed, mars3d.global_variables.wind360); |
| | | for (let i = 0; i < 9; i++) { |
| | | arrU.push(u); |
| | | |
| | | var v = mars3d.WindUtil.getV(item.speed, item.dir); |
| | | arrV.push(v); |
| | | } |
| | | |
| | | var rows = getKeyNumCount(arr, "y"); //计算 行数 |
| | | var cols = getKeyNumCount(arr, "x"); //计算 列数 |
| | | |
| | | return { |
| | | xmin: xmin, |
| | | xmax: xmax, |
| | | ymax: ymax, |
| | | ymin: ymin, |
| | | rows: rows, |
| | | cols: cols, |
| | | xmin: 120, |
| | | xmax: 122, |
| | | ymax: 32, |
| | | ymin: 30, |
| | | rows: 3, |
| | | cols: 3, |
| | | udata: arrU, //横向风速 |
| | | vdata: arrV, //纵向风速 |
| | | }; |