Mercurial Hosting > traffic-intelligence
changeset 502:33574b94f09e
corrected a bug and improved code
author | Nicolas Saunier <nicolas.saunier@polymtl.ca> |
---|---|
date | Tue, 27 May 2014 15:43:14 -0400 |
parents | c81cbd6953fb |
children | 7978b286fcfa |
files | python/pavement.py |
diffstat | 1 files changed, 14 insertions(+), 8 deletions(-) [+] |
line wrap: on
line diff
--- a/python/pavement.py Tue May 20 15:18:55 2014 -0400 +++ b/python/pavement.py Tue May 27 15:43:14 2014 -0400 @@ -106,12 +106,12 @@ '''Computes several winter maintenance indicators data = entretien_hivernal = pylab.csv2rec('C:\Users\Alexandre\Documents\Cours\Poly\Projet\mesures_entretien_hivernal\mesures_deneigement.txt', delimiter = ',')''' import datetime - somme_eau, somme_neige, somme_abrasif, somme_sel, somme_lc, somme_lrg, somme_lrd, premiere_neige, compteur_somme_abrasif = 0,0,0,0,0,0,0,0,0 + somme_eau, somme_neige, somme_abrasif, somme_sel, somme_lc, somme_lrg, somme_lrd, compteur_premiere_neige, compteur_somme_abrasif = 0,0,0,0,0,0,0,0,0 if circuitReference in data['ref_circuit']: for i in range(len(data)): if data['ref_circuit'][i] == circuitReference and (data['date'][i] + datetime.timedelta(days = 6)) <= endDate and (data['date'][i] + datetime.timedelta(days = 6)) > startDate: - premiere_neige += data['premiere_neige'][i] + compteur_premiere_neige += float(data['premiere_neige'][i]) somme_neige += float(data['neige'][i]) somme_eau += float(data['eau'][i]) somme_abrasif += float(data['abrasif'][i]) @@ -119,7 +119,11 @@ somme_lc += float(data['lc'][i]) somme_lrg += float(data['lrg'][i]) somme_lrd += float(data['lrd'][i]) - compteur_somme_abrasif += float(data['autre_abrasif_binaire'][i]) + compteur_somme_abrasif += float(data['autre_abrasif_binaire'][i]) + if compteur_premiere_neige >= 1: + premiere_neige = 1 + else: + premiere_neige = 0 if compteur_somme_abrasif >= 1: autres_abrasifs = 1 else: @@ -133,7 +137,7 @@ return (somme_eau, somme_neige, neigeMTQ_sup_seuil, somme_abrasif, somme_sel, somme_lc, somme_lrg, somme_lrd, premiere_neige, autres_abrasifs) -def ecWeatherIndicators(data, startDate, endDate, snowThreshold, weatherDatatype, minProportionMeasures = 0.): +def weatherIndicators(data, startDate, endDate, snowThreshold, weatherDatatype, minProportionMeasures = 0.): '''Computes the indicators from Environment Canada files (loaded as a recarray using csv2rec in data), between start and end dates (datetime.datetime objects) @@ -147,11 +151,12 @@ seuils_T = [20,15,10,5] deltas_T = [0,0,0,0] startIndex = find(data['date'] == startDate) - nDays = (endDate - startDate).days+1 - if startIndex.size != 0: - for i in range(startIndex, startIndex+int(nDays)): + nDays = int((endDate - startDate).days)+1 + if len(startIndex) > 0 and startIndex+nDays <= len(data): + startIndex = startIndex[0] + for i in range(startIndex, startIndex+nDays): if not np.isnan(data['tmax'][i]): - tmax = data['tmax'][i] + tmax = data['tmax'][i] else: tmax = None if not np.isnan(data['tmin'][i]): @@ -197,6 +202,7 @@ return [None]*2+[[None]*len(seuils_T)]+[None]*5 def mtqWeatherIndicators(data, startDate, endDate,tmax,tmin,tmoy): + print("Deprecated, use weatherIndicators") from matplotlib.mlab import find nbre_jours_T_negatif,nbre_jours_gel_degel,ecart_type_T = 0,0,0 compteur,nbre_jours_gel_consecutifs=0,0