Kastepiste sql kyselyllä

Aloittaja oldpet, keskiviikko, 30.07.2014, 20:24

« edellinen - seuraava »

0 Jäsenet ja 1 Vieras katselee tätä aihetta.

oldpet

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=>

weatherc

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);
}

oldpet

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?

weatherc

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......

oldpet

Hyvä idea. Tuo se varmaan olis simppelein ratkaisu.

Tuo on muuten postgres mutta syntaksi hyvin pitkälti sama.