| | |
| | | import $ from 'jquery' |
| | | import RegionalOverview from '@/components/Wind/RegionalOverview' // 实时监控组件 |
| | | import { mapGetters } from 'vuex' |
| | | import { gcj02towgs84 } from '@/assets/json/transform'
|
| | | export default { |
| | | components: { RegionalOverview }, |
| | | props: { |
| | |
| | | var gg_lat = z * Math.sin(theta) |
| | | return [gg_lat, gg_lng] |
| | | }, |
| | | // /**
|
| | | // * GCJ02 转换为 WGS84
|
| | | // * @param lng
|
| | | // * @param lat
|
| | | // * @returns {*[]}
|
| | | // */
|
| | | // gcj02towgs84(lng, lat) {
|
| | | // if (this.out_of_china(lng, lat)) {
|
| | | // return [lat,lng]
|
| | | // } else {
|
| | | // var dlat = this.transformlat(lng - 105.0, lat - 35.0);
|
| | | // var dlng = this.transformlng(lng - 105.0, lat - 35.0);
|
| | | // var radlat = lat / 180.0 * PI;
|
| | | // var magic = Math.sin(radlat);
|
| | | // magic = 1 - ee * magic * magic;
|
| | | // var sqrtmagic = Math.sqrt(magic);
|
| | | // dlat = (dlat * 180.0) / ((a * (1 - ee)) / (magic * sqrtmagic) * PI);
|
| | | // dlng = (dlng * 180.0) / (a / sqrtmagic * Math.cos(radlat) * PI);
|
| | | // var mglat = lat + dlat;
|
| | | // var mglng = lng + dlng;
|
| | | // return [ lat * 2 - mglat,lng * 2 - mglng]
|
| | | // }
|
| | | // },
|
| | | //
|
| | | // transformlat(lng, lat) {
|
| | | // var ret = -100.0 + 2.0 * lng + 3.0 * lat + 0.2 * lat * lat + 0.1 * lng * lat + 0.2 * Math.sqrt(Math.abs(lng));
|
| | | // ret += (20.0 * Math.sin(6.0 * lng * PI) + 20.0 * Math.sin(2.0 * lng * PI)) * 2.0 / 3.0;
|
| | | // ret += (20.0 * Math.sin(lat * PI) + 40.0 * Math.sin(lat / 3.0 * PI)) * 2.0 / 3.0;
|
| | | // ret += (160.0 * Math.sin(lat / 12.0 * PI) + 320 * Math.sin(lat * PI / 30.0)) * 2.0 / 3.0;
|
| | | // return ret
|
| | | // },
|
| | | // transformlng(lng, lat) {
|
| | | // var ret = 300.0 + lng + 2.0 * lat + 0.1 * lng * lng + 0.1 * lng * lat + 0.1 * Math.sqrt(Math.abs(lng));
|
| | | // ret += (20.0 * Math.sin(6.0 * lng * PI) + 20.0 * Math.sin(2.0 * lng * PI)) * 2.0 / 3.0;
|
| | | // ret += (20.0 * Math.sin(lng * PI) + 40.0 * Math.sin(lng / 3.0 * PI)) * 2.0 / 3.0;
|
| | | // ret += (150.0 * Math.sin(lng / 12.0 * PI) + 300.0 * Math.sin(lng / 30.0 * PI)) * 2.0 / 3.0;
|
| | | // return ret
|
| | | // },
|
| | | // /**
|
| | | // * 判断是否在国内,不在国内则不做偏移
|
| | | // * @param lng
|
| | | // * @param lat
|
| | | // * @returns {boolean}
|
| | | // */
|
| | | // out_of_china(lng, lat) {
|
| | | // return (lng < 72.004 || lng > 137.8347) || ((lat < 0.8293 || lat > 55.8271) || false);
|
| | | // },
|
| | | // 请求设备坐标,当前的 |
| | | deviceMaker() { |
| | | // 遍历所有图层 |
| | |
| | | }, |
| | | // 标记设备点 |
| | | markDeviceSite(data) { |
| | | // data.data.devices.latitude = gcj02towgs84(data.data.devices.longitude, data.data.devices.latitude)[0]
|
| | | // data.data.devices.longitude = gcj02towgs84(data.data.devices.longitude, data.data.devices.latitude)[1]
|
| | | var keyData = data.data.devices |
| | | this.keyData = data.data.devices |
| | | // 遍历国控站位置 |
| | |
| | | // this.noneData = true |
| | | // } |
| | | // 生成风场实例 |
| | | // var data2 = res.data[0]
|
| | | // data2[1].header.parameterNumberName = 'northward_wind'
|
| | | // data2[0].header.parameterUnit = 'm.s-1'
|
| | | // data2[1].header.parameterUnit = 'm.s-1'
|
| | | // data2[0].header.dx = 0.00234842479
|
| | | // data2[1].header.dx = 0.00234842479
|
| | | // data2[0].header.dy = 0.0018464922
|
| | | // data2[1].header.dy = 0.0018464922
|
| | | // console.log(data2, 'data2')
|
| | | var velocityLayer = L.velocityLayer({ |
| | | displayValues: false, // 是否显示当前鼠标移动位置,风场信息 |
| | | displayOptions: {// 显示信息配置 |
| | | velocityType: 'Global Wind', |
| | | // velocityType: 'Global Wind',
|
| | | velocityType: 'GBR Wind',
|
| | | displayPosition: 'bottomleft', |
| | | displayEmptyString: 'No wind data' |
| | | }, |
| | | data: res.data[0], // 数据 格式可参照 |
| | | // data: data2,
|
| | | // 以下为控制参数,后面为默认值 |
| | | minVelocity: 0, // 粒子最小速度( m/s ) |
| | | maxVelocity: 8, // 粒子最大速度( m/s ) |
| | |
| | | particleMultiplier: 1 / 300, // 粒子计数标量( 粒子密度 ) |
| | | frameRate: 15, // 每秒所需的帧数 |
| | | colorScale: ['#A2D839', '#7EB530', '#6E9F26', '#4E7522', '#345B1B', '#186303', '#175103', '#053F03'] |
| | | // colorScale: ['#053F03', '#053F03', '#053F03', '#053F03', '#053F03', '#053F03', '#053F03', '#053F03']
|
| | | }) |
| | | velocityLayer.addTo(this.map)// 添加到图上 |
| | | // console.log('风场数据') |