quanyawei
2024-02-04 ff72273c7cd5fd33173615ac188fc03bfc1a1ad7
src/components/Wind/WRatingArr.js
@@ -1,228 +1,227 @@
/**
 * 气象-风向转化工具
 */
var WWindUtil = {};
var WWindUtil = {}
/**
 * 风向json
 */
WWindUtil.WDJson = {
  "N": {
    "en": "N",
    "cn": "北",
    "desc": "北"
  N: {
    en: 'N',
    cn: '北',
    desc: '北'
  },
  "NNE": {
    "en": "NNE",
    "cn": "北东北",
    "desc": "东北偏北"
  NNE: {
    en: 'NNE',
    cn: '北东北',
    desc: '东北偏北'
  },
  "NE": {
    "en": "NE",
    "cn": "东北",
    "desc": "东北"
  NE: {
    en: 'NE',
    cn: '东北',
    desc: '东北'
  },
  "ENE": {
    "en": "ENE",
    "cn": "东东北",
    "desc": "东北偏北"
  ENE: {
    en: 'ENE',
    cn: '东东北',
    desc: '东北偏东'
  },
  "E": {
    "en": "E",
    "cn": "东",
    "desc": "东"
  E: {
    en: 'E',
    cn: '东',
    desc: '东'
  },
  "ESE": {
    "en": "ESE",
    "cn": "东东南",
    "desc": "东南偏东"
  ESE: {
    en: 'ESE',
    cn: '东东南',
    desc: '东南偏东'
  },
  "SE": {
    "en": "SNE",
    "cn": "东南",
    "desc": "东南"
  SE: {
    en: 'SNE',
    cn: '东南',
    desc: '东南'
  },
  "SSE": {
    "en": "SSE",
    "cn": "南东南",
    "desc": "东南偏南"
  SSE: {
    en: 'SSE',
    cn: '南东南',
    desc: '东南偏南'
  },
  "S": {
    "en": "S",
    "cn": "南",
    "desc": "南"
  S: {
    en: 'S',
    cn: '南',
    desc: '南'
  },
  "SSW": {
    "en": "SSW",
    "cn": "南西南",
    "desc": "西南偏南"
  SSW: {
    en: 'SSW',
    cn: '南西南',
    desc: '西南偏南'
  },
  "SW": {
    "en": "SW",
    "cn": "西南",
    "desc": "西南"
  SW: {
    en: 'SW',
    cn: '西南',
    desc: '西南'
  },
  "WSW": {
    "en": "WSW",
    "cn": "西西南",
    "desc": "西南偏西"
  WSW: {
    en: 'WSW',
    cn: '西西南',
    desc: '西南偏西'
  },
  "W": {
    "en": "W",
    "cn": "西",
    "desc": "西"
  W: {
    en: 'W',
    cn: '西',
    desc: '西'
  },
  "WNW": {
    "en": "WNW",
    "cn": "西西北",
    "desc": "西北偏西"
  WNW: {
    en: 'WNW',
    cn: '西西北',
    desc: '西北偏西'
  },
  "NW": {
    "en": "NW",
    "cn": "西北",
    "desc": "西北"
  NW: {
    en: 'NW',
    cn: '西北',
    desc: '西北'
  },
  "NNW": {
    "en": "NW",
    "cn": "北西北",
    "desc": "西北偏北"
  NNW: {
    en: 'NW',
    cn: '北西北',
    desc: '西北偏北'
  },
  "ERROR": {
    "en": "error value",
    "cn": "错误数值",
    "desc": "错误数值"
  ERROR: {
    en: 'error value',
    cn: '错误数值',
    desc: '错误数值'
  }
};
}
/**
 * 风力等级
 */
WWindUtil.WRatingArr = [
  {
    "min": 0,
    "max": 0.2,
    "level": 0,
    "name": "无风",
    "landScene": "烟示风向"
    min: 0,
    max: 0.2,
    level: 0,
    name: '无风',
    landScene: '烟示风向'
  },
  {
    "min": 0.3,
    "max": 1.5,
    "level": 1,
    "name": "1&nbsp级",
    "landScene": "烟示风向"
    min: 0.3,
    max: 1.5,
    level: 1,
    name: '1&nbsp级',
    landScene: '烟示风向'
  },
  {
    "min": 1.6,
    "max": 3.3,
    "level": 2,
    "name": "2级",
    "landScene": "感觉有风"
    min: 1.6,
    max: 3.3,
    level: 2,
    name: '2&nbsp级',
    landScene: '感觉有风'
  },
  {
    "min": 3.4,
    "max": 5.4,
    "level": 3,
    "name": "3级",
    "landScene": "旌旗展开"
    min: 3.4,
    max: 5.4,
    level: 3,
    name: '3&nbsp级',
    landScene: '旌旗展开'
  },
  {
    "min": 5.5,
    "max": 7.9,
    "level": 4,
    "name": "4级",
    "landScene": "吹起尘土"
    min: 5.5,
    max: 7.9,
    level: 4,
    name: '4&nbsp级',
    landScene: '吹起尘土'
  },
  {
    "min": 8.0,
    "max": 10.7,
    "level": 5,
    "name": "5级",
    "landScene": "小树摇摆"
    min: 8.0,
    max: 10.7,
    level: 5,
    name: '5&nbsp级',
    landScene: '小树摇摆'
  },
  {
    "min": 10.8,
    "max": 13.8,
    "level": 6,
    "name": "6级",
    "landScene": "电线有声"
    min: 10.8,
    max: 13.8,
    level: 6,
    name: '6&nbsp级',
    landScene: '电线有声'
  },
  {
    "min": 13.9,
    "max": 17.1,
    "level": 7,
    "name": "7级",
    "landScene": "步行困难"
    min: 13.9,
    max: 17.1,
    level: 7,
    name: '7&nbsp级',
    landScene: '步行困难'
  },
  {
    "min": 17.2,
    "max": 20.7,
    "level": 8,
    "name": "8级",
    "landScene": "折毁树枝"
    min: 17.2,
    max: 20.7,
    level: 8,
    name: '8&nbsp级',
    landScene: '折毁树枝'
  },
  {
    "min": 20.8,
    "max": 24.4,
    "level": 9,
    "name": "9级",
    "landScene": "小损房屋"
    min: 20.8,
    max: 24.4,
    level: 9,
    name: '9&nbsp级',
    landScene: '小损房屋'
  },
  {
    "min": 24.5,
    "max": 28.4,
    "level": 10,
    "name": "10级",
    "landScene": "拔起树木"
    min: 24.5,
    max: 28.4,
    level: 10,
    name: '10&nbsp级',
    landScene: '拔起树木'
  },
  {
    "min": 28.5,
    "max": 32.6,
    "level": 11,
    "name": "11级",
    "landScene": "损毁重大"
    min: 28.5,
    max: 32.6,
    level: 11,
    name: '11&nbsp级',
    landScene: '损毁重大'
  },
  {
    "min": 32.7,
    "max": 36.9,
    "level": 12,
    "name": "12级",
    "landScene": "摧毁极大"
    min: 32.7,
    max: 36.9,
    level: 12,
    name: '12&nbsp级',
    landScene: '摧毁极大'
  },
  {
    "min": 37.0,
    "max": 41.4,
    "level": 13,
    "name": "13级",
    "landScene": ""
    min: 37.0,
    max: 41.4,
    level: 13,
    name: '13&nbsp级',
    landScene: ''
  },
  {
    "min": 41.5,
    "max": 46.1,
    "level": 14,
    "name": "14级",
    "landScene": ""
    min: 41.5,
    max: 46.1,
    level: 14,
    name: '14&nbsp级',
    landScene: ''
  },
  {
    "min": 46.2,
    "max": 50.9,
    "level": 15,
    "name": "15级",
    "landScene": ""
    min: 46.2,
    max: 50.9,
    level: 15,
    name: '15&nbsp级',
    landScene: ''
  },
  {
    "min": 51.0,
    "max": 56.0,
    "level": 16,
    "name": "16级",
    "landScene": ""
    min: 51.0,
    max: 56.0,
    level: 16,
    name: '16&nbsp级',
    landScene: ''
  },
  {
    "min": 56.1,
    "max": null,
    "level": 17,
    "name": "17 级",
    "landScene": ""
    min: 56.1,
    max: null,
    level: 17,
    name: '17&nbsp级',
    landScene: ''
  }
]
@@ -231,98 +230,97 @@
 */
WWindUtil.to16WindDirection = function (windNumberValue) {
  if (windNumberValue > 360) {
    return WWindUtil.WDJson.ERROR;
    return WWindUtil.WDJson.ERROR
  }
  let a = Math.ceil(windNumberValue / 11.25);
  let ret;
  let a = Math.ceil(windNumberValue / 11.25)
  console.log('aaaaa', a)
  let ret
  switch (a) {
    case 32:
    case 1:
      ret = WWindUtil.WDJson.N;
      break;
    case 0:
      ret = WWindUtil.WDJson.N
      break
    case 2:
    case 3:
      ret = WWindUtil.WDJson.NNE;
      break;
      ret = WWindUtil.WDJson.NNE
      break
    case 4:
    case 5:
      ret = WWindUtil.WDJson.NE;
      break;
      ret = WWindUtil.WDJson.NE
      break
    case 6:
    case 7:
      ret = WWindUtil.WDJson.ENE;
      break;
      ret = WWindUtil.WDJson.ENE
      break
    case 8:
    case 9:
      ret = WWindUtil.WDJson.E;
      break;
      ret = WWindUtil.WDJson.E
      break
    case 10:
    case 11:
      ret = WWindUtil.WDJson.ESE;
      break;
      ret = WWindUtil.WDJson.ESE
      break
    case 12:
    case 13:
      ret = WWindUtil.WDJson.SE;
      break;
      ret = WWindUtil.WDJson.SE
      break
    case 14:
    case 15:
      ret = WWindUtil.WDJson.SSE;
      break;
      ret = WWindUtil.WDJson.SSE
      break
    case 16:
    case 17:
      ret = WWindUtil.WDJson.S;
      break;
      ret = WWindUtil.WDJson.S
      break
    case 18:
    case 19:
      ret = WWindUtil.WDJson.SSW;
      break;
      ret = WWindUtil.WDJson.SSW
      break
    case 20:
    case 21:
      ret = WWindUtil.WDJson.SW;
      break;
      ret = WWindUtil.WDJson.SW
      break
    case 22:
    case 23:
      ret = WWindUtil.WDJson.WSW;
      break;
      ret = WWindUtil.WDJson.WSW
      break
    case 24:
    case 25:
      ret = WWindUtil.WDJson.W;
      break;
      ret = WWindUtil.WDJson.W
      break
    case 26:
    case 27:
      ret = WWindUtil.WDJson.WNW;
      break;
      ret = WWindUtil.WDJson.WNW
      break
    case 28:
    case 29:
      ret = WWindUtil.WDJson.NW;
      break;
      ret = WWindUtil.WDJson.NW
      break
    case 30:
    case 31:
      ret = WWindUtil.WDJson.NNW;
      break;
      ret = WWindUtil.WDJson.NNW
      break
    default:
      ret = WWindUtil.WDJson.ERROR;
      break;
      ret = WWindUtil.WDJson.ERROR
      break
  }
  return ret;
  return ret
}
/** 风向值转文字风向
@@ -330,90 +328,89 @@
 */
WWindUtil.to8WindDirection = function (windNumberValue) {
  if (windNumberValue > 360) {
    return WWindUtil.WDJson.ERROR;
    return WWindUtil.WDJson.ERROR
  }
  let a = Math.ceil(windNumberValue / 22.5);
  let ret;
  let a = Math.ceil(windNumberValue / 22.5)
  let ret
  switch (a) {
    case 16:
    case 1:
      ret = WWindUtil.WDJson.N;
      break;
      ret = WWindUtil.WDJson.N
      break
    case 2:
    case 3:
      ret = WWindUtil.WDJson.NE;
      break;
      ret = WWindUtil.WDJson.NE
      break
    case 4:
    case 5:
      ret = WWindUtil.WDJson.E;
      break;
      ret = WWindUtil.WDJson.E
      break
    case 6:
    case 7:
      ret = WWindUtil.WDJson.SE;
      break;
      ret = WWindUtil.WDJson.SE
      break
    case 8:
    case 9:
      ret = WWindUtil.WDJson.S;
      break;
      ret = WWindUtil.WDJson.S
      break
    case 10:
    case 11:
      ret = WWindUtil.WDJson.SW;
      break;
      ret = WWindUtil.WDJson.SW
      break
    case 12:
    case 13:
      ret = WWindUtil.WDJson.W;
      break;
      ret = WWindUtil.WDJson.W
      break
    case 14:
    case 15:
      ret = WWindUtil.WDJson.NW;
      break;
      ret = WWindUtil.WDJson.NW
      break
    default:
      ret = WWindUtil.WDJson.ERROR;
      break;
      ret = WWindUtil.WDJson.ERROR
      break
  }
  return ret;
  return ret
}
/** 风速转风力等级
 * @param {Object} value 风速值 (m/s)
 */
WWindUtil.WindtoLevel = function (value) {
  let vl = Number(value)
    .toFixed(1);
  console.log('vl:', vl);
  if (!vl || vl < 0) { return null; }
  let arr = WWindUtil.WRatingArr;
  let vl = Number(value).toFixed(1)
  console.log('vl:', vl)
  if (!vl || vl < 0) {
    return null
  }
  let arr = WWindUtil.WRatingArr
  if (vl >= arr[arr.length - 1].min) {
    return arr[arr.length - 1];
    return arr[arr.length - 1]
  }
  for (let i = 0; i < arr.length; i++) {
    if (vl >= arr[i].min && vl <= arr[i].max) {
      return arr[i];
      return arr[i]
    }
  }
  return null;
  return null
}
// 风向值转文字
WWindUtil.windValueFormat = function (value) {
  try {
    let vl = Number(value);
    let vl = Number(value)
    if (!vl || vl > 360 || vl < 0) {
      return '-';
      return '-'
    }
    return WWindUtil.to16WindDirection(value).desc;
    return WWindUtil.to16WindDirection(value).desc
  } catch (e) {
    return '-';
    return '-'
  }
}
@@ -422,17 +419,19 @@
 */
WWindUtil.windFormatLevel = function (value) {
  try {
    let vl = Number(value);
    let vl = Number(value)
    if (!vl || vl > 100 || vl < 0) {
      return "-";
      return '-'
    }
    return WWindUtil.WindtoLevel(value).level + "级(" + WWindUtil.WindtoLevel(value).name + ")";
    return (
      WWindUtil.WindtoLevel(value).level +
      '级(' +
      WWindUtil.WindtoLevel(value).name +
      ')'
    )
  } catch (e) {
    return "-";
    return '-'
  }
}
export {
  WWindUtil
};
export { WWindUtil }