0
我做了一個腳本,以這種方式轉換成基點度在PHP中:玫瑰風轉換的基點絲毫程度PHP
<?php
$deg = 0;
$cardinal = null;
$deg = str_replace(',','.',$argv[1]);
echo "Degree: ". $deg ."\t";
if(($deg>=0 && $deg <= 11.25) || ($deg > 348.75 && $deg <= 360)){ $cardinal = 'N';}
elseif($deg > 11.25 && $deg <= 33.75 ){ $cardinal = 'NNE';}
elseif($deg > 33.75 && $deg <= 56.25 ){ $cardinal = 'NE';}
elseif($deg > 56.25 && $deg <= 78.75 ){ $cardinal = 'ENE';}
elseif($deg > 78.75 && $deg <= 101.25){ $cardinal = 'E';}
elseif($deg > 101.25 && $deg <= 123.75){ $cardinal = 'ESE';}
elseif($deg > 123.75 && $deg <= 146.25){ $cardinal = 'SE';}
elseif($deg > 146.25 && $deg <= 168.75){ $cardinal = 'SSE';}
elseif($deg > 168.75 && $deg <= 191.25){ $cardinal = 'S';}
elseif($deg > 191.25 && $deg <= 213.75){ $cardinal = 'SSW';}
elseif($deg > 213.75 && $deg <= 236.25){ $cardinal = 'SW';}
elseif($deg > 236.25 && $deg <= 258.75){ $cardinal = 'WSW';}
elseif($deg > 258.75 && $deg <= 281.25){ $cardinal = 'W';}
elseif($deg > 281.25 && $deg <= 303.75){ $cardinal = 'WNW';}
elseif($deg > 303.75 && $deg <= 326.25){ $cardinal = 'NW';}
elseif($deg > 326.25 && $deg <= 348.75){ $cardinal = 'NNW';}
else{ $cardinal = 'invalid';}
echo "Cardinal point: ". $cardinal ."\n";
所以,我想:
`for i in $(seq 0 0.01 360);do php windrose.php $i;done`
這產生想要的結果:
Degree: 0.00 Cardinal point: N
Degree: 0.01 Cardinal point: N
Degree: 0.02 Cardinal point: N
Degree: 0.03 Cardinal point: N
...
Degree: 11.24 Cardinal point: N
Degree: 11.25 Cardinal point: N
Degree: 11.26 Cardinal point: NNE
Degree: 11.27 Cardinal point: NNE
Degree: 11.28 Cardinal point: NNE
...
Degree: 33.74 Cardinal point: NNE
Degree: 33.75 Cardinal point: NNE
Degree: 33.76 Cardinal point: NE
Degree: 33.77 Cardinal point: NE
所以我想:「這可能做得更好嗎?」 有一個最簡單的方法來做到這一點?
完美! 幹得好 –
那是你在找什麼?我開始考慮是否這是問題的「循環」,所以我剛剛結束了這個:https://3v4l.org/brk9o – Andreas
@IvanNack如果答案是「正確的」,請接受答案。 – Andreas