forecastjs
v0.0.31
Published
Weather data collector for CompoundJS.
Downloads
5
Maintainers
Readme
A wrapper for getting weather data from multiple sources.
Preia date meteo de la diferite servicii si le pune in BD in colectia Meteo.
In fisierul de configurare (FC) config/forecastjs.coffee se indica lista de servicii de unde se colecteaza datele. Pot fi folosite mai multe servicii concomitent.
Tot in FC se indica pentru ce locatii sa se colecteze datele meteo. Lista de locatii se da printr-o lista de geogroup-uri direct in FC, sau se indica calea catre un fisier JSON cu lista de locatii de genul:
[
{
"id": 100,
"name": "Chişinău",
"parent": 0,
"latitude": 47.021929410040514,
"longitude": 28.861770629882812,
"geogroup": "e118e",
"type": "M"
},
...
]
In viitor vor trebui preluate locatiile din BD.
Preluarea datelor meteo din BD (metoda "getDailyForecast" este adaugata de ForecastJS)
Meteo.getDailyForecast(geogroup, start_date, day_count, function(err, data) {
// in "data" sunt datele meteo pentru "day_count" zile incepand cu ziua indicata in "date"
});
In fisierul de configurareLista de locatii pentru care se preia date meteo
Cerinte:
Poate fi folosit doar in CompoundJS + JugglingDB
Trebuie definit Meteo in db/schema.coffee
Meteo = describe 'Meteo', -> property 'date', Date, {index: true} property 'geogroup', {index: true} property 'temperature', Number property 'humidity', Number, {dataType: 'float'} property 'pressure', Number, {dataType: 'float'} property 'wind_speed', Number, {dataType: 'float'} property 'wind_degrees', Number, {dataType: 'float'} property 'condition', String property 'sky', Number, {dataType: 'float'} property 'updated', Date, 'default': -> new Date
Trebuie creat fisierul de configurare config/forecastjs.coffee.
module.exports = development: services: [ adapter: 'fo-openweathermap' # numele modulului de pe npmjs.org defaults: # atribute adaugate in url-ul API-ului de unde se preiau date meteo APPID: 'xxxxx' units: 'metric' update: # indica cand sa se faca update la datele meteo cron: '0 */20 * * * *' # pattern pentru modulul cron(https://www.npmjs.org/package/cron) interval: 8 # intervalul dintre doua request-uri la serviciu, default = 10 ] timezone: 'Europe/Chisinau' # folosit de adaptere pentru modulul cron locations: # lista de locatii pentru adapter: 'memory' # file || memory (|| db?) source: ['e118e', 'e10ff'] # lista || calea catre fisierul JSON cu locatii (|| numele colectiei din DB?) test: ... production: ...