Mercurial > hg > nsaunier > traffic-intelligence
comparison trafficintelligence/tests/storage.txt @ 1028:cc5cb04b04b0
major update using the trafficintelligence package name and install through pip
| author | Nicolas Saunier <nicolas.saunier@polymtl.ca> |
|---|---|
| date | Fri, 15 Jun 2018 11:19:10 -0400 |
| parents | python/tests/storage.txt@933670761a57 |
| children | aafbc0bab925 |
comparison
equal
deleted
inserted
replaced
| 1027:6129296848d3 | 1028:cc5cb04b04b0 |
|---|---|
| 1 >>> from storage import * | |
| 2 >>> from io import StringIO | |
| 3 >>> from moving import MovingObject, Point, TimeInterval, Trajectory, prepareSplines | |
| 4 | |
| 5 >>> f = openCheck('non_existant_file.txt') | |
| 6 File non_existant_file.txt could not be opened. | |
| 7 | |
| 8 >>> nonexistentFilename = "nonexistent" | |
| 9 >>> loadTrajectoriesFromSqlite(nonexistentFilename, 'feature') | |
| 10 DB Error: no such table: positions | |
| 11 DB Error: no such table: velocities | |
| 12 [] | |
| 13 >>> from os import remove | |
| 14 >>> remove(nonexistentFilename) | |
| 15 | |
| 16 >>> o1 = MovingObject.generate(2, Point(0.,0.), Point(1.,0.), TimeInterval(0,10)) | |
| 17 >>> o2 = MovingObject.generate(3, Point(1.,1.), Point(-0.5,-0.2), TimeInterval(0,9)) | |
| 18 >>> saveTrajectoriesToSqlite('test.sqlite', [o1, o2], 'feature') | |
| 19 >>> objects = loadTrajectoriesFromSqlite('test.sqlite', 'feature') | |
| 20 >>> objects[0].getNum() == o1.num | |
| 21 True | |
| 22 >>> objects[1].getNum() == o2.num | |
| 23 True | |
| 24 >>> o1.getTimeInterval() == objects[0].getTimeInterval() | |
| 25 True | |
| 26 >>> o2.getTimeInterval() == objects[1].getTimeInterval() | |
| 27 True | |
| 28 >>> o1.getVelocities().length() == objects[0].getVelocities().length() | |
| 29 True | |
| 30 >>> o2.getVelocities().length() == objects[1].getVelocities().length() | |
| 31 True | |
| 32 >>> o1.getVelocities() == objects[0].getVelocities() | |
| 33 True | |
| 34 >>> o2.getVelocities() == objects[1].getVelocities() | |
| 35 True | |
| 36 >>> o1.getPositions() == objects[0].getPositions() | |
| 37 True | |
| 38 >>> o2.getPositions() == objects[1].getPositions() | |
| 39 True | |
| 40 >>> objects = loadTrajectoriesFromSqlite('test.sqlite', 'feature', timeStep = 2) | |
| 41 >>> objects[0].positions.length() | |
| 42 6 | |
| 43 >>> objects[1].positions.length() | |
| 44 5 | |
| 45 >>> objects = loadTrajectoriesFromSqlite('test.sqlite', 'feature', timeStep = 3) | |
| 46 >>> objects[0].positions.length() | |
| 47 4 | |
| 48 >>> objects[1].positions.length() | |
| 49 4 | |
| 50 >>> align1 = Trajectory.fromPointList([Point(-1, 0), Point(20, 0)]) | |
| 51 >>> align2 = Trajectory.fromPointList([Point(-9, -3), Point(6, 3)]) | |
| 52 >>> align1.computeCumulativeDistances() | |
| 53 >>> align2.computeCumulativeDistances() | |
| 54 >>> prepareSplines([align1, align2]) | |
| 55 >>> o1.projectCurvilinear([align1, align2]) | |
| 56 >>> o2.projectCurvilinear([align1, align2]) | |
| 57 >>> saveTrajectoriesToSqlite('test.sqlite', [o1, o2], 'curvilinear') | |
| 58 >>> addCurvilinearTrajectoriesFromSqlite('test.sqlite', {o.num: o for o in objects}) | |
| 59 >>> o1.curvilinearPositions[3][:2] == objects[0].curvilinearPositions[3][:2] | |
| 60 True | |
| 61 >>> o1.curvilinearPositions[7][:2] == objects[0].curvilinearPositions[7][:2] | |
| 62 True | |
| 63 >>> [str(l) for l in o1.curvilinearPositions.getLanes()] == objects[0].curvilinearPositions.getLanes() | |
| 64 True | |
| 65 >>> o2.curvilinearPositions[2][:2] == objects[1].curvilinearPositions[2][:2] | |
| 66 True | |
| 67 >>> o2.curvilinearPositions[6][:2] == objects[1].curvilinearPositions[6][:2] | |
| 68 True | |
| 69 >>> [str(l) for l in o2.curvilinearPositions.getLanes()] == objects[1].curvilinearPositions.getLanes() | |
| 70 True | |
| 71 >>> remove('test.sqlite') | |
| 72 | |
| 73 >>> f1 = MovingObject.generate(3, Point(0.,0.), Point(1.,0.), TimeInterval(0,10)) | |
| 74 >>> f2 = MovingObject.generate(4, Point(1.,1.), Point(-0.5,-0.2), TimeInterval(0,9)) | |
| 75 >>> o1 = MovingObject(num = 1, userType = 1) | |
| 76 >>> o1.features = [f1, f2] | |
| 77 >>> saveTrajectoriesToSqlite('test.sqlite', [o1], 'object') | |
| 78 >>> objects = loadTrajectoriesFromSqlite('test.sqlite', 'object', withFeatures = True) | |
| 79 >>> len(objects) | |
| 80 1 | |
| 81 >>> reloaded1 = objects[0] | |
| 82 >>> reloaded1.getNum() == o1.getNum() | |
| 83 True | |
| 84 >>> reloaded1.getUserType() == o1.getUserType() | |
| 85 True | |
| 86 >>> len(reloaded1.featureNumbers) | |
| 87 2 | |
| 88 >>> len(reloaded1.features) | |
| 89 2 | |
| 90 >>> reloaded1.getPositionAt(0) == Point.midPoint(f1.getPositionAt(0), f2.getPositionAt(0)) | |
| 91 True | |
| 92 >>> reloaded1.getPositionAt(5) == Point.midPoint(f1.getPositionAt(5), f2.getPositionAt(5)) | |
| 93 True | |
| 94 >>> reloaded1.getPositionAt(10) == f1.getPositionAt(10) | |
| 95 True | |
| 96 >>> set(reloaded1.featureNumbers) == set([f1.num, f2.num]) | |
| 97 True | |
| 98 >>> remove('test.sqlite') | |
| 99 | |
| 100 >>> strio = StringIO('# asdlfjasdlkj0\nsadlkfjsdlakjf') | |
| 101 >>> readline(strio) | |
| 102 'sadlkfjsdlakjf' | |
| 103 >>> strio = StringIO('# asdlfjasdlkj0\nsadlkfjsdlakjf') | |
| 104 >>> readline(strio, ['#']) | |
| 105 'sadlkfjsdlakjf' | |
| 106 >>> strio = StringIO('# asdlfjasdlkj0\nsadlkfjsdlakjf') | |
| 107 >>> readline(strio, ['%']) | |
| 108 '# asdlfjasdlkj0' | |
| 109 >>> strio = StringIO('# asdlfjasdlkj0\nsadlkfjsdlakjf') | |
| 110 >>> readline(strio, '%*$') | |
| 111 '# asdlfjasdlkj0' | |
| 112 >>> readline(strio, '%#') | |
| 113 'sadlkfjsdlakjf' | |
| 114 | |
| 115 >>> from sklearn.mixture import GaussianMixture | |
| 116 >>> from numpy.random import random_sample | |
| 117 >>> nPoints = 50 | |
| 118 >>> points = random_sample(nPoints*2).reshape(nPoints,2) | |
| 119 >>> gmm = GaussianMixture(4, covariance_type = 'full') | |
| 120 >>> tmp = gmm.fit(points) | |
| 121 >>> gmmId = 0 | |
| 122 >>> savePOIsToSqlite('pois-tmp.sqlite', gmm, 'end', gmmId) | |
| 123 >>> reloadedGmm = loadPOIsFromSqlite('pois-tmp.sqlite') | |
| 124 >>> sum(gmm.predict(points) == reloadedGmm[gmmId].predict(points)) == nPoints | |
| 125 True | |
| 126 >>> reloadedGmm[gmmId].gmmTypes[0] == 'end' | |
| 127 True | |
| 128 >>> remove('pois-tmp.sqlite') |
