diff --git a/imports/api/ActiveFires/server/countFires.js b/imports/api/ActiveFires/server/countFires.js index 6f780c6..0858e95 100644 --- a/imports/api/ActiveFires/server/countFires.js +++ b/imports/api/ActiveFires/server/countFires.js @@ -4,6 +4,8 @@ import FalsePositives from '/imports/api/FalsePositives/FalsePositives'; import Industries from '/imports/api/Industries/Industries'; import ActiveFires from '../ActiveFires'; +const debug = 0; + const cleanProv = (prov, stringsToRemove) => { let lprov = prov; stringsToRemove.forEach((st) => { @@ -35,25 +37,31 @@ const countFires = (regions, stringsToRemove) => { try { const fires = findFiresInRegion(region); // TODO Also check neighbour fires (when better implementation of that part) - let count = fires.count(); + const initialCount = fires.count(); + let count = initialCount; if (count > 0) { - /* console.log(regionName); - * console.log(count); */ + const realFires = []; fires.forEach((fire) => { const union = firesUnion([fire]); const falsePos = whichAreFalsePositives(FalsePositives, union); const industries = whichAreFalsePositives(Industries, union); - if (falsePos.count() > 0 || industries.count() > 0) { + if (falsePos.count() === 0 && industries.count() === 0) { + realFires.push(fire); + } else { count -= 1; } }); - // console.log(count); - if (count > 0) { - total += count; - fireStats[regionName] = count; + // group fires + const realUnion = firesUnion(realFires); + const unionCount = realUnion[0] && + realUnion[0].geometry && + realUnion[0].geometry.coordinates ? realUnion[0].geometry.coordinates.length : 0; + if (debug) console.log(`${regionName} initial: ${initialCount}, first calc: ${count} union calc: ${unionCount}`); + if (unionCount > 0) { + total += unionCount; + fireStats[regionName] = unionCount; } } - // console.log(countFiresInRegion(prov)); } catch (e) { console.log(e); } diff --git a/imports/api/ActiveFires/server/tweetFiresInZone.js b/imports/api/ActiveFires/server/tweetFiresInZone.js index c43258a..497f5e1 100644 --- a/imports/api/ActiveFires/server/tweetFiresInZone.js +++ b/imports/api/ActiveFires/server/tweetFiresInZone.js @@ -13,8 +13,10 @@ const stringsToRemove = [ 'País Vasco/', 'Comunidad Foral de', 'Región de', + // FIXME Madrid y Valencia 'Comunidad de', 'Cataluña/', + // FIXME Castilla-León 'Castilla-', 'Principado de', ' ' @@ -52,9 +54,9 @@ const tweetFires = () => { // console.log(`Total fires ${total}, ${JSON.stringify(fires)}`); if (total > 0) { - const tweetText = `${tweetHeaders[0]} ${composeTweet(total, fires)}. ${tweetFooters[0]}`; + const tweetText = `${tweetHeaders[0].trim()} ${composeTweet(total, fires)}. ${tweetFooters[0]}`; if (Meteor.isDevelopment) { - console.log(tweet); + console.log(tweetText); } else { tweet(tweetText, 'es'); }