Skip to content
Snippets Groups Projects
Commit 0a7df4a5 authored by Bhabesh Bhabani Mukhopadhyay's avatar Bhabesh Bhabani Mukhopadhyay
Browse files

Two new weather stations added

Weather stations named 'Helgøy' and 'Skiftun' added. 
Modification related with password and different url to fetch data implemented
parent dfd44ad2
Branches
No related tags found
No related merge requests found
...@@ -55,6 +55,8 @@ ...@@ -55,6 +55,8 @@
{% block customJS %} {% block customJS %}
{% csrf_token %} {% csrf_token %}
<script type="text/javascript"> <script type="text/javascript">
var resultHeatSumDailyData=[];
var CONST_TIMEZONE = 'Europe/Oslo'; var CONST_TIMEZONE = 'Europe/Oslo';
var dateToday = new Date(); var dateToday = new Date();
var dateYesterday = getAdjustDate(dateToday,1); var dateYesterday = getAdjustDate(dateToday,1);
...@@ -74,11 +76,16 @@ ...@@ -74,11 +76,16 @@
function funDtPickerHeatSum() function funDtPickerHeatSum()
{ {
var varWeatherId = $('#weatherStationId').find(':selected').val(); var varWeatherId = $('#weatherStationId').find(':selected').val();
var weatherStationIdParamJSON = getJsonData(varWeatherId);
if(typeof varWeatherId === "undefined") if(typeof varWeatherId === "undefined")
{ {
varWeatherId = '$(#weatherStationId)'; varWeatherId = '$(#weatherStationId)';
} }
else{
varWeatherId = getJsonData(varWeatherId).id;
}
var startDate = new Date($('#idTxtDateInput').val()); var startDate = new Date($('#idTxtDateInput').val());
...@@ -95,7 +102,8 @@ ...@@ -95,7 +102,8 @@
timeZone : CONST_TIMEZONE timeZone : CONST_TIMEZONE
} }
var jsonDailyData = getAjaxDailyData (jsonParamUrlDataDaily); var jsonDailyData = getAjaxDailyData (jsonParamUrlDataDaily,weatherStationIdParamJSON);
} }
...@@ -113,26 +121,63 @@ ...@@ -113,26 +121,63 @@
*/ */
$('#idTxtDateInput').change(function(){ $('#idTxtDateInput').change(function(){
funDtPickerHeatSum(); funDtPickerHeatSum();
}); });
/* Convert string to JSON */
function getJsonData(strData)
{
return JSON.parse(strData);
}
/* On change of drop down for weather stations */ /* On change of drop down for weather stations */
$('#weatherStationId').change(function(){ $('#weatherStationId').change(function(){
var jsonParamUrlDataHourly = '';
var varStationPwd = '';
var varWeatherId = $('#weatherStationId').find(':selected').val(); var varWeatherId = $('#weatherStationId').find(':selected').val();
var weatherStationIdParamJSON = getJsonData(varWeatherId);
if(typeof varWeatherId === "undefined") if(typeof varWeatherId === "undefined")
{ {
varWeatherId = '$(#weatherStationId)'; varWeatherId = '$(#weatherStationId)';
} }
else
{
varWeatherId = getJsonData(varWeatherId).id;
}
var radioDaysValue = $("input[name='radioDays']:checked").val(); var radioDaysValue = $("input[name='radioDays']:checked").val();
var dateStartDate = getAdjustDate(dateToday,radioDaysValue); var dateStartDate = getAdjustDate(dateToday,radioDaysValue);
var strStartDate = JSON.stringify(dateStartDate).substring(1,11); var strStartDate = JSON.stringify(dateStartDate).substring(1,11);
var jsonParamUrlDataHourly = { if(
varWeatherId === '536' ||
varWeatherId === '537'
)
{
var dateStartDate02 = getAdjustDate(dateToday, (parseInt(radioDaysValue) + 1));
var strStartDate02 = JSON.stringify(dateStartDate02).substring(1,11);
jsonParamUrlDataHourly = {
logInterval : '1h',
startDate : strStartDate02,
startTime : '12',
endDate : strEndDate,
endTime : '11',
timeZone : CONST_TIMEZONE
}
}
else
{
jsonParamUrlDataHourly = {
weatherStationId : varWeatherId, weatherStationId : varWeatherId,
elementMeasurementTypes : ['TM','RR'], elementMeasurementTypes : ['TM','RR'],
logInterval : '1h', logInterval : '1h',
...@@ -142,10 +187,13 @@ ...@@ -142,10 +187,13 @@
endTime : '11', endTime : '11',
timeZone : CONST_TIMEZONE timeZone : CONST_TIMEZONE
} }
}
jsonHourlyData = getAjaxHourlyData(jsonParamUrlDataHourly); jsonHourlyData = getAjaxHourlyData(jsonParamUrlDataHourly,weatherStationIdParamJSON);
//$('#idTxtDateInput').datepicker("setDate",dateStartDate); //$('#idTxtDateInput').datepicker("setDate",dateStartDate);
...@@ -165,68 +213,79 @@ ...@@ -165,68 +213,79 @@
/* Convert hourly data to daily data */ /* Convert hourly data to daily data */
function setConvertHourlyData(data) function setConvertHourlyData(data)
{ {
//resultHeatSumDailyData=[];
var tmElementMeasurementType='';
var tmSUM = 0.0;
var strDate01_heatSum = '';
var resultConvertData=[]; var resultConvertData=[];
var strDate01 = ''; var strDate01 = '';
var strDate02 = ''; var strDate02 = '';
var date01 = null; var date01 = null;
var data02 = null; var data02 = null;
var time19 = ''; var time19 = '';
var time20 = ''; var time20 = '';
var time21 = ''; var time21 = '';
var time22 = ''; var time22 = '';
var time23 = ''; var time23 = '';
var rainFall = 0.0; var rainFall = 0.0;
var hourCount = 0; var hourCount = 0;
var tempval = ''; var tempval = '';
strDate01 = JSON.stringify(getStrConvertedDate(data[0].timeMeasured)).substring(1,11); strDate01 = JSON.stringify(getStrConvertedDate(data[0].timeMeasured)).substring(1,11);
date01 = new Date(strDate01); date01 = new Date(strDate01);
date02 = new Date(strDate01); date02 = new Date(strDate01);
for (var i=0; i<data.length; i++) for (var i=0; i<data.length; i++)
{ {
var radioDaysValue = $("input[name='radioDays']:checked").val();
var varDtData = new Date(getStrConvertedDate(data[i].timeMeasured).substring(0,11));
var varDtStartDate = new Date(getStrConvertedDate(getAdjustDate(new Date(),radioDaysValue)).substring(0,11));
strDate02 = JSON.stringify(getStrConvertedDate(data[i].timeMeasured)).substring(1,11);
if (varDtData.getTime() >= varDtStartDate.getTime())
{
strDate02 = JSON.stringify(getStrConvertedDate(data[i].timeMeasured)).substring(1,11);
switch (JSON.stringify(getStrConvertedDate(data[i].timeMeasured)).substring(12,14)) { switch (JSON.stringify(getStrConvertedDate(data[i].timeMeasured)).substring(12,14)) {
case '19': case '19':
if(data[i].elementMeasurementTypeId==='TM') if(data[i].elementMeasurementTypeId==='TM')
{ {
time19 = data[i].value;
time19 = parseFloat(data[i].value).toFixed(1);
tempval = data[i].elementMeasurementTypeId; tempval = data[i].elementMeasurementTypeId;
} }
break; break;
case '20': case '20':
if(data[i].elementMeasurementTypeId==='TM') if(data[i].elementMeasurementTypeId==='TM')
{ {
time20 = data[i].value; time20 = parseFloat(data[i].value).toFixed(1);
tempval = data[i].elementMeasurementTypeId; tempval = data[i].elementMeasurementTypeId;
} }
break; break;
case '21': case '21':
if(data[i].elementMeasurementTypeId==='TM') if(data[i].elementMeasurementTypeId==='TM')
{ {
time21 = data[i].value; time21 = parseFloat(data[i].value).toFixed(1);
tempval = data[i].elementMeasurementTypeId; tempval = data[i].elementMeasurementTypeId;
} }
break; break;
case '22': case '22':
if(data[i].elementMeasurementTypeId==='TM') if(data[i].elementMeasurementTypeId==='TM')
{ {
time22 = data[i].value; time22 = parseFloat(data[i].value).toFixed(1);
tempval = data[i].elementMeasurementTypeId; tempval = data[i].elementMeasurementTypeId;
} }
break; break;
case '23': case '23':
if(data[i].elementMeasurementTypeId==='TM') if(data[i].elementMeasurementTypeId==='TM')
{ {
time23 = data[i].value; time23 = parseFloat(data[i].value).toFixed(1);
tempval = data[i].elementMeasurementTypeId; tempval = data[i].elementMeasurementTypeId;
} }
break; break;
...@@ -236,28 +295,41 @@ ...@@ -236,28 +295,41 @@
} }
if(strDate01.localeCompare(strDate02) !== 0) if(strDate01.localeCompare(strDate02) !== 0)
{ {
if($.trim(strDate01_heatSum))
{
resultHeatSumDailyData.push({
'elementMeasurementTypeId' : tmElementMeasurementType,
'value' : (tmSUM/24),
'timeMeasured' : strDate01_heatSum
});
}
var decimalPlace = 2; var decimalPlace = 2;
resultConvertData.push({ /* Avoiding empty data */
if($.trim(time19))
{
/* Creating JSON list for data table */
resultConvertData.push({
resultDate: strDate01, resultDate: strDate01,
'time19' : time19.toFixed(1), 'time19' : time19,
'time20' : time20.toFixed(1), // getDecimalPlace(time20, decimalPlace), 'time20' : time20, // getDecimalPlace(time20, decimalPlace),
'time21' : time21.toFixed(1), 'time21' : time21,
'time22' : time22.toFixed(1), 'time22' : time22,
'time23' : time23.toFixed(1), 'time23' : time23,
'rainFall': rainFall.toFixed(1) //getDecimalPlace(rainFall,2) 'rainFall': rainFall.toFixed(1) //getDecimalPlace(rainFall,2)
}); });
}
strDate01 = JSON.stringify(getStrConvertedDate(data[i].timeMeasured)).substring(1,11); strDate01 = JSON.stringify(getStrConvertedDate(data[i].timeMeasured)).substring(1,11);
rainFall = 0.0; rainFall = 0.0;
tmSUM = 0.0;
tmElementMeasurementType = '';
strDate01_heatSum = data[i].timeMeasured;
} }
...@@ -266,8 +338,20 @@ ...@@ -266,8 +338,20 @@
rainFall = rainFall + data[i].value; rainFall = rainFall + data[i].value;
} }
/* HEAT SUM -- Daily TM */
if(data[i].elementMeasurementTypeId==='TM')
{
tmElementMeasurementType = data[i].elementMeasurementTypeId;
tmSUM = tmSUM + data[i].value;
}
} //---------------------------------
} }
getWeatherDataTable(resultConvertData); getWeatherDataTable(resultConvertData);
...@@ -285,6 +369,7 @@ ...@@ -285,6 +369,7 @@
/* Calculate the daily TM value for HeatSum */ /* Calculate the daily TM value for HeatSum */
function getHeatSumValue(data) function getHeatSumValue(data)
{ {
var TM_BASE = 10; var TM_BASE = 10;
var TM_Daily = 0.0; var TM_Daily = 0.0;
var TM_SUM = 0.0; var TM_SUM = 0.0;
...@@ -292,35 +377,53 @@ ...@@ -292,35 +377,53 @@
var TM_NON_NEGATIVE = 0; var TM_NON_NEGATIVE = 0;
var counter = undefined; var counter = undefined;
console.log('I hv data');
for (var i=0; i<data.length; i++) if($.trim(data))
{ {
var strStartDateDtPicker = JSON.stringify(getStrConvertedDate(data[i].timeMeasured)).substring(1,11);
for (var i=0; i<data.length; i++)
if(strStartDateDtPicker===$('#idTxtDateInput').val())
{
counter = 0;
}
if(typeof counter === "undefined")
{
break;
}
else
{ {
TM_Daily = data[counter].value; var strStartDateDtPicker = JSON.stringify(getStrConvertedDate(data[i].timeMeasured)).substring(1,11);
TM_Calc = TM_Daily - TM_BASE;
TM_NON_NEGATIVE = TM_NON_NEGATIVE + ((TM_Calc<0) ? 0 : TM_Calc); if(strStartDateDtPicker===$('#idTxtDateInput').val())
var temp = ((TM_Calc<0) ? 0 : TM_Calc) {
++counter; counter = 0;
TM_NON_NEGATIVE = 0;
}
if(typeof counter === "undefined")
{
break;
}
else
{
TM_Daily = data[counter].value;
TM_Calc = TM_Daily - TM_BASE;
TM_NON_NEGATIVE = TM_NON_NEGATIVE + ((TM_Calc<0) ? 0 : TM_Calc);
//var temp = ((TM_Calc<0) ? 0 : TM_Calc)
++counter;
}
} }
}
$('#idSpanWeatherStationName').html($('#weatherStationId').find(':selected').text()); $('#idSpanWeatherStationName').html($('#weatherStationId').find(':selected').text());
$('#idSpanStartDate').html($('#idTxtDateInput').val()); $('#idSpanStartDate').html($('#idTxtDateInput').val());
$('#idSpanEndDate').html(JSON.stringify(dateYesterday).substring(1,11)); $('#idSpanEndDate').html(JSON.stringify(dateYesterday).substring(1,11));
$('#idDivResultNonNegative').html(Math.round(TM_NON_NEGATIVE)); $('#idDivResultNonNegative').html(Math.round(TM_NON_NEGATIVE));
$('#idSpanDateDifference').html(dateDifferenceInDays(new Date($('#idTxtDateInput').val()), new Date())); $('#idSpanDateDifference').html(dateDifferenceInDays(new Date($('#idTxtDateInput').val()), new Date()));
}
else
{
$('#idSpanWeatherStationName').html('');
$('#idSpanStartDate').html('');
$('#idSpanEndDate').html('');
$('#idDivResultNonNegative').html('');
$('#idSpanDateDifference').html('');
}
} }
...@@ -405,12 +508,20 @@ ...@@ -405,12 +508,20 @@
/* Fetch hourly data through ajax call */ /* Fetch hourly data through ajax call */
function getAjaxHourlyData(jsonParamUrlDataHourly) function getAjaxHourlyData(jsonParamUrlDataHourly,idJsonParam)
{ {
var resultData = ""; var resultData = "";
var strUrl = "";
if($.trim(idJsonParam.pas))
{
strUrl = "https://weather.vips.nibio.no/rest/fruitwebdavis/id="+idJsonParam.id+"&pw="+idJsonParam.pas;
}
else
{
strUrl = "https://lmt.nibio.no/services/rest/vips/getdata/forecastfallback";
}
$.ajax({ $.ajax({
url : "https://lmt.nibio.no/services/rest/vips/getdata/forecastfallback", url : strUrl,
type : 'GET', type : 'GET',
cache : false, cache : false,
data : jsonParamUrlDataHourly, data : jsonParamUrlDataHourly,
...@@ -422,6 +533,11 @@ ...@@ -422,6 +533,11 @@
resultData = data; resultData = data;
setConvertHourlyData(resultData); setConvertHourlyData(resultData);
if($.trim(idJsonParam.pas))
{
getHeatSumValue(resultHeatSumDailyData);
}
} }
else{ else{
$('#idDivHeatSum').hide(); $('#idDivHeatSum').hide();
...@@ -443,35 +559,29 @@ ...@@ -443,35 +559,29 @@
/* Fetch Daily data through ajax call */ /* Fetch Daily data through ajax call */
function getAjaxDailyData(jsonParamUrlDataHourly) function getAjaxDailyData(jsonParamUrlDataHourly,idJsonParam)
{ {
var resultData = ""; var resultData = "";
$.ajax({
$.ajax({ url : "https://lmt.nibio.no/services/rest/vips/getdata/forecastfallback",
url : "https://lmt.nibio.no/services/rest/vips/getdata/forecastfallback", type : 'GET',
type : 'GET', cache : false,
cache : false, data : jsonParamUrlDataHourly,
data : jsonParamUrlDataHourly, //async : false,
//async : false, success : function (data) {
success : function (data) { if($.trim(data))
if($.trim(data)) {
resultData = data;
getHeatSumValue(resultData);
}
},
error : function(xhr, status, error)
{ {
//TODO
resultData = data;
getHeatSumValue(resultData);
} }
else{ });
//TODO
}
},
error : function(xhr, status, error)
{
//TODO
}
});
return resultData; return resultData;
} }
...@@ -516,27 +626,29 @@ ...@@ -516,27 +626,29 @@
<div class="col-sm-4"> <div class="col-sm-4">
<select name="weatherStationName" id="weatherStationId" class="form-control"> <select name="weatherStationName" id="weatherStationId" class="form-control">
<option value="-1">-- {% trans "Select weather station" %} --</option> <option value="-1">-- {% trans "Select weather station" %} --</option>
<option value="11">Apelsvoll</option> <option value='{"id":"11","pas":""}'>Apelsvoll</option>
<option value="12">Balestrand</option> <option value='{"id":"12","pas":""}'>Balestrand</option>
<option value="13"></option> <option value='{"id":"13","pas":""}'></option>
<option value="86">Darbu</option> <option value='{"id":"86","pas":""}'>Darbu</option>
<option value="19">Gjerpen</option> <option value='{"id":"19","pas":""}'>Gjerpen</option>
<option value="21">Gvarv</option> <option value='{"id":"21","pas":""}'>Gvarv</option>
<option value="22">Hjelmeland</option> <option value='{"id":"22","pas":""}'>Hjelmeland</option>
<option value="25">Hønefoss</option> <option value='{"id":"25","pas":""}'>Hønefoss</option>
<option value="27">Kise</option> <option value='{"id":"27","pas":""}'>Kise</option>
<option value="29">Landvik</option> <option value='{"id":"29","pas":""}'>Landvik</option>
<option value="30">Lier</option> <option value='{"id":"30","pas":""}'>Lier</option>
<option value="65">Ljøsne</option> <option value='{"id":"65","pas":""}'>Ljøsne</option>
<option value="32">Lyngdal</option> <option value='{"id":"32","pas":""}'>Lyngdal</option>
<option value="35">Njøs</option> <option value='{"id":"35","pas":""}'>Njøs</option>
<option value="41">Rygge</option> <option value='{"id":"41","pas":""}'>Rygge</option>
<option value="42">Sande</option> <option value='{"id":"42","pas":""}'>Sande</option>
<option value="131">Sandefjord</option> <option value='{"id":"131","pas":""}'>Sandefjord</option>
<option value="64">Slinde</option> <option value='{"id":"64","pas":""}'>Slinde</option>
<option value="47">Svelvik</option> <option value='{"id":"47","pas":""}'>Svelvik</option>
<option value="91">Søve</option> <option value='{"id":"91","pas":""}'>Søve</option>
<option value="61">Åsbakken</option> <option value='{"id":"61","pas":""}'>Åsbakken</option>
<option value='{"id":"536","pas":"GF90esoleo"}'>Helgøy</option>
<option value='{"id":"537","pas":"Kgsf72k388"}'>Skiftun</option>
</select> </select>
</div> </div>
<div class="col-sm-6"> <div class="col-sm-6">
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment