zhaoxing
2023-09-19 e993cb8fa3461f74575819d47c9dd17af5bfda1e
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
"use script"; //开发环境建议开启严格模式
//系统 功能入口
 
function addWindLayer(item) {
  var layer_wind = new mars3d.layer.CanvasWindLayer({
      id: item.id,
      pid: item.pid,
      name: item.name,
      color: item.color,
      frameRate: 20, //每秒刷新次数
      speedRate: 60, //风前进速率
      particlesNumber: 1000,
      maxAge: 60,
      lineWidth: 1,
      reverseY: true,
      show:item.show
    });
    map.addLayer(layer_wind);
    layer_wind.data = createWindData();
  
}
 
function createWindData() {
 
  var arrU = [];
  var arrV = [];
  // 风向是以y轴正方向为零度顺时针转,0度表示北风。90度表示东风。
  // u表示经度方向上的风,u为正,表示西风,从西边吹来的风。
  // v表示纬度方向上的风,v为正,表示南风,从南边吹来的风。
  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);
    arrV.push(v);
  }
  return {
    xmin: 120,
    xmax: 122,
    ymax: 32,
    ymin: 30,
    rows: 3,
    cols: 3,
    udata: arrU, //横向风速
    vdata: arrV, //纵向风速
  };
}
 
function getKeyNumCount(arr, key) {
  var obj = {};
  arr.forEach((item) => {
    obj[item[key]] = true;
  });
 
  var count = 0;
  for (let col in obj) {
    count++;
  }
  return count;
}
 
function addTDTAnnoLayer() {
 
  Img_annoTileLayer = new mars3d.layer.TdtLayer({
    name: "影像注记",
    layer: "img_z",
    key: tiandituArr,
    zIndex: 999
  });
  Img_annoTileLayer.show = false;
  Img_annoTileLayer.pid = 50;
  map.addLayer(Img_annoTileLayer);
 
  Vec_annoTileLayer = new mars3d.layer.TdtLayer({
    name: "矢量图注记",
    layer: "vec_z",
    key: tiandituArr,
    zIndex: 998
  });
  Vec_annoTileLayer.show = false;
  Vec_annoTileLayer.pid = 50;
  map.addLayer(Vec_annoTileLayer);
}
function addTmpHighlightGraphicLayer() {
  mars3d.global_variables.tmpHighlightGraphicLayer = new mars3d.layer.GraphicLayer({
    name: "临时高亮图层",
    pid: 50, //图层管理 中使用,父节点id
    noCenter: true,
    popup: "all",
    show: true
  });
  // mars3d.global_variables.tmpHighlightGraphicLayer.bindPopup(bindPopupFunction);
  map.addLayer(mars3d.global_variables.tmpHighlightGraphicLayer);
}