배희수

렌더링 알고리즘 구현

......@@ -4,38 +4,45 @@ var db = require('../lib/db');
/* GET home page. */
router.get('/', function(req, res, next) {
// 자외선지수, 불쾌지수, 열지수, 체감 온도, 바람속도, 현재기온, 하늘 상태, 강우량, 태풍, 낙뢰, 특보, 현재 시간
var uvr, discomfort, heat, sensibleTem, windSpeed, presentTem, skyState, rainfall, typhoon, lightning, alert, time;
// 쿼리문
var sql = 'SELECT * FROM kkonzi_test.weatherInfo WHERE kkonzi_test.time > DATE_FORMAT(DATE_ADD(now(), INTERVAL -1 MINUTE), "%Y-%m-%d %H:%i:%s")'';
// 렌더링 변수
var time = new Array(); // 타임스탬프
var ptArr = new Array(); // 현재 온도
var wsArr = new Array(); // 풍속
var rainArr = new Array(); // 강우량
var probArr = new Array(); // 사망 확률
var empty = 0; // 초기값 유뮤, 0 : 자료 있음, 1 : 자료 없음
var sql = ""; // 쿼리
var index;
// 이전 10분간 데이터 찾기
sql = "SELECT * FROM weatherInfo WHERE time >= DATE_FORMAT(DATE_ADD(now(), INTERVAL -10 MINUTE), '%Y-%m-%d %H:%i:%s')";
db.query(sql, function(err, rows, fields){
if (err) {
console.log(err);
} else {
if (rows.length == 0){
if (rows.length != 10) {
empty = 1;
} else {
probArr.push(rows[0].prob);
time.push(rows[0].time);
ptArr.push(rows[0].temperature);
wsArr.push(rows[0].wind);
rainArr.push(rows[0].rain);
}
else {
}
var tmp = rows.length - 1;
time = rows[temp].time;
uvr = rows[temp].UV;
discomfort = rows[temp].discomfort;
heat = rows[temp].heat;
sensibleTem = rows[temp].SensibleT;
windSpeed = rows[temp].wspd;
presentTem = rows[temp].CurrentT;
skyState = rows[temp].sky;
rainfall = rows[temp].rain;
typhoon = rows[temp].typhoon;
lightning = rows[temp].lightning;
alert = rows[temp].alert;
res.render('index', {
empty,
time,
ptArr,
wsArr,
rainArr,
probArr
});
}
})
res.render('index', {title: 'Express'});
});
module.exports = router;
......