Tarttisin apua miten tämän nykyisessä skriptissä olevan laskutoimituksen saa väännettyä sql, kielelle.
dewpointtemp=$( echo "17.27 * $temp /(237.7 + $temp) + l($humidity/100)" | bc -l | awk '{printf("%0.1f\n",$1)}')
dewpoint=$(echo "237.7 * $dewpointtemp /(17.27 - dewpointtemp)" | bc)
tarkoitus luoda näkymä kahdesta näkymistä temperature ja humidity...
CREATE VIEW dewpoint as SELECT ...
Kannattaako tätä varten tehdä jokin functio jolla homma hoituu vai miten esim henkka on tämän tehnyt? EWN näyttää laskevan omat kastepisteet suoraan noista lämpötiloista ja kosteudesta.
näissä yhtälöissä on käytetty tätä http://en.wikipedia.org/wiki/Dew_point
Lisätään vielä nämä näkymät näyttää tältä
oldpet=> select * from temperature limit 10
oldpet-> ;
temp | read_at
---------+----------------------------
22.6875 | 2014-07-30 20:25:02.254855
22.625 | 2014-07-30 20:20:02.04444
22.7188 | 2014-07-30 20:15:02.322621
22.6875 | 2014-07-30 20:10:02.564656
22.6562 | 2014-07-30 20:05:02.151519
22.5938 | 2014-07-30 20:00:03.464309
22.5312 | 2014-07-30 19:55:01.91127
22.375 | 2014-07-30 19:50:02.02592
22.25 | 2014-07-30 19:45:01.828232
22.2812 | 2014-07-30 19:40:02.524593
(10 rows)
oldpet=> select * from humidity limit 10
;
hum | read_at
---------+----------------------------
83.6436 | 2014-07-30 20:25:04.266499
85.2748 | 2014-07-30 20:20:04.01857
84.6129 | 2014-07-30 20:15:04.333068
84.6271 | 2014-07-30 20:10:04.575835
87.2321 | 2014-07-30 20:05:04.148543
87.5534 | 2014-07-30 20:00:05.397653
88.522 | 2014-07-30 19:55:03.878711
87.5337 | 2014-07-30 19:50:03.962978
88.161 | 2014-07-30 19:45:03.828456
88.1411 | 2014-07-30 19:40:04.496861
(10 rows)
oldpet=>
Tuolla se tulee (tuo on PHP:tä):
function dewpoint($tc, $rh) {
$dew = $tc-((14.55+0.114*$tc)*(1-0.01*$rh)+pow((2.5+0.007*$tc)*(1-0.01*$rh),3)+(15.9+0.117*$tc)*pow((1-0.01*$rh),14));
return sprintf("%01.1f",$dew);
}
Juu. php on lopulta tarkoitu tuottaa tähän käyrään kastepiste.
http://oldpet.kapsi.fi/pChart2.1.3/examples/testi4.php
Tuo hakee tuosta kannan näkymästä nuo arvot enkä haluaisi suotta tehdä taulua kaste pisteelle vaan jos sen saisi jollain sql funktiolla ja näkymällä tehtyä vai onko parempia ideoita?
Hae lämpötila/kosteus myslistä, selaa datan läpi php:llä ja samalla lasket kastepisteet.
Tietty se on kyllä mahdollista tehdä tuo lasku suoraan myslin komennossa mutta se vaatinee hitusen heinosäätöä tuohon laskelmariviin.
SELECT (temp-((14.55+0.114*temp)*(1-0.01*hum)+....... as dew, * from......
Hyvä idea. Tuo se varmaan olis simppelein ratkaisu.
Tuo on muuten postgres mutta syntaksi hyvin pitkälti sama.