Ero sivun ”Widget:JwCurrentCharts” versioiden välillä
Järvi-meriwikistä
(41 välissä olevaa versiota samalta käyttäjältä ei näytetä) | |||
Rivi 497: | Rivi 497: | ||
if ( memo.obscode == 'level' ) { | if ( memo.obscode == 'level' ) { | ||
− | |||
− | |||
memo.avgW = {}; | memo.avgW = {}; | ||
for (var o in memo.obsesA) { | for (var o in memo.obsesA) { | ||
Rivi 573: | Rivi 571: | ||
} else if ( memo.obscode == 'ice' ) { | } else if ( memo.obscode == 'ice' ) { | ||
+ | |||
+ | var sites = {}; | ||
+ | var obsesA = []; | ||
+ | for ( var o in memo.obsesA ) { | ||
+ | obs = memo.obsesA[o]; | ||
+ | if ( typeof sites[ obs.printouts.SiteID[0] ] == 'undefined' ) { | ||
+ | sites[ obs.printouts.SiteID[0] ] = true; | ||
+ | obsesA.push( obs ); | ||
+ | } | ||
+ | } | ||
+ | |||
+ | memo.obsesA = obsesA; | ||
var ivalsum = 0; | var ivalsum = 0; | ||
+ | var ivalcount = 0; | ||
+ | var ivc = 0; | ||
+ | var ivalmin = 999; | ||
+ | var ivalmax = 0; | ||
+ | var ivalavg = -1; | ||
var icatsum = 0; | var icatsum = 0; | ||
var icount = 0; | var icount = 0; | ||
var icatcount = 0; | var icatcount = 0; | ||
− | + | console.log( memo.obsesA ); | |
for ( var o in memo.obsesA ) { | for ( var o in memo.obsesA ) { | ||
+ | |||
obs = memo.obsesA[o]; | obs = memo.obsesA[o]; | ||
iw = ( 7 - Math.round( ( today.getTime() - memo.obsesA[o].obsdatetime.getTime() ) / ( 24*60*60*1000 ) ) ); | iw = ( 7 - Math.round( ( today.getTime() - memo.obsesA[o].obsdatetime.getTime() ) / ( 24*60*60*1000 ) ) ); | ||
+ | |||
if ( obs.data.cat == '0' || obs.data.cat == '5' ) { | if ( obs.data.cat == '0' || obs.data.cat == '5' ) { | ||
icat = 0; | icat = 0; | ||
− | } else if ( obs.data.cat == ' | + | } else if ( obs.data.cat == '1' || obs.data.cat == '4' ) { |
icat = 0.5; | icat = 0.5; | ||
} else { | } else { | ||
Rivi 591: | Rivi 608: | ||
} | } | ||
− | + | if ( obs.data.val > 0 ) { | |
+ | ivc++; | ||
+ | ivalsum += iw * obs.data.val; | ||
+ | ivalcount += iw; | ||
+ | ivalmin = Math.min( ivalmin, obs.data.val ); | ||
+ | ivalmax = Math.max( ivalmax, obs.data.val ); | ||
+ | } | ||
+ | |||
icatsum += icat * iw; | icatsum += icat * iw; | ||
icount++; | icount++; | ||
icatcount += iw; | icatcount += iw; | ||
} | } | ||
+ | |||
if ( icount > 0 ) { | if ( icount > 0 ) { | ||
− | iavg = | + | |
+ | iavg = ( icatsum/icatcount ); | ||
+ | |||
+ | //console.log( iavg ); | ||
− | + | if ( iavg > 0.7 && ivc > 0 ) { | |
− | + | ivalavg = Math.round( ivalsum/ivalcount ); | |
− | + | ivalmin = Math.round( ivalmin ); | |
− | + | ivalmax = Math.round( ivalmax ); | |
+ | //console.log( ivalavg ); | ||
+ | if ( ivalmax > ivalmin ) { | ||
+ | istr = ivalmin + '–' + ivalmax + ' cm'; | ||
+ | } else { | ||
+ | istr = ivalmin + ' cm'; | ||
+ | } | ||
+ | |||
+ | if ( ivc == 1 ) { | ||
+ | istr += '<br /><span>(' + memo.obsesA[0].obsdatetime.inRelationToToday(memo.lang).toLowerCase() + ')</span>'; | ||
+ | } else { | ||
+ | istr += '<br /><span class="smaller">('; | ||
+ | istr += '<button style="margin-left: -1px; padding: 0; font-size: 13px; margin-bottom: 3px; color: #59B500;" type="button" class="btn Xbtn-secondary Xbtn-info" data-toggle="tooltip" data-placement="top" title="" data-original-title="Perustuu yhteensä ' + icount + ' havaintoon ajanjaksolla: ' + memo.obsesA[ memo.obsesA.length-1 ].obsdatetime.toLocaleDateString() + '-' + memo.obsesA[0].obsdatetime.toLocaleDateString() + '."><span class="fontawesome"></span></button>'; | ||
+ | istr += ' ⋯' + memo.obsesA[0].obsdatetime.inRelationToToday(memo.lang).toLowerCase() + ')</span>'; | ||
+ | } | ||
+ | |||
− | |||
− | |||
} else { | } else { | ||
− | + | ||
− | + | if ( iavg < 0.25 || memo.obsesA[0].data.cat == '5' ) { istr = 'Ei jäätä'; } | |
− | istr += '<br /><span class="smaller">( | + | else if ( iavg < 0.75 ) { istr = 'Osittain jäässä'; } |
+ | else { istr = 'Yhtenäinen jääpeite'; } | ||
+ | |||
+ | if ( icount == 1 ) { | ||
+ | istr += '<br /><span>(' + memo.obsesA[0].obsdatetime.inRelationToToday(memo.lang).toLowerCase() + ')</span>'; | ||
+ | } else { | ||
+ | istr += '<br /><span class="smaller">('; | ||
+ | istr += '<button style="margin-left: -1px; padding: 0; font-size: 13px; margin-bottom: 3px; color: #59B500;" type="button" class="btn Xbtn-secondary Xbtn-info" data-toggle="tooltip" data-placement="top" title="" data-original-title="Perustuu yhteensä ' + icount + ' havaintoon ajanjaksolla: ' + memo.obsesA[ memo.obsesA.length-1 ].obsdatetime.toLocaleDateString() + '-' + memo.obsesA[0].obsdatetime.toLocaleDateString() + '."><span class="fontawesome"></span></button>'; | ||
+ | istr += ' ↦' + memo.obsesA[0].obsdatetime.inRelationToToday(memo.lang).toLowerCase() + ')</span>'; | ||
+ | } | ||
} | } | ||
} else { | } else { | ||
Rivi 631: | Rivi 681: | ||
x = col * 10 + 1; | x = col * 10 + 1; | ||
y = row * 10 + 1; | y = row * 10 + 1; | ||
+ | //console.log( 1 + ivalavg/10 ); | ||
if ( icount > 0 ) { | if ( icount > 0 ) { | ||
− | + | if ( ivalavg > 0 ) { | |
− | + | if ( row < ivalavg/10 ) { | |
− | + | aclass = 'ice1'; | |
− | + | } else { | |
− | + | aclass = 'ice0'; | |
+ | } | ||
} else { | } else { | ||
− | aclass = 'ice0'; | + | dist = Math.sqrt( Math.pow( (4.5-col), 2 ) + Math.pow( (4.5-row), 2 ) )/ Math.sqrt( 40.5 ); |
+ | if ( today.getMonth() > 0 && today.getMonth() < 6 ) { dist = 1- dist; } | ||
+ | random = (Math.random()-0.5)*0.25; | ||
+ | if ( ( (dist+random) > (1-iavg) ) ) { | ||
+ | aclass = 'ice1'; | ||
+ | } else { | ||
+ | aclass = 'ice0'; | ||
+ | } | ||
} | } | ||
} else { | } else { |