def main(): print "starting" #change path for multi path.vtypeprobe=path.newPath(path.main,"simRawFCD/t2MitVerschiedenenLosfahrzeiten/vtypeprobe_-4.out.xml") path.simulatedRawFCD=path.newPath(path.main,"simRawFCD/t2MitVerschiedenenLosfahrzeiten/simulatedRawFCD_-4.out.dat") inputFile=open(path.vtypeprobe,'r') outputFile=open(path.simulatedRawFCD,'w') for line in inputFile: words=line.split('"') #get time if line.find("<timestep")!=-1: time=words[1] #if line starts with "<vehicle" if line.find("<vehicle id")!=-1: # veh_id date (time to simDate+time) x (remove and set comma new) outputFile.write(str(getVehId(words[1]))+'\t'+getDateFromDepart(time)+'\t'+words[13][0:2]+'.'+words[13][2:7]+words[13][8:]+ # y (remove and set comma new) status speed form m/s in km/h '\t'+words[11][0:2]+'.'+words[11][2:7]+words[11][8:]+'\t'+"90"+'\t'+str(int(round(float(words[15])*3.6)))+'\n') outputFile.close() inputFile.close() for key in vehIdDict: print key, vehIdDict[key],"\n" #pickles the vehIdList dump(vehIdDict, open(path.rawFcdVehIdList,'w')) print "end"
def getBarsMulti(): """Classifies the time difference in single bars. But uses insted of getBars() several analysis-File and calculates a mean value""" fileIter = iglob( path.newPath( path.main, "auswertung/reisezeit/analysisFiles/taxiAnalysisInformation*.xml")) fcdDiffDict = {} simDiffDict = {} barsDict = {} barsDictSim = {} stdDev = [] mw = [] #calc diffs for file in fileIter: #for each path.analysisWEE = path.newPath(file) print path.analysisWEE taxis = reader.readAnalysisInfo(WEE) for taxi in taxis: if len(taxi.getSteps()) < 1: continue try: #diff=getTimeDiff(taxi.getSteps(),False) diffSim, fcd, sim, no = getTimeDiff(taxi.getSteps()) simDiffDict.setdefault(taxi.id, []).append(sim) fcdDiffDict.setdefault(taxi.id, fcd) except TypeError, e: tueNichts = True
def main(): print "starting" #change path for multi path.vtypeprobe=path.newPath(path.main,"simRawFCD/t2MitVerschiedenenLosfahrzeiten/vtypeprobe_-4.out.xml") path.simulatedRawFCD=path.newPath(path.main,"simRawFCD/t2MitVerschiedenenLosfahrzeiten/simulatedRawFCD_-4.out.dat") inputFile=open(path.vtypeprobe,'r') outputFile=open(path.simulatedRawFCD,'w') for line in inputFile: words=line.split('"') #get time if line.find("<timestep")!=-1: time=words[1] #if line starts with "<vehicle" if line.find("<vehicle id")!=-1: # veh_id date (time to simDate+time) x (remove and set comma new) outputFile.write(str(getVehId(words[1]))+'\t'+getDateFromDepart(time)+'\t'+words[13][0:2]+'.'+words[13][2:7]+words[13][8:]+ # y (remove and set comma new) status speed form m/s in km/h '\t'+words[11][0:2]+'.'+words[11][2:7]+words[11][8:]+'\t'+"90"+'\t'+str(int(round(float(words[15])*3.6)))+'\n') outputFile.close() inputFile.close() for key in vehIdDict: print key, vehIdDict[key],"\n" #pickles the vehIdList dump(vehIdDict, open(path.rawFcdVehIdList,'w')) print "end"
def getBarsMulti(): """Classifies the time difference in single bars. But uses insted of getBars() several analysis-File and calculates a mean value""" fileIter=iglob(path.newPath(path.main,"auswertung/reisezeit/analysisFiles/taxiAnalysisInformation*.xml")) fcdDiffDict={} simDiffDict={} barsDict={} barsDictSim={} stdDev=[] mw=[] #calc diffs for file in fileIter: #for each path.analysisWEE=path.newPath(file) print path.analysisWEE taxis=reader.readAnalysisInfo(WEE) for taxi in taxis: if len(taxi.getSteps())<1: continue try: #diff=getTimeDiff(taxi.getSteps(),False) diffSim,fcd,sim,no=getTimeDiff(taxi.getSteps()) simDiffDict.setdefault(taxi.id,[]).append(sim) fcdDiffDict.setdefault(taxi.id,fcd) except TypeError, e: tueNichts=True
def main(): print "start program" #multi change pathes (routen müssen immer extra neu erstellt werden wegen taxiIDpickleList) path.simFcd=path.newPath(path.main,"simProzessiertFCD/t2MitVerschiedenenLosfahrzeiten/linkspeeds.simulatedRawFCD_-4.dat") path.vtypeprobe=path.newPath(path.main,"simRawFCD/t2MitVerschiedenenLosfahrzeiten/vtypeprobe_-4.out.xml") path.simRawFcd=path.newPath(path.main,"simRawFCD/t2MitVerschiedenenLosfahrzeiten/simulatedRawFCD_-4.out.dat") path.analysisWEE=path.newPath(path.main,"auswertung/reisezeit/analysisFiles/taxiAnalysisInformationWEE_-4.xml") arrangeData() print "end"
def main(): print("start program") # multi change pathes (routen muessen immer extra neu erstellt werden wegen # taxiIDpickleList) path.simFcd = path.newPath( path.main, "simProzessiertFCD/t2MitVerschiedenenLosfahrzeiten/linkspeeds.simulatedRawFCD_-4.dat") path.vtypeprobe = path.newPath( path.main, "simRawFCD/t2MitVerschiedenenLosfahrzeiten/vtypeprobe_-4.out.xml") path.simRawFcd = path.newPath( path.main, "simRawFCD/t2MitVerschiedenenLosfahrzeiten/simulatedRawFCD_-4.out.dat") path.analysisWEE = path.newPath( path.main, "auswertung/reisezeit/analysisFiles/taxiAnalysisInformationWEE_-4.xml") arrangeData() print("end")
def getBarsMulti(): """Classifies the time difference in single bars. But uses insted of getBars() several analysis-File and calculates a mean value""" fileIter = iglob( path.newPath( path.main, "auswertung/reisezeit/analysisFiles/taxiAnalysisInformation*.xml")) fcdDiffDict = {} simDiffDict = {} barsDict = {} barsDictSim = {} stdDev = [] mw = [] # calc diffs for file in fileIter: # for each path.analysisWEE = path.newPath(file) print(path.analysisWEE) taxis = reader.readAnalysisInfo(WEE) for taxi in taxis: if len(taxi.getSteps()) < 1: continue try: # diff=getTimeDiff(taxi.getSteps(),False) diffSim, fcd, sim, no = getTimeDiff(taxi.getSteps()) simDiffDict.setdefault(taxi.id, []).append(sim) fcdDiffDict.setdefault(taxi.id, fcd) except TypeError as e: tueNichts = True # print "Error by taxi %s : %s" %(taxi.id,e.message) for taxi, simList in simDiffDict.iteritems(): simDiffDict[taxi] = sum(simList) / (len(simList) + 0.0) # create barsDict for taxi in fcdDiffDict: fcd = fcdDiffDict[taxi] sim = simDiffDict[taxi] diff = sim - fcd relDiff = int(round(((100.0 * diff) / fcd))) barsDictSim[(relDiff / 10) * 10] = barsDictSim.setdefault( (relDiff / 10) * 10, 0) + 1 # standard deviation stdDev.append((relDiff - 9.53) * (relDiff - 9.53)) mw.append(relDiff) print("mw", sum(mw) / (len(mw) + 0.0)) # 9.91 #kor 0.48 print("standard deviation ", sqrt(sum(stdDev) / (len(stdDev) + 0.0))) return (barsDictSim, barsDict)
def getBarsMulti(): """Classifies the time difference in single bars. But uses insted of getBars() several analysis-File and calculates a mean value""" fileIter = iglob(path.newPath( path.main, "auswertung/reisezeit/analysisFiles/taxiAnalysisInformation*.xml")) fcdDiffDict = {} simDiffDict = {} barsDict = {} barsDictSim = {} stdDev = [] mw = [] # calc diffs for file in fileIter: # for each path.analysisWEE = path.newPath(file) print(path.analysisWEE) taxis = reader.readAnalysisInfo(WEE) for taxi in taxis: if len(taxi.getSteps()) < 1: continue try: # diff=getTimeDiff(taxi.getSteps(),False) diffSim, fcd, sim, no = getTimeDiff(taxi.getSteps()) simDiffDict.setdefault(taxi.id, []).append(sim) fcdDiffDict.setdefault(taxi.id, fcd) except TypeError as e: tueNichts = True # print "Error by taxi %s : %s" %(taxi.id,e.message) for taxi, simList in simDiffDict.iteritems(): simDiffDict[taxi] = sum(simList) / (len(simList) + 0.0) # create barsDict for taxi in fcdDiffDict: fcd = fcdDiffDict[taxi] sim = simDiffDict[taxi] diff = sim - fcd relDiff = int(round(((100.0 * diff) / fcd))) barsDictSim[ (relDiff / 10) * 10] = barsDictSim.setdefault((relDiff / 10) * 10, 0) + 1 # standard deviation stdDev.append((relDiff - 9.53) * (relDiff - 9.53)) mw.append(relDiff) print("mw", sum(mw) / (len(mw) + 0.0)) # 9.91 #kor 0.48 print("standard deviation ", sqrt(sum(stdDev) / (len(stdDev) + 0.0))) return (barsDictSim, barsDict)