Courbes dessinées à partir des données du capteur 8 thermocouples

près du cratère sud du dome de la Soufrière de Guadeloupe
enregistrées entre le 15 septembre 2017 et le 28 mars 2018

Choisissez un jeu de données:
Jeux de données
1h & max 1Mo6
15mn 3Mo9
1mn 46Mo
1mn & cpt 46Mo
5mn 15Mo avec max
10mn 7Mo avec max
30mn 3Mo avec max

please wait...

Plotly chart will be drawn inside this DIV

Notes de fabrication:
requête sql sur la table postgresql capteur8thermo
agrège les données par segment de temps (ici 5mn: 5*60 secondes)
      select (val*60*5) as time, cpt, su, su/cpt as moyenne, ma1, su1, su1/cpt as moyenne1, ma2, su2, su2/cpt as moyenne2, ma3, su3, su3/cpt as moyenne3, ma4, su4, su4/cpt as moyenne4, ma5, su5, su5/cpt as moyenne5, ma6, su6, su6/cpt as moyenne6, ma7 from (select Round(extract(epoch from gpstime) / (60*5)) AS val, count(*) as cpt, sum(thermo1) as su, sum(thermo2) as su1, sum(thermo3) as su2, sum(thermo4) as su3, sum(thermo5) as su4, sum(thermo6) as su5, sum(thermo7) as su6, max(thermo1) as ma1, max(thermo2) as ma2, max(thermo3) as ma3, max(thermo4) as ma4, max(thermo5) as ma5, max(thermo6) as ma6, max(thermo7) as ma7  from capteur8thermo where extract(epoch from gpstime)  > 0 group by val)as tt order by time;
code python pour en faire un json exploitable par plotly:
  
#!/usr/bin/env python3
# coding: utf-8

name="d8thermo_30mn_max"

data=open(name).readlines()
    
from datetime import datetime
    
data =data[2:]
datas=[]
for l in data:
    datas.append(l.replace("\n","").replace("\t",""))
    
datax=[]
for l in datas:
    sl = l.split('|')
    ssl=[]
    for ll in sl:
        ssl.append(ll.strip())
    datax.append(ssl)
    
donnees={'cpt':{'time':[],'val':[]},
         'su1':{'time':[],'val':[]}, 'moyenne1':{'time':[],'val':[]}, 'max1':{'time':[],'val':[]},
         'su2':{'time':[],'val':[]}, 'moyenne2':{'time':[],'val':[]}, 'max2':{'time':[],'val':[]},
         'su3':{'time':[],'val':[]}, 'moyenne3':{'time':[],'val':[]}, 'max3':{'time':[],'val':[]},
         'su4':{'time':[],'val':[]}, 'moyenne4':{'time':[],'val':[]}, 'max4':{'time':[],'val':[]},
         'su5':{'time':[],'val':[]}, 'moyenne5':{'time':[],'val':[]}, 'max5':{'time':[],'val':[]},
         'su6':{'time':[],'val':[]}, 'moyenne6':{'time':[],'val':[]}, 'max6':{'time':[],'val':[]},
         'su7':{'time':[],'val':[]}, 'moyenne7':{'time':[],'val':[]}, 'max7':{'time':[],'val':[]},
}
for d in datax:
    try:
        time, cpt, su1, moyenne1, max1,su2, moyenne2,max2, su3, moyenne3, max3, su4, moyenne4, max4, su5, moyenne5, max5, su6, moyenne6, max6, su7, moyenne7, max7=d
        for k in [ 'cpt', 'su1', 'moyenne1', 'max1', 'su2', 'moyenne2', 'max2','su3', 'moyenne3', 'max3', 'su4', 'moyenne4', 'max4', 'su5', 'moyenne5', 'max5','su6', 'moyenne6', 'max6','su7', 'moyenne7', 'max7']:
        
            donnees[k]['time'].append(datetime.fromtimestamp(float(time)).isoformat())
        donnees['cpt']['val'].append(cpt)
        donnees['su1']['val'].append(su1) 
        donnees['moyenne1']['val'].append(moyenne1)
        donnees['su2']['val'].append(su2)
        donnees['moyenne2']['val'].append(moyenne2)
        donnees['su3']['val'].append(su3)
        donnees['moyenne3']['val'].append(moyenne3)
        donnees['su4']['val'].append(su4)
        donnees['moyenne4']['val'].append(moyenne4)
        donnees['su5']['val'].append(su5)
        donnees['moyenne5']['val'].append(moyenne5)
        donnees['su6']['val'].append(su6)
        donnees['moyenne6']['val'].append(moyenne6)
        donnees['su7']['val'].append(su7)
        donnees['moyenne7']['val'].append(moyenne7)
        #mimax = lambda x: 150 if x>150 else x
        def mimax(v):
            if int(v)>150:
                return 150
            return v
        donnees['max1']['val'].append(mimax(max1))
        donnees['max2']['val'].append(mimax(max2))
        donnees['max3']['val'].append(mimax(max3))
        donnees['max4']['val'].append(mimax(max4))
        donnees['max5']['val'].append(mimax(max5))
        donnees['max6']['val'].append(mimax(max6))
        donnees['max7']['val'].append(mimax(max7))
        
    except Exception as e:
        print(e)

import json
open("%s.json"%name,"w").write(json.dumps([donnees]))