Cita:
Originalmente Escrito por WillyWeb
Entre el 0 y el 16 tienes 17 valores. Lo correcto sería entre 0 y 15. 
|
Creo que ya lo tengo
Si tu valor obtenido de dirección del viento es
%direccion:
Establecer variable %direccion A: round(%direccion/22.5)+1 Calcular:Activado
(en %dirección te quedará un valor entre 1 y 17)
Para un angulo pequeño p.e. 2º %direccion toma el valor 1 del array, es decir "Norte"
Para un ángulo próximo a 360% p.e. 355º %direccion valdrá 16+1 = 17, "Norte" también.
Para un ángulo intermedio p.e. 137º %direccion valdrá 6+1 = 7, o sea "Sur Este"
Establecer Variable %vientos A: Norte;Nor Noreste;NorEste;Este Noreste;Este;Este SurEste;Sur Este;Sur SurEste;Sur;Sur SurOeste;SurOeste;Oeste SurOeste;Oeste;Oeste NorOeste;NorOeste;Nor Noroeste;Norte
Separar variable %vientos Separador ;
Establecer variable %direccion A: %vientos(%direccion)
(En %direccion te quedará entonces el valor correspondiente del array %vientos)
En una sola acción JavaScriplet:
var vientos ="
Norte;Nor Noreste;NorEste;Este Noreste;Este;Este SurEste;Sur Este;Sur SurEste;Sur;Sur SurOeste;SurOeste;Oeste SurOeste;Oeste;Oeste NorOeste;NorOeste;Nor Noroeste;Norte";
direccion = Math.round(direccion/22.5);
vientos = (vientos.split(";"));
direccion = vientos[direccion];