-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathtempcode
More file actions
executable file
·49 lines (49 loc) · 1.53 KB
/
tempcode
File metadata and controls
executable file
·49 lines (49 loc) · 1.53 KB
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
function TargetedSpotbeamGenerator(usage,band,locationx,locationy,maxgain,mingain,semimajoraxismaxgain,eccentricity,step,tightness,rotationangle){
var unit;
var color;
if(usage=="D"){
unit="dBW";
}
else if(usage=="U"){
unit="dB/K";
}
if(band=="L"){
color=Cesium.Color.fromCssColorString("#64c2ed").withAlpha(0.3);
}
else if(band=="S"){
color=Cesium.Color.AQUAMARINE.withAlpha(0.3);
}
else if(band=="C"){
color=Cesium.Color.fromCssColorString("#e6a8d7").withAlpha(0.3);
}
else if(band=="Ku"){
color=Cesium.Color.fromCssColorString("#fd5e53").withAlpha(0.3);
}
else if(band=="Ka"){
color=Cesium.Color.ORANGE.withAlpha(0.3);
}
var stepsrequired=Math.ceil((maxgain-mingain)/step)+1;
var currentgain=maxgain;
for(var i=0;i<stepsrequired;i++){
var semimajoraxis=semimajoraxismaxgain+ i*(semimajoraxismaxgain/tightness);
var semiminoraxis=semimajoraxis*Math.sqrt(1-(eccentricity*eccentricity));
var beamelement=viewer.entities.add({
name: "Custom Targeted Spotbeam",
description: "Gain: "+ currentgain+unit,
position: Cesium.Cartesian3.fromDegrees(locationx, locationy),
ellipse : {
semiMinorAxis : semiminoraxis,
semiMajorAxis : semimajoraxis,
rotation: Cesium.Math.toRadians(rotationangle),
material : color,
zIndex : -1-i
}
});
currentbeamelements.push(beamelement);
tempbeamelements.push(beamelement);
currentgain=currentgain-step;
if(currentgain<mingain){
currentgain=mingain;
}
}
}