Showing
1 changed file
with
39 additions
and
6 deletions
| ... | @@ -28,12 +28,13 @@ module.exports = (server, app) => { | ... | @@ -28,12 +28,13 @@ module.exports = (server, app) => { |
| 28 | } | 28 | } |
| 29 | io.on('connection', (socket) => { //웹 페이지 연결시 루프 동작 | 29 | io.on('connection', (socket) => { //웹 페이지 연결시 루프 동작 |
| 30 | let API_CALL; | 30 | let API_CALL; |
| 31 | - let Current_Weather; | 31 | + let Current_Weather ={}; |
| 32 | let Sensible_T; | 32 | let Sensible_T; |
| 33 | - let Heat_index; | 33 | + let Heat_index={}; |
| 34 | - let Discomport_index; | 34 | + let Discomport_index={}; |
| 35 | - let Ultra_Violet_index; | 35 | + let Ultra_Violet_index={}; |
| 36 | - | 36 | + let sending_to_client_info={}; |
| 37 | + | ||
| 37 | socket.on("connection", () => { | 38 | socket.on("connection", () => { |
| 38 | API_CALL = setInterval(() => { | 39 | API_CALL = setInterval(() => { |
| 39 | 40 | ||
| ... | @@ -42,8 +43,40 @@ module.exports = (server, app) => { | ... | @@ -42,8 +43,40 @@ module.exports = (server, app) => { |
| 42 | Heat_index = CALL("index","heat"); //열지수 | 43 | Heat_index = CALL("index","heat"); //열지수 |
| 43 | Discomport_index = CALL("index","th"); //불쾌지수 | 44 | Discomport_index = CALL("index","th"); //불쾌지수 |
| 44 | Ultra_Violet_index = CALL("index","uv"); //자외선지수 | 45 | Ultra_Violet_index = CALL("index","uv"); //자외선지수 |
| 46 | + | ||
| 47 | + info = { | ||
| 48 | + heat : Sensible_T.weather.wIndex.heatIndex[0].current.index, //열지수 | ||
| 49 | + sensible_temperature : Sensible_T.weather.wIndex.wctIndex[0].current.index, //체감온도 | ||
| 50 | + discomport : Discomport_index.weather.wIndex.thIndex[0].current.index, //불쾌지수 | ||
| 51 | + UV : Ultra_Violet_index.weather.wIndex.uvindex[0].day00.index, | ||
| 52 | + windspd : Current_Weather.weather.minutely[0].wind.wspd, | ||
| 53 | + sky : Current_Weather.weather.minutely[0].sky.code, | ||
| 54 | + rain : Current_Weather.weather.minutely[0].rain.last24hour, | ||
| 55 | + current_temperature : Current_Weather.weather.minutely[0].temperature.tc, | ||
| 56 | + lightning : Current_Weather.weather.minutely[0].lightning, | ||
| 57 | + warning : common.alertYn, | ||
| 58 | + typhoon : Current_Weather.common.stormYn, | ||
| 59 | + time : Current_Weather.weather.minutely[0].timeObservation, | ||
| 60 | + death_prob:0 | ||
| 61 | + } | ||
| 62 | + | ||
| 63 | + info.death_prob += info.sky.substr(5)*1 //하늘 상태에 따라 확률 증가 | ||
| 64 | + | ||
| 65 | + if(info.lightning===1) //낙뢰시에 확률 증가 | ||
| 66 | + info.death_prob += 10; | ||
| 67 | + if(info.typhoon === "Y") //태풍시에 확률 증가 | ||
| 68 | + info.death_prob += 10; | ||
| 69 | + if(info.warning === "Y") // 특보 발령시 확률 증가 | ||
| 70 | + info.death_prob += 5 | ||
| 71 | + | ||
| 72 | + //죽을 확률 계산(내맘대로) | ||
| 73 | + info.death_prob =( | ||
| 74 | + (info.heat/8) + (abs(info.sensible_temperature-15)/2) + (info.discomport/10) + (info.UV/5) | ||
| 75 | + + (info.windspd*3) + (info.rain/10) + (abs(info.current_temperature-15)/2) | ||
| 76 | + ); | ||
| 77 | + | ||
| 45 | 78 | ||
| 46 | - socket.emit("weatherInfo_minutely_send_to_cliend",info); | 79 | + socket.emit("weatherInfo_minutely_send_to_client",info); // 클라이언트에게 이벤트 발산 |
| 47 | }, 60 * 1000); //1분마다 호출 | 80 | }, 60 * 1000); //1분마다 호출 |
| 48 | }); | 81 | }); |
| 49 | 82 | ... | ... |
-
Please register or login to post a comment