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