JpGraph -käyrien teko

Aloittaja meteorologi, maanantai, 05.05.2008, 19:58

« edellinen - seuraava »

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

meteorologi

Tervehdys pitkästä aikaa! Onpas viime aikoina kirjoitteluni jäänyt hieman taka-alalle...
Mutta asiaan. Jäi kaivelemaan tämä vanha käyrä-asia, ja latasin ranskalaisen hepun (aguilmard) PHP-systeemit. Hänen systeeminsä on siitä nerokas, että se analysoi binaarimuotoisen history.datin!

Ongelma on nyt itse käyräntekijässä. MysQLiin on tallennettu taistelujen jälkeen onnistuneesti tietoja (mysqlweather.php), mutta käyrää ei saa mitenkään tehtyä (graph.php ja graphweather.php). Tässä on MYsQL:stä kopio, joka on katkaistu: Tietokanta: `saa`
--
SET SQL_MODE="NO_AUTO_VALUE_ON_ZERO";
--
-- Vedostetaan tietoa taulusta `ws3600`
--

INSERT INTO `ws3600` (`recdate`, `abs_Pressure`, `rel_Pressure`, `Wind_Speed`, `wind_direction`, `Wind_Chill`, `Wind_Gust`, `Total_Rainfall`, `new_Rainfall`, `Indoor_Temp`, `Outdoor_Temp`, `Indoor_Humidity`, `Outdoor_Humidity`, `Outdoor_dew_point`, `heat_index`) VALUES
(201006252337, 987.8, 1009.1, 6.9, 45.0, 19.9, 9.3, 0.0, 0.0, 24.8, 19.9, 51, 74, 15.1, 23.9),
(201006252338, 987.8, 1009.1, 2.9, 90.0, 19.9, 9.3, 0.0, 0.0, 24.8, 19.9, 51, 74, 15.1, 23.9),
(201006252339, 987.8, 1008.8, 0.0, 45.0, 19.9, 9.3, 0.0, 0.0, 24.8, 19.9, 51, 74, 15.1, 23.9),
(201006252340, 987.8, 1008.8, 4.3, 45.0, 19.9, 9.0, 0.0, 0.0, 24.8, 19.9, 51, 74, 15.1, 23.9),
(201006252341, 987.8, 1008.8, 1.8, 90.0, 19.9, 10.5, 0.0, 0.0, 24.8, 19.9, 51, 74, 15.1, 23.9),
(201006252342, 987.8, 1008.8, 0.0, 90.0, 19.9, 10.5, 0.0, 0.0, 24.8, 19.9, 51, 74, 15.1, 23.9),
(201006252343, 987.8, 1008.8, 0.0, 45.0, 19.9, 10.5, 0.0, 0.0, 24.8, 19.9, 51, 74, 15.1, 23.9),
(201006252344, 987.8, 1008.8, 1.4, 45.0, 19.9, 10.5, 0.0, 0.0, 24.8, 19.9, 51, 74, 15.1, 23.9),
(201006252345, 987.8, 1008.8, 1.8, 45.0, 19.9, 10.5, 0.0, 0.0, 24.8, 19.9, 51, 74, 15.1, 23.9),
(201006252346, 987.8, 1008.8, 2.6, 0.0, 19.9, 13.4, 0.0, 0.0, 24.8, 19.9, 51, 74, 15.1, 23.9),
(201006252347, 987.8, 1008.8, 4.3, 45.0, 19.9, 13.4, 0.0, 0.0, 24.8, 19.9, 51, 74, 15.1, 23.9),
(201006252348, 987.8, 1008.8, 1.8, 90.0, 19.9, 13.4, 0.0, 0.0, 24.8, 19.9, 51, 74, 15.1, 23.9),
(201006252349, 987.8, 1008.8, 0.0, 90.0, 19.9, 13.4, 0.0, 0.0, 24.8, 19.9, 51, 74, 15.1, 23.9),
(201006252350, 987.8, 1008.8, 0.0, 45.0, 19.8, 13.4, 0.0, 0.0, 24.8, 19.8, 51, 75, 15.2, 23.9),
(201006252351, 987.8, 1008.8, 1.1, 90.0, 19.8, 13.4, 0.0, 0.0, 24.8, 19.8, 51, 74, 15.0, 23.8),
(201006252352, 987.8, 1008.8, 4.0, 90.0, 19.8, 13.4, 0.0, 0.0, 24.8, 19.8, 51, 74, 15.0, 23.8),
(201006252353, 987.8, 1008.8, 0.3, 45.0, 19.8, 13.4, 0.0, 0.0, 24.8, 19.8, 51, 75, 15.2, 23.9),
(201006252354, 987.8, 1008.8, 0.0, 90.0, 19.8, 13.4, 0.0, 0.0, 24.8, 19.8, 51, 75, 15.2, 23.9),
(201006252355, 987.8, 1009.1, 5.0, 90.0, 19.8, 13.4, 0.0, 0.0, 24.8, 19.8, 51, 75, 15.2, 23.9),
(201006252356, 987.8, 1009.1, 0.0, 45.0, 19.6, 8.2, 0.0, 0.0, 24.8, 19.6, 51, 75, 15.0, 23.6),
(201006252357, 987.8, 1009.1, 0.0, 90.0, 19.6, 7.2, 0.0, 0.0, 24.8, 19.6, 51, 75, 15.0, 23.6),
(201006252358, 987.8, 1009.1, 0.0, 90.0, 19.6, 5.8, 0.0, 0.0, 24.8, 19.6, 51, 75, 15.0, 23.6),
(201006252359, 987.8, 1009.1, 4.7, 90.0, 19.6, 5.8, 0.0, 0.0, 24.8, 19.6, 51, 75, 15.0, 23.6),
(201006260000, 987.8, 1009.1, 2.9, 90.0, 19.6, 5.8, 0.0, 0.0, 24.8, 19.6, 51, 75, 15.0, 23.6),
(201006260001, 987.8, 1009.1, 0.0, 90.0, 19.5, 5.8, 0.0, 0.0, 24.8, 19.5, 51, 75, 14.9, 23.4),
(201006260002, 987.8, 1009.1, 0.0, 90.0, 19.6, 5.8, 0.0, 0.0, 24.8, 19.6, 51, 75, 15.0, 23.6),
(201006260003, 987.8, 1009.1, 0.0, 90.0, 19.6, 5.8, 0.0, 0.0, 24.8, 19.6, 51, 76, 15.2, 23.7),
(201006260004, 987.8, 1009.1, 0.0, 90.0, 19.6, 5.8, 0.0, 0.0, 24.8, 19.6, 51, 76, 15.2, 23.7),
(201006260005, 987.8, 1009.1, 0.0, 90.0, 19.6, 5.8, 0.0, 0.0, 24.8, 19.6, 51, 76, 15.2, 23.7),
(201006260006, 987.8, 1009.1, 0.0, 90.0, 19.5, 5.8, 0.0, 0.0, 24.8, 19.5, 51, 76, 15.2, 23.6),
(201006260007, 987.8, 1009.1, 0.0, 90.0, 19.5, 5.8, 0.0, 0.0, 24.8, 19.5, 51, 76, 15.2, 23.6);



Ja liitteenä kaikki php:t. Graph.php herjaa, ettei max()- ja min()-komentoja voida suorittaa. Voisivatko gurut hieman opastaa, missä ihmeessä vika on? MYSQL-asetukset pitäisi olla oikein.

weatherc

Mikä tulee ainakin heti mieleen on että tarkista että data josta yrität saada max()-arvon on array-muodossa, muuten se ei toimi.

Eli muodossa
$data=array('23','34','34');


ARu

mistä voi johtua kun auringon teho pyörii tuolla 600 w paikkeilla, mutta kuvaan ei tule niin suuria mittausarvoja?

Snowi

En tiedä näistä käyristä oikein mitään, mutta ainoa mikä tulee mieleen on, jos auringon teho on hetkellisesti mennyt vaikka 600w/m² eikä ole pysynyt siellä kauaa, jolloin käyrä olisi sitten jotenkin pyöristänyt lukemat ja jättänyt ne käyrästä pois.

ARu

kyllä voi noin olla, mutta aloin ihmettelemään kun oon seuraillut tuota grafiikkaa jo jonkun aikaa, eikä koskaan osu arvot kohdalleen.

weatherc

Tuo on noita WD:n clientraw*:ta käyttäviä käppyröitä?
Silloin WD ottaa lukeman vain oliskos se kerran tunnissa ja se on se joka näkyy käyrässä. Tämä lukema on juuri sinä hetkellä oleva lukema eli ei mikään maksimi tms. Auringon wattilukema seilaa aika reilusti mitä olen seurannut, pienentyen ihan pienestäkin esteestä kuten pilvestä, puusta tms.


teutari

Eipä ole tullut tuotakaan ennen ihmeteltyä mitä noissa käyrissä oikein tapahtuu on vaan asennettu ja katsottu että käyrää alkaa ilmestyä ja sen jälkeen unohdettu. ;)
Pientä alakanttiin näyttämistä tuntuu täälläkin olevan JpGraph- ja Flashkäyrässä kun niitä vertailee tuohon WUn käyrään joka näyttää aivan oikein.
JpGraph näyttää tekevän tuommoista karkeata kuviota kun taas Flash- ja WUn käppyröistä näkee selvästi kun anturin ja auringon väliin tulee esteitä joten samat havainnot kun weathercillä.

systeemi

Nälkä kasvaa syödessä :D

Eli seuraavaksi olisi tarkoitus iskeä kiinni näihin käyriin. Eli ajatus olis yhdistää sääaseman ulkolämpötilatieto ja ILP:n COP-kerroin samaan taulukkoon. Tästä sitten jokainen voi käydä seuraamassa miten COP käyttäytyy missäkin ulkolämpötilassa. Ehkä ulkoilmankosteus, tuuli ja talon kokonaisenergian kulutus voisivat olla seuraamisen arvoisia.

Tänään tuli muuten kaksi kuukautta täyteen siitä että ensimmäisen kerran kuuli jostain PHP:stä.
Sääasema Nauska, Kemi

www.kemiweather.fi

ppikkupe

Pitipä rekisteröityä tällekin foorumille, tervestä vain kaikille tasapuolisesti, ilmoittaakseni, että minulla meni hermo jpgraphin kanssa touhuamiseen. Kirjoittelin sitten omat skriptit. Ulkoisesti näyttää tällä hetkellä tältä:

http://www.pikkupeura.com/saa/?1

Jos kiinnostusta riittää, niin voin laittaa koodit jakoon. Mutta ensin niitä täytyy vähän siistiä, että kehtaa vieraille näyttää. PHP:llä koodattu, vaatii gd-kirjaston, data MySQL-kannasta, kommentteja koodissa nolla. Käppyröiden koot ja värit pystyy melko helposti vaihtamaan.

Eli mikä tuolla pyörii, niin Clasulta haettu ja joulun jälkeen asenneltu Fine Offset -sääasema on kytketty arkikäytöstä poistettuun miniläppäriin. Palvelinpäässä pyörii cronilla ajastettu skripti, joka tallentaa kerran minuutissa realtime.txt:n tietokantaan. Käppyrät luodaan 10 minuutin tarkkuudella syystä että realtime.txt:ssä on viimeisen 10 minuutin korkein tuulenpuuska.

Mitä pitäisi vielä tehdä, niin ehkä kerran vuorokaudessa pitäisi ajaa joku skripti, joka ensinnäkin tarkistaa, onko tietokannasta jäänyt jostain syystä muutamia mittausajankohtia tallentamatta ja täyttää ne jollain logiikalla. Samalla voisi poistaa esim. kuukautta vanhemmat mittausarvot ja tehdä niillekin jotain. Nyt datan tarkistus tehdään samalla kun käyrät piirretään, mutta fiksumpaa olisi, jos voisi luottaa, että tietokannassa ei ole "tyhjiä mittauspisteitä".

systeemi

Lainaus käyttäjältä: ppikkupe - maanantai, 20.02.2012, 13:40
Pitipä rekisteröityä tällekin foorumille, tervestä vain kaikille tasapuolisesti, ilmoittaakseni, että minulla meni hermo jpgraphin kanssa touhuamiseen. Kirjoittelin sitten omat skriptit. Ulkoisesti näyttää tällä hetkellä tältä:

http://www.pikkupeura.com/saa/?1

Jos kiinnostusta riittää, niin voin laittaa koodit jakoon. Mutta ensin niitä täytyy vähän siistiä, että kehtaa vieraille näyttää. PHP:llä koodattu, vaatii gd-kirjaston, data MySQL-kannasta, kommentteja koodissa nolla. Käppyröiden koot ja värit pystyy melko helposti vaihtamaan.

Eli mikä tuolla pyörii, niin Clasulta haettu ja joulun jälkeen asenneltu Fine Offset -sääasema on kytketty arkikäytöstä poistettuun miniläppäriin. Palvelinpäässä pyörii cronilla ajastettu skripti, joka tallentaa kerran minuutissa realtime.txt:n tietokantaan. Käppyrät luodaan 10 minuutin tarkkuudella syystä että realtime.txt:ssä on viimeisen 10 minuutin korkein tuulenpuuska.

Mitä pitäisi vielä tehdä, niin ehkä kerran vuorokaudessa pitäisi ajaa joku skripti, joka ensinnäkin tarkistaa, onko tietokannasta jäänyt jostain syystä muutamia mittausajankohtia tallentamatta ja täyttää ne jollain logiikalla. Samalla voisi poistaa esim. kuukautta vanhemmat mittausarvot ja tehdä niillekin jotain. Nyt datan tarkistus tehdään samalla kun käyrät piirretään, mutta fiksumpaa olisi, jos voisi luottaa, että tietokannassa ei ole "tyhjiä mittauspisteitä".


No helkkari hyvän näköiset käyrät. Laita vaan jakoon. Itse en ole tajunnut tuota jpgraphia miten se toimisi. Mutta nämä sinun tekemäsi on kohta paremmat.

Sääasema Nauska, Kemi

www.kemiweather.fi