- Timestamp:
- 11/23/2019 05:18:32 PM (6 years ago)
- Location:
- trunk/webapps/visualizer
- Files:
-
- 1 added
- 16 deleted
- 3 edited
-
images/TrafficFreeflow.ogv (deleted)
-
images/btnDepressed_CCTV.png (deleted)
-
images/btnDepressed_CMS.png (deleted)
-
images/btnDepressed_HAR.png (deleted)
-
images/btnDepressed_VDS.png (deleted)
-
images/btnReady_CCTV.png (deleted)
-
images/btnReady_CMS.png (deleted)
-
images/btnReady_HAR.png (deleted)
-
images/btnReady_VDS.png (deleted)
-
images/cctv_unavailable.jpg (deleted)
-
images/icon_cctvCyan.png (deleted)
-
images/icon_cctvWhite.png (deleted)
-
images/icon_cms_active.png (deleted)
-
images/icon_cms_idle.png (deleted)
-
images/icon_har_active.png (deleted)
-
images/icon_har_idle.png (deleted)
-
index.html (modified) (6 diffs)
-
js/vdsLayer.js (modified) (5 diffs)
-
traffic_events.txt (modified) (1 diff)
-
traffic_events_sample.txt (added)
Legend:
- Unmodified
- Added
- Removed
-
trunk/webapps/visualizer/index.html
r528 r530 5 5 <!-- map center button icon from http://icons8.com/. (Obligatory backlink, don't remove ) --> 6 6 <meta http-equiv="Content-Type" content="text/html;charset=utf-8"> 7 <title>Visualizer </title>7 <title>Visualizer </title> 8 8 <link rel="icon" 9 9 type="image/png" … … 14 14 <body> 15 15 <!-- 16 Version 6.5 Adjust cms dialog dimensions for Chrome. 17 Version 6.4 Remove fullscreen control. (Use Browser F11 instead). 18 Version 6.3 decomposed into modules for each layer 19 Version 6.2 puts cctv and cms and vds in separate data layers. 20 Version 6.1 Puts cms messages in json formatted file. Polls for updates. 21 Version 6.0 Adds speed-dependent images to infowindow for cctv icons 22 Version 5.8 Adds an infowindow with a static image for all cctv icons 23 Version 5.7 integrates CCTV icons and button (but empty click handler) 24 Version 5.6 integrates CMS features 25 Version 5.5 renames title to CPTMS, loads static data on startup and dynamic data 26 every ten seconds. 27 Version 5.4 adds Search box and Center button 28 Version 5.3 fixed dot color update defect, increased refresh rate to 10 sec. 29 Version 5.2 places red dots overlapping yellow dots. 30 Version 5.1 removes the map and street view buttons and the H3 tag. 31 Version 5 uses precomputed perpendicular vector in dot adjustment function 32 Version 4 Adjust the spacing between dots when the map is zoomed. 33 Version 3 does loadGeoJson only once, and subsequently does an ajax load 34 of the highways file, and selectively updates only those placePins whose 35 color has changed. 36 @author jdalbey 2019.2.17 16 Visualizer created from CPTMS 17 @author tkumar and jdalbey 2019.11.23 37 18 --> 38 <!-- The text area input for the Search Box -->39 <input id="search-input" class="controls" type="text" placeholder="Search Box">40 19 <!--The div element where the map appears. --> 41 20 <div id="mapdiv"></div> … … 44 23 <!--The div elements where the buttons appear--> 45 24 <div id="ctrButton"><img width="30" src="images/btn_mapcenter.png"></div> 46 <!-- <button id="harButton" class="unstyled-button"><img id="harBtnImg" src="images/btnReady_HAR.png"></button>47 <button id="cctvButton" class="unstyled-button"><img id="cctvBtnImg" src="images/btnReady_CCTV.png"></button>48 <button id="cmsButton" class="unstyled-button"><img id="cmsBtnImg" src="images/btnReady_CMS.png"></button>-->49 <button id="vdsButton" class="unstyled-button"><img id="vdsBtnImg" src="images/btnDepressed_VDS.png"></button>50 25 <p id="time">00:00:00</p> 51 <button id=" start" >Beginning</button>26 <button id="beginning" >Beginning</button> 52 27 <button id="forward" >Next</button> 53 28 <button id="backward" >Back</button> … … 94 69 var iconVDSwhite = "images/circle_white.png" 95 70 var vds_showing = true; 96 var filters = []; //array to hold markers for visualizer97 var times = []; //array to hold times of each traffic event98 times[0] = "00:00:00";99 var diff_arr = []; // array to hold difference in target markers100 var index = -1; //to index into above array71 var targetDots = []; // 2d array containing targetDots parsed from each line in traffic events file 72 var eventTimes = []; //array to hold times of each traffic event 73 eventTimes[0] = "00:00:00"; 74 var diff_arr = []; // 2d array containing difference in map state between each event 75 var eventIndex = -1; //to index into above array 101 76 102 77 // Use larger VDS icons if we're being displayed on the video wall … … 125 100 } 126 101 127 // Initialize the view/hide buttons128 function initLayerButtons()129 {130 initVDSbutton();131 initForwardbutton();132 initVDSicons();133 }134 135 102 // Initialize the map and load the points 136 103 function initMap() … … 148 115 149 116 // setup the search box and center button 150 initSearch();117 //initSearch(); 151 118 initCenter(); 152 119 153 loadVDSlayer(); // go load the map data 154 processVDS(); 120 initializeVDSlayer(); // go load the map data 155 121 156 initLayerButtons(); // setup the show/hide layer buttons 157 158 updateVDSlayer(); 159 setTimeout(function() { 160 buildDiff(); 161 updateVDSlayer(); 162 }, 3000); 122 initControlButtons(); 123 initVDSicons() 163 124 164 125 // Listen for zoom changes and move the vds dots so as to keep a nice -
trunk/webapps/visualizer/js/vdsLayer.js
r528 r530 1 // Build a solid colored icon to use instead of the classic pin2 function dotSymbol(color)3 {4 var iconPath = iconVDSwhite;5 if (color == 'red')6 {7 iconPath = iconVDSred;8 }9 else if (color == 'yellow')10 {11 iconPath = iconVDSyellow;12 }13 else if (color == 'lime')14 {15 iconPath = iconVDSgreen;16 }17 return {18 url: iconPath,19 anchor: new google.maps.Point(6, 6)20 };21 }22 23 1 // Load the map data from a json file and style all the points 24 function loadVDSlayer()2 function initializeVDSlayer() 25 3 { 26 4 // Load the static map data and call saveCoords when done … … 46 24 }); 47 25 } 26 27 // Build a solid colored icon to use instead of the classic pin 28 function dotSymbol(color) 29 { 30 var iconPath = iconVDSwhite; 31 if (color == 'red') 32 { 33 iconPath = iconVDSred; 34 } 35 else if (color == 'yellow') 36 { 37 iconPath = iconVDSyellow; 38 } 39 else if (color == 'lime') 40 { 41 iconPath = iconVDSgreen; 42 } 43 return { 44 url: iconPath, 45 anchor: new google.maps.Point(6, 6) 46 }; 47 } 48 48 49 // callback when load GeoJson completes 49 50 // save each feature's Point as the original coordinates for later reference … … 56 57 vds_coords[feature.getId()] = pt; // save the Point in a dictionary 57 58 }); 58 // update the dot colors from the dynamic json data59 updateVDSlayer();60 59 // go adjust the marker coordinates so dots don't overlap 61 60 adjustCoords(calcDistanceFactor()); 61 processVDS(); 62 62 } 63 63 … … 114 114 } 115 115 116 // Load the highways static json file and update the map 117 function resetVDSlayer() 118 { 119 eventIndex = -1; 120 loadJSON(kMapStartupFile, function(response) 121 { 122 // Parse JSON string into object 123 //initialVDSjson = JSON.parse(response); 124 // Process each new marker - lookup in current map 125 var initialVDSjsonFeatures = JSON.parse(response).features 126 initialVDSjsonFeatures.forEach(updateMarker); 127 }); 128 } 129 130 function getColorName(str){ 131 if (str === "R\r" || str === "R") 132 return "red"; 133 else if (str === "Y\r" || str === "Y") 134 return "yellow"; 135 else if (str === "G\r" || str === "G") 136 return "lime"; 137 } 138 139 // Parses the traffic events file and builds an array of target dots for each line 140 function processVDS() { 141 //var parsed_JSON; 142 loadJSON(kMapStartupFile, function(response) 143 { 144 // Parse JSON string into object 145 parsed_JSON = JSON.parse(response); 146 // Process each new marker - lookup in current map 147 var parsed_features = parsed_JSON.features; 148 parsed_features.forEach(updateMarker); 149 var eventsFile = ''; 150 // Request the traffic events data file 151 var xmlhttp = new XMLHttpRequest(); 152 xmlhttp.open("GET",trafficEventsFile,true); // Ask the server for the traffic events file 153 // Establish listener for handling the traffic events once file is read 154 xmlhttp.onreadystatechange = function() 155 { 156 if(xmlhttp.status == 200 && xmlhttp.readyState == 4) 157 { 158 eventsFile = xmlhttp.responseText; 159 // Process the traffic events file 160 var lines = eventsFile.toString().split("\n"); 161 // For each line in the events file 162 for (var line = 1; line < lines.length; line++) 163 { 164 var trimmedLine = lines[line].trim(); 165 if (trimmedLine[0] !== '#') //ignores lines with # 166 { 167 var dots = []; 168 var event = trimmedLine.split(/[ ,]+/); 169 var start = parseFloat(event[4]); // extract postmile field 170 var range = parseFloat(event[5]); // extract distance 171 var newColor = getColorName(event[6]); // extract DotColor 172 eventTimes.push(event[1]); // extract the event time 173 // Process each VDS in the highway network 174 parsed_features.forEach(function (marker) { 175 var marker_fields = marker.id.split(" "); 176 // See if this marker's highway and direction match to this event 177 if (marker_fields[0] === event[2] && marker_fields[1] === event[3]) 178 { //computes difference in postmiles 179 var dist = parseFloat(marker_fields[2]) - start; 180 // If this marker is within computed range 181 if (dist <= range && dist >= 0) 182 { 183 // Add the marker to the dots representing this event 184 dots.push({"marker": marker, "color": newColor}); 185 } 186 } 187 }); 188 targetDots.push(dots); // add this events dots to the list of targetdots 189 } // end if 190 } // end for 191 // After the traffic events are processed, go build the differences array 192 buildDiff(); // side effect: leaves map with last event showing 193 resetVDSlayer(); // restore the map to initial state 194 } 195 }; 196 xmlhttp.send(); 197 }); 198 } 199 200 // Calls updateMarker for all targetDots after storing the previous marker in diff_arr 201 // This function only needs to be done once, during startup. 202 function buildDiff() 203 { 204 for (var i = 0; i <= targetDots.length; i++) 205 { 206 if (targetDots[i] !== undefined) 207 { 208 var targetMarkers = new Array(); 209 targetDots[i].forEach(function(item) 210 { 211 item.marker.properties.color = item.color; 212 storePrev(item.marker, targetMarkers); 213 updateMarker(item.marker); 214 }); 215 diff_arr.push(targetMarkers); 216 } 217 } 218 } 219 // Helper function for BuildDiff 220 // Store the previous colors of the targetDots 221 // so it will available if the user goes "back". 116 222 function storePrev(marker, targetMarkers) 117 223 { … … 129 235 } 130 236 131 // Load the highways dynamic json file and update the map 132 function updateVDSlayer() 133 { 134 index = -1; 135 var parsed_JSON; 136 loadJSON(kVDSstatusFile, function(response) 137 { 138 // Parse JSON string into object 139 parsed_JSON = JSON.parse(response); 140 // Process each new marker - lookup in current map 141 parsed_JSON.features.forEach(updateMarker); 142 }); 143 } 144 145 function getColorName(str){ 146 if (str === "R\r" || str === "R") 147 return "red"; 148 else if (str === "Y\r" || str === "Y") 149 return "yellow"; 150 else if (str === "G\r" || str === "G") 151 return "lime"; 152 } 153 154 function processVDS() { 155 var parsed_JSON; 156 loadJSON(kVDSstatusFile, function(response) 157 { 158 // Parse JSON string into object 159 parsed_JSON = JSON.parse(response); 160 // Process each new marker - lookup in current map 161 var array = parsed_JSON.features; 162 var txt = ''; 163 var xmlhttp = new XMLHttpRequest(); 164 xmlhttp.onreadystatechange = function(){ 165 if(xmlhttp.status == 200 && xmlhttp.readyState == 4){ 166 txt = xmlhttp.responseText; 167 var lines = txt.toString().split("\n"); 168 for (var line = 1; line < lines.length; line++) { 169 filters[line-1] = []; 170 var event = lines[line].split(/[ ,]+/); 171 var start = parseFloat(event[4]); // 7.73 172 var range = parseFloat(event[5]); // 0.5 173 var newColor = getColorName(event[6]); // "R" 174 times.push(event[1]); 175 array.forEach(function (marker) { 176 var id_arr = marker.id.split(" "); 177 if (id_arr[0] === event[2] && id_arr[1] === event[3]){ 178 var dist = parseFloat(id_arr[2]) - start; //difference of postmiles 179 if (dist <= range && dist >= 0){ 180 filters[line-1].push({"marker": marker, "color": newColor}); 181 } 182 } 183 }); 184 } 185 } 186 }; 187 xmlhttp.open("GET",trafficEventsFile,true); //read traffic events text file 188 xmlhttp.send(); 189 }); 190 } 191 192 // updates color for each marker based on color in filters array 193 function updateVDS(forwards) { 194 if (forwards) { 195 index++; 196 if (index >= filters.length) 197 { 198 index = filters.length - 1; 199 } 200 if (filters[index] !== undefined) { 201 filters[index].forEach(function(item){ 202 item.marker.properties.color = item.color; 203 updateMarker(item.marker); 204 }); 205 } 206 } 207 else { 208 if (diff_arr[index] !== undefined) { 209 diff_arr[index].forEach(function(item){ 210 updateMarker(item); 211 }); 212 } 213 index--; 214 if (index < -1) 215 { 216 index = -1; 217 } 218 } 219 } 220 221 function buildDiff() 222 { 223 for (var i = 0; i <= filters.length; i++) 224 { 225 if (filters[i] !== undefined) 226 { 227 var targetMarkers = new Array(); 228 filters[i].forEach(function(item){ 229 item.marker.properties.color = item.color; 230 storePrev(item.marker, targetMarkers); 231 updateMarker(item.marker); 232 }); 233 diff_arr.push(targetMarkers); 234 } 235 } 236 } 237 238 function initVDSbutton() 239 { 240 241 var vdsBtnDiv = document.getElementById('vdsButton'); 242 map.controls[google.maps.ControlPosition.LEFT_BOTTOM].push(vdsBtnDiv) 243 vdsBtnDiv.title = 'Click to toggle vds view'; 244 245 // Setup the click event listeners to toggle icon display 246 vdsBtnDiv.addEventListener('click', function() 247 { 248 vds_showing = !vds_showing; 249 // reveal or hide all the dots 250 map.data.forEach(function(feature) 251 { 252 map.data.overrideStyle(feature, 253 { 254 visible: vds_showing 237 238 239 // Increments the eventIndex from and updates all the targetDots on map 240 function updateForwards() { 241 eventIndex++; 242 // limit eventIndex to length of targetDots 243 if (eventIndex >= targetDots.length) 244 { 245 eventIndex = targetDots.length - 1; 246 } 247 // update all the target dots 248 if (targetDots[eventIndex] !== undefined) { 249 targetDots[eventIndex].forEach(function(item){ 250 item.marker.properties.color = item.color; 251 updateMarker(item.marker); 255 252 }); 256 }); 257 // Determine which button image to show 258 if (vds_showing) 259 { 260 pic = "images/btnDepressed_VDS.png" 261 } 262 else 263 { 264 pic = "images/btnReady_VDS.png" 265 } 266 document.getElementById('vdsBtnImg').src = pic; 267 }); 268 } 269 270 // init beginning and next buttons as well as time display on map 271 function initForwardbutton() 253 } 254 } 255 256 // Decrements the eventIndex and updates all the targetDots from diff_arr on map 257 function updateBackwards() { 258 //update each target dot in order to revert to previous color 259 if (diff_arr[eventIndex] !== undefined) { 260 diff_arr[eventIndex].forEach(function(item){ 261 updateMarker(item); 262 }); 263 } 264 eventIndex--; 265 // restrict eventIndex to -1 266 if (eventIndex < -1) 267 { 268 eventIndex = -1; 269 } 270 } 271 272 273 // init beginning, forward and back buttons as well as time display on map 274 function initControlButtons() 272 275 { 273 276 var i = 0; 277 // setup the time display 274 278 var time = document.getElementById('time'); 275 279 map.controls[google.maps.ControlPosition.BOTTOM_CENTER].push(time) 276 var start = document.getElementById('start'); 277 map.controls[google.maps.ControlPosition.BOTTOM_CENTER].push(start) 278 start.title = 'Click to see the first event'; 280 // set up the "beginning" button 281 var beginning = document.getElementById('beginning'); 282 map.controls[google.maps.ControlPosition.BOTTOM_CENTER].push(beginning) 283 beginning.title = 'Click to see the first event'; 284 // set up the "next" button 279 285 var forward = document.getElementById('forward'); 280 286 map.controls[google.maps.ControlPosition.BOTTOM_CENTER].push(forward) 287 // set up the "back" button 281 288 var backward = document.getElementById('backward'); 282 289 map.controls[google.maps.ControlPosition.BOTTOM_CENTER].push(backward) 283 290 forward.title = 'Click to see the next event'; 284 //console.log(diff_arr); 291 //console.log(targetDots, eventTimes); 292 // Establish the listeners for each button 285 293 forward.addEventListener('click', function() { 286 updateVDS(1); 287 if (i < times.length - 1) 294 updateForwards(); 295 backward.disabled = false; 296 if (i < eventTimes.length - 1) // get the next eventTime 288 297 { 289 298 ++i; 290 time.innerHTML = times[i]; 299 time.innerHTML = eventTimes[i]; 300 } 301 if (eventIndex === targetDots.length - 1) // disable next button if last event reached 302 { 303 forward.disabled = true; 291 304 } 292 305 }); 293 306 backward.addEventListener('click', function() { 294 updateVDS(0); 295 if (i > 0) 307 updateBackwards(); 308 forward.disabled = false; 309 if (i > 0) // get the prev eventTime 296 310 { 297 311 --i; 298 time.innerHTML = times[i]; 312 time.innerHTML = eventTimes[i]; 313 } 314 if (eventIndex < 0) // disable back button if at first event 315 { 316 backward.disabled = true; 299 317 } 300 318 }); 301 start.addEventListener('click', function() {302 updateVDSlayer();319 beginning.addEventListener('click', function() { 320 resetVDSlayer(); // redraw markers on map from startup file 303 321 i = 0; 304 322 time.innerHTML = "00:00:00"; -
trunk/webapps/visualizer/traffic_events.txt
r516 r530 1 ID Time Route Direction PostMile Distance DotColor 2 181 00:00:30 405 N 7.73 3.0 R 3 181 00:00:45 405 N 8.40 4.74 Y 4 181 00:01:00 405 N 5.73 2.0 R 5 181 00:02:00 405 N 0.85 3.2 Y 6 181 00:02:30 405 N 2.73 4.0 R 7 181 00:07:00 5 N 28.9 1.5 Y 8 181 00:08:00 5 N 21.25 2.5 R 9 181 00:08:30 5 N 18.61 3.0 Y 10 181 00:16:30 405 N 1.73 2.73 R 1 ########################################################################### 2 # FEP Simulator Input File 3 # 4 # TMC Simulator Full Script 5 # v1.0 - Neil Hockaday 6 ########################################################################### 7 # Incident 187 8 # 9 # This is a stalled DOT truck on SB 55 overpass at 405. The truck is hit 10 # by a vehicle, the vehicle is vaulted over the railing, and a 6 vehicle 11 # collision occurs below in the NB 405 lanes. The #2 and 3 lanes are 12 # blocked on SB 55 and the #1, 2, and 3 lanes are blocked on NB 405. 13 ########################################################################### 14 # Incident 188 15 # 16 # This is a two vehicle collision between a tomato truck and a car. The 17 # truck spills tomatoes across lanes #3,4,5 right lanes plus shoulder of 18 # NB 5 just north of Lake Forest Drive. 19 ########################################################################### 20 # Incident 189 21 # 22 # This is a suicide attempt and a bomb threat. A man with a bomb strapped 23 # to him is threatening to blow up the interchange at I-405 and Jeffrey 24 # Road. The freeway interchange is shut down completely, causing major 25 # backup in both directions on I-405. 26 ########################################################################### 27 # Incident 190 28 # 29 # This is a collision involving a tanker truck and a car that block the #3 30 # and 4 lanes on NB I-5 just north of Main Street. 31 ########################################################################### 32 # Incident 191 33 # 34 # This is an RV fire on the shoulder southbound 73 just north of Bear/Baker 35 # Street. 36 ########################################################################### 37 # Format 38 # 39 # ID Time Route Direction PostMile Distance DotColor 40 ########################################################################### 41 187 00:00:07 55 S 6.88 0.2 Y 42 187 00:01:37 55 S 6.88 0.2 R 43 187 00:02:07 55 S 7.03 0.2 Y 44 187 00:02:37 55 S 7.03 0.7 Y 45 187 00:03:06 405 N 8.40 0.2 R 46 187 00:03:37 55 S 6.88 1.0 R 47 187 00:04:06 405 N 8.40 0.2 R 48 187 00:04:37 55 S 6.88 2.0 R 49 187 00:04:47 55 N 5.87 0.2 Y 50 187 00:05:06 405 N 8.40 1.0 R 51 187 00:05:36 405 N 7.07 0.2 Y 52 187 00:06:06 405 N 7.07 0.3 Y 53 187 00:07:06 405 N 8.40 1.5 R 54 187 00:07:07 55 S 9.19 0.2 Y 55 187 00:08:06 405 N 6.21 1.5 Y 56 188 00:08:08 5 N 20.00 0.2 Y 57 187 00:09:06 405 N 8.40 2.1 R 58 187 00:09:07 55 S 9.19 0.7 Y 59 188 00:09:08 5 N 20.00 0.2 R 60 187 00:10:06 405 N 6.21 2.0 Y 61 188 00:10:08 5 N 18.61 0.2 Y 62 187 00:11:06 405 N 8.40 2.5 R 63 187 00:11:07 55 S 6.88 0.7 Y 64 188 00:12:08 5 N 18.61 1.2 Y 65 188 00:12:38 5 N 18.61 0.2 R 66 187 00:13:06 405 N 4.03 0.2 Y 67 187 00:14:06 405 N 4.03 0.3 Y 68 188 00:14:08 5 N 17.63 0.1 Y 69 187 00:14:37 55 S 6.88 2.5 R 70 187 00:14:47 55 N 5.87 0.4 Y 71 187 00:15:06 405 N 3.86 0.1 Y 72 187 00:16:06 405 N 8.40 3.5 R 73 187 00:16:07 55 S 9.84 0.2 Y 74 188 00:16:08 5 N 17.63 0.3 Y 75 187 00:17:06 405 N 3.86 0.6 Y 76 188 00:17:08 5 N 17.63 1.0 Y 77 187 00:18:06 405 N 8.40 4.5 R 78 187 00:18:07 55 S 10.40 0.2 Y 79 188 00:18:08 5 N 20.00 1.0 R 80 187 00:19:06 405 N 3.86 0.8 Y 81 188 00:19:08 5 N 20.00 1.5 R 82 188 00:20:08 5 N 20.00 2.0 R 83 187 00:21:05 5 S 30.40 0.1 Y 84 188 00:21:08 5 N 17.63 2.0 Y 85 187 00:22:06 405 N 3.86 1.0 Y 86 188 00:22:08 5 N 20.00 2.5 R 87 187 00:23:05 5 S 30.40 0.2 Y 88 188 00:23:08 5 N 15.35 0.2 Y 89 187 00:24:05 5 S 30.40 0.1 R 90 187 00:24:05 5 S 30.40 0.8 Y 91 187 00:24:06 405 N 3.86 1.6 Y 92 187 00:25:06 405 N 8.40 4.6 R 93 188 00:25:08 5 N 15.35 0.7 Y 94 187 00:26:05 5 S 30.40 1.2 R 95 187 00:26:05 5 S 30.60 1.2 Y 96 188 00:26:08 5 N 20.00 3.5 R 97 188 00:27:08 5 N 15.35 1.5 Y 98 188 00:28:08 5 N 20.00 4.5 R 99 188 00:29:08 5 N 15.35 2.5 Y 100 187 01:01:07 55 S 6.88 0.2 Y 101 187 01:02:07 55 S 6.88 0.2 G 102 187 01:02:17 55 S 7.03 0.2 Y 103 187 01:04:17 55 S 7.03 0.7 Y 104 187 01:05:07 55 S 6.88 0.2 Y 105 187 01:05:37 55 S 7.03 1.5 Y 106 187 01:06:07 55 S 6.88 1.0 G 107 187 01:07:17 55 S 9.19 0.2 Y 108 188 01:08:08 5 N 20.00 0.2 Y 109 187 01:08:17 55 S 9.19 0.9 Y 110 187 01:09:17 55 S 9.19 1.3 Y 111 187 01:09:27 55 S 6.88 2.0 G 112 187 01:10:17 55 S 6.88 3.0 G 113 188 01:11:08 5 N 20.00 0.2 Y 114 187 01:11:17 55 S 6.88 4.0 G 115 187 01:11:35 5 S 30.40 0.1 Y 116 187 01:12:35 5 S 30.40 0.5 Y 117 187 01:13:05 5 S 30.40 1.0 Y 118 187 01:14:05 5 S 30.40 1.5 Y 119 187 01:15:05 5 S 30.40 0.5 G 120 188 01:15:08 5 N 20.00 0.7 Y 121 187 01:16:05 5 S 30.40 1.5 G 122 188 01:20:08 5 N 20.00 1.0 Y 123 187 01:29:06 405 N 8.40 0.2 Y 124 187 01:30:06 405 N 8.40 0.7 Y 125 188 01:30:08 5 N 20.00 1.5 Y 126 187 01:31:06 405 N 8.40 1.2 Y 127 187 01:31:16 405 N 8.40 0.2 G 128 187 01:32:06 405 N 7.07 1.0 Y 129 187 01:33:06 405 N 7.07 1.5 Y 130 187 01:34:16 405 N 8.40 1.2 G 131 187 01:35:06 405 N 5.05 1.0 Y 132 187 01:35:06 405 N 5.05 2.0 Y 133 187 01:35:06 405 N 7.07 2.5 Y 134 188 01:35:08 5 N 20.00 0.2 G 135 188 01:36:08 5 N 19.75 2.0 Y 136 187 01:36:16 405 N 8.40 1.5 G 137 188 01:36:38 5 N 20.00 1.0 G 138 188 01:37:08 5 N 18.90 3.0 Y 139 189 01:37:09 405 S 4.03 0.2 R 140 187 01:37:16 405 N 8.40 2.5 G 141 189 01:37:39 405 S 4.03 0.5 R 142 189 01:38:09 405 S 4.03 1.0 R 143 187 01:38:16 405 N 8.40 3.0 G 144 189 01:38:19 405 N 2.35 0.2 R 145 189 01:38:39 405 S 4.03 1.5 R 146 189 01:38:49 405 N 2.35 0.5 R 147 187 01:39:06 405 N 3.86 1.6 Y 148 189 01:39:09 405 S 4.03 2.0 R 149 189 01:39:09 405 S 4.03 3.0 R 150 189 01:39:19 405 N 2.35 1.0 R 151 189 01:39:39 405 S 4.03 2.5 R 152 189 01:39:39 405 S 4.03 3.5 R 153 189 01:39:49 405 N 2.35 1.5 R 154 188 01:40:08 5 N 20.00 2.3 G 155 189 01:40:09 405 S 4.03 4.0 R 156 187 01:40:16 405 N 8.40 4.0 G 157 189 01:40:33 133 S 9.00 0.2 Y 158 189 01:40:39 405 S 4.03 4.5 R 159 189 01:40:40 5 N 20.59 0.2 R 160 188 01:41:08 5 N 17.63 4.0 Y 161 189 01:41:09 405 S 4.03 5.0 R 162 189 01:41:10 5 N 20.59 0.5 R 163 189 01:41:10 5 N 21.25 0.1 Y 164 187 01:41:16 405 N 8.40 5.0 G 165 189 01:41:40 5 N 20.59 1.0 R 166 189 01:42:09 405 S 4.03 6.0 R 167 189 01:42:10 5 N 20.59 1.5 R 168 187 01:42:16 405 N 8.40 6.0 G 169 189 01:42:34 55 N 5.87 0.2 Y 170 189 01:42:40 5 N 20.59 2.0 R 171 189 01:43:09 405 S 4.03 7.0 R 172 189 01:43:10 5 N 20.59 2.5 R 173 189 01:43:40 5 N 20.59 3.0 R 174 189 01:44:09 405 S 4.03 8.0 R 175 189 01:44:10 5 N 20.59 3.5 R 176 189 01:44:40 5 N 20.59 4.0 R 177 189 01:45:09 405 S 4.03 9.0 R 178 189 01:45:10 5 N 20.59 4.5 R 179 189 01:45:33 133 S 9.00 0.5 Y 180 189 01:45:34 55 N 5.87 0.5 Y 181 189 01:45:40 5 N 20.59 5.0 R 182 189 01:46:09 405 S 4.03 10.0 R 183 189 01:46:40 5 N 20.59 6.0 R 184 189 01:47:09 405 S 4.03 11.0 R 185 189 01:47:40 5 N 20.59 7.0 R 186 189 01:48:09 405 S 4.03 12.0 R 187 189 01:48:40 5 N 20.59 8.0 R 188 189 01:49:09 405 S 4.03 13.0 R 189 189 01:49:40 5 N 20.59 9.0 R 190 189 01:50:09 405 S 4.03 14.0 R 191 189 01:50:33 133 S 9.00 0.5 R 192 189 01:50:34 55 N 5.87 0.7 Y 193 189 01:50:40 5 N 20.59 10.0 R 194 189 01:50:43 133 S 9.00 0.8 R 195 189 01:51:09 405 S 4.03 15.0 R 196 190 01:51:09 5 N 33.20 0.2 Y 197 190 01:52:09 5 N 33.20 0.2 R 198 190 01:52:19 5 N 33.00 0.5 Y 199 190 01:53:09 5 N 32.70 0.2 R 200 190 01:53:19 5 N 32.50 0.5 Y 201 190 01:54:09 5 N 32.50 1.0 Y 202 190 01:55:09 5 N 32.50 1.5 Y 203 190 01:56:09 5 N 32.50 0.5 R 204 190 01:57:09 5 N 32.50 1.5 R 205 190 01:57:19 5 S 33.25 0.1 Y 206 190 01:58:09 5 N 31.00 1.0 Y 207 190 01:58:09 5 N 31.00 1.5 Y 208 190 01:59:09 5 N 31.00 2.0 Y 209 190 02:00:09 5 N 31.00 0.5 R 210 190 02:00:09 5 N 31.00 1.0 R 211 190 02:01:09 55 N 10.40 0.5 Y 212 190 02:01:09 5 N 28.50 0.5 Y 213 190 02:01:09 5 N 29.00 0.5 Y 214 190 02:01:39 55 S 10.84 0.5 Y 215 190 02:02:09 5 N 28.50 1.0 Y 216 190 02:03:09 5 N 28.50 1.5 Y 217 190 02:04:19 55 N 10.40 1.0 Y 218 190 02:04:49 55 S 10.84 1.0 Y 219 190 02:05:09 5 N 31.00 1.5 R 220 190 02:06:09 5 N 31.00 2.0 R 221 190 02:07:09 5 N 28.50 2.0 Y 222 190 02:08:09 5 N 31.00 2.5 R 223 190 02:09:19 261 N 0.50 0.2 Y 224 190 02:09:49 261 S 0.90 0.2 Y 225 190 02:11:09 5 N 28.50 2.5 Y 226 190 02:12:09 55 N 10.40 1.0 Y 227 190 02:12:39 55 S 10.84 1.0 Y 228 189 02:14:09 405 S 4.03 0.2 Y 229 190 02:14:09 5 N 28.50 0.5 R 230 189 02:14:19 405 N 2.35 0.2 Y 231 189 02:14:39 405 S 4.03 0.5 Y 232 189 02:14:49 405 N 2.35 0.5 Y 233 189 02:15:09 405 S 4.03 1.0 Y 234 189 02:15:19 405 N 2.35 1.0 Y 235 189 02:15:39 405 S 4.03 0.2 G 236 189 02:15:49 405 N 2.35 1.5 Y 237 189 02:16:09 405 S 5.03 1.0 Y 238 190 02:16:09 5 N 28.50 0.5 R 239 189 02:16:10 5 N 20.59 0.2 Y 240 189 02:16:19 405 N 2.35 1.0 G 241 189 02:16:39 405 S 4.03 0.5 G 242 189 02:16:40 5 N 20.59 0.5 Y 243 189 02:16:43 133 S 9.00 0.8 G 244 189 02:17:09 405 S 6.03 1.0 Y 245 189 02:17:10 5 N 20.59 12.0 Y 246 189 02:17:19 405 N 2.35 1.5 G 247 189 02:17:39 405 S 4.03 1.0 G 248 189 02:17:40 5 N 20.59 1.0 Y 249 189 02:17:50 5 N 21.25 0.1 G 250 189 02:18:09 405 S 7.03 1.0 Y 251 189 02:18:10 5 N 20.59 1.5 Y 252 189 02:18:39 405 S 4.03 1.5 G 253 189 02:18:40 5 N 20.59 0.2 G 254 191 02:19:02 73 S 27.20 0.2 Y 255 189 02:19:09 405 S 8.03 1.0 Y 256 189 02:19:10 5 N 19.50 1.0 Y 257 189 02:19:39 405 S 4.03 2.0 G 258 189 02:19:40 5 N 20.59 0.5 G 259 189 02:20:09 405 S 9.03 1.0 Y 260 189 02:20:10 5 N 18.50 1.0 Y 261 189 02:20:39 405 S 4.03 2.5 G 262 189 02:20:40 5 N 20.59 1.0 G 263 191 02:21:02 73 S 27.20 0.8 Y 264 189 02:21:09 405 S 10.03 1.0 Y 265 189 02:21:10 5 N 17.50 1.0 Y 266 189 02:21:39 405 S 4.03 3.0 G 267 189 02:21:40 5 N 20.59 1.5 G 268 189 02:22:09 405 S 11.03 1.0 Y 269 189 02:22:10 5 N 16.50 1.0 Y 270 189 02:22:39 405 S 4.03 4.0 G 271 189 02:22:40 5 N 20.59 2.0 G 272 189 02:23:09 405 S 12.03 1.0 Y 273 189 02:23:10 5 N 15.50 1.0 Y 274 189 02:23:39 405 S 4.03 5.0 G 275 189 02:23:40 5 N 20.59 2.0 G 276 191 02:24:02 73 S 27.20 0.2 R 277 189 02:24:09 405 S 13.03 1.0 Y 278 189 02:24:10 5 N 14.50 1.0 Y 279 189 02:24:34 55 N 5.87 0.2 G 280 189 02:24:39 405 S 4.03 6.0 G 281 189 02:24:40 5 N 20.59 3.0 G 282 189 02:24:49 405 S 19.03 1.0 Y 283 191 02:25:02 73 N 26.70 0.2 Y 284 189 02:25:09 405 S 14.03 1.0 Y 285 189 02:25:10 5 N 13.50 1.0 Y 286 189 02:25:39 405 S 4.03 7.0 G 287 189 02:25:40 5 N 20.59 4.0 G 288 191 02:26:02 73 S 27.20 0.8 R 289 189 02:26:09 405 S 14.03 1.0 Y 290 189 02:26:10 5 N 12.50 1.0 Y 291 189 02:26:39 405 S 4.03 7.0 G 292 189 02:26:40 5 N 20.59 4.0 G 293 189 02:27:09 405 S 15.03 1.0 Y 294 190 02:27:09 5 N 33.20 0.2 Y 295 189 02:27:10 5 N 11.50 1.0 Y 296 189 02:27:39 405 S 4.03 9.0 G 297 189 02:27:40 5 N 20.59 4.0 G 298 189 02:28:09 405 S 16.03 1.0 Y 299 189 02:28:39 405 S 4.03 10.0 G 300 189 02:28:40 5 N 20.59 5.0 G 301 189 02:29:09 405 S 17.03 1.0 Y 302 190 02:29:09 5 N 33.20 0.5 Y 303 189 02:29:34 55 N 5.87 0.8 G 304 189 02:29:39 405 S 4.03 12.0 G 305 189 02:29:40 5 N 20.59 6.0 G 306 189 02:29:49 405 S 20.03 1.0 Y 307 189 02:30:09 405 S 18.03 1.0 Y 308 189 02:30:39 405 S 4.03 13.0 G 309 189 02:30:40 5 N 20.59 7.0 G 310 189 02:31:09 405 S 19.03 1.0 Y 311 190 02:31:09 5 N 33.20 0.7 Y 312 189 02:31:39 405 S 4.03 15.0 G 313 189 02:31:40 5 N 20.59 8.0 G 314 189 02:32:09 405 S 20.03 1.0 Y 315 189 02:32:39 405 S 4.03 16.0 G 316 189 02:32:39 405 S 4.03 18.0 G 317 189 02:32:40 5 N 20.59 9.0 G 318 190 02:33:09 5 N 33.20 1.0 Y 319 189 02:33:40 5 N 20.59 10.0 G 320 189 02:34:40 5 N 20.59 11.0 G 321 190 02:35:09 5 N 33.20 1.5 Y 322 191 02:36:02 73 N 26.70 0.2 G 323 191 02:37:02 73 S 27.20 0.2 Y 324 190 02:37:09 5 N 33.20 2.0 Y 325 191 02:39:02 73 S 27.20 0.8 Y 326 190 02:39:09 5 N 33.20 2.5 Y 327 190 02:41:09 5 N 33.20 3.0 Y 328 190 02:46:09 5 N 33.20 0.2 G 329 190 02:46:39 5 N 33.20 0.5 G 330 190 02:46:49 5 S 33.25 0.1 G 331 191 02:47:02 73 S 27.20 0.2 G 332 190 02:47:09 5 N 33.20 0.7 G 333 190 02:47:39 5 N 33.20 1.0 G 334 190 02:48:09 5 N 33.20 1.5 G 335 190 02:48:39 5 N 33.20 2.0 G 336 191 02:49:02 73 S 27.20 0.8 G 337 190 02:49:09 5 N 31.00 2.0 Y 338 190 02:49:39 5 N 33.20 2.5 G 339 190 02:49:39 5 N 33.20 6.0 G 340 190 02:50:09 5 N 30.00 2.0 Y 341 190 02:51:09 55 N 10.40 1.5 G 342 190 02:51:19 261 N 0.50 0.2 G 343 190 02:51:39 55 S 10.84 1.5 G 344 190 02:51:49 261 S 0.90 0.2 G
Note: See TracChangeset
for help on using the changeset viewer.
