public ActionResult DeleteConfirmed(Guid id) { TrafficSpeed TrafficSpeed = db.TrafficSpeeds.Single(r => r.TrafficSpeedID == id); db.TrafficSpeeds.DeleteOnSubmit(TrafficSpeed); db.SubmitChanges(); return(RedirectToAction("Index")); }
private void extractTrafficDataFromSiteMeasurements(SiteMeasurements measurementsForSite) { String siteGUID = measurementsForSite.measurementSiteReference.id; log.Info("TMU site ID: " + siteGUID); log.Info("Number of measurements for TMU site: " + measurementsForSite.measuredValue.Length); // There can be a number of measured values reported for the site foreach (_SiteMeasurementsIndexMeasuredValue measuredValue in measurementsForSite.measuredValue) { MeasuredValue mv = measuredValue.measuredValue; BasicData basicData = mv.basicData; // The index number of the site measurement is important - as this // relates the data // to the NTIS reference model, which adds context to the value // (e.g. lane information, // or vehicle characteristics) int index = measuredValue.index; // Determine what class (type) of traffic data is contained in the // basic data if (basicData.GetType() == typeof(TrafficFlow)) { TrafficFlow flow = (TrafficFlow)basicData; log.Info("[Measurement Index : " + index + "] Vehicle Flow Rate: " + flow.vehicleFlow.vehicleFlowRate); if (flow.vehicleFlow.dataError) { MultilingualStringValue[] errorReason = flow.vehicleFlow.reasonForDataError.values; foreach (MultilingualStringValue value in errorReason) { log.Info(" Data in error. Reason: \"" + value.Value + "\""); } } } else if (basicData.GetType() == typeof(TrafficSpeed)) { TrafficSpeed speed = (TrafficSpeed)basicData; log.Info("[Measurement Index : " + index + "] Average Speed: " + speed.averageVehicleSpeed.speed); } else if (basicData.GetType() == typeof(TrafficHeadway)) { TrafficHeadway headway = (TrafficHeadway)basicData; log.Info("[Measurement Index : " + index + "] Average Headway: " + headway.averageTimeHeadway.duration); } else if (basicData.GetType() == typeof(TrafficConcentration)) { TrafficConcentration concentration = (TrafficConcentration)basicData; log.Info("[Measurement Index : " + index + "] Traffic Occupancy (%): " + concentration.occupancy.percentage); } else { log.Error("Unexpected traffic data type contained in publication: " + basicData.GetType().Name.ToString()); } } }
private void processSituation(ElaboratedData elaboratedData, DateTime publicationTime, DateTime timeDefault) { LocationByReference locationByReference = null; BasicData basicData = elaboratedData.basicData; if (basicData.GetType() == typeof(TrafficHeadway)) { TrafficHeadway data = (TrafficHeadway)basicData; locationByReference = (LocationByReference)data.pertinentLocation; } else if (basicData.GetType() == typeof(TrafficFlow)) { TrafficFlow data = (TrafficFlow)basicData; locationByReference = (LocationByReference)data.pertinentLocation; } else if (basicData.GetType() == typeof(TrafficConcentration)) { TrafficConcentration data = (TrafficConcentration)basicData; locationByReference = (LocationByReference)data.pertinentLocation; } else if (basicData.GetType() == typeof(TrafficSpeed)) { TrafficSpeed data = (TrafficSpeed)basicData; locationByReference = (LocationByReference)data.pertinentLocation; } else if (basicData.GetType() == typeof(TravelTimeData)) { TravelTimeData data = (TravelTimeData)basicData; locationByReference = (LocationByReference)data.pertinentLocation; } else { logWrapper.Warning("basicData instance of -" + basicData.GetType().ToString()); } String linkIdentifier = null; if (locationByReference != null) { linkIdentifier = basicData.GetType().ToString() + locationByReference.predefinedLocationReference.id; if (logWrapper.isTrace()) { logWrapper.Trace("Processing Fused Sensor Only Identifier(" + linkIdentifier + ")"); } FusedSensorOnlyData fusedSensorOnlyData = new FusedSensorOnlyData(linkIdentifier, publicationTime, timeDefault, elaboratedData); fusedSensorOnlyDataStore.updateData(fusedSensorOnlyData); } else { logWrapper.Error("Failed to Process elaboratedData, " + elaboratedData.ToString()); } }
// // GET: /AdminArea/Freeways/Edit/5 public ActionResult Edit(Guid id) { TrafficSpeed TrafficSpeed = db.TrafficSpeeds.Single(r => r.TrafficSpeedID == id); if (TrafficSpeed == null) { return(HttpNotFound()); } return(View(TrafficSpeed)); }
private void UpdateTrafficChart() { long maxSpeedValue = 0; rawInboundPoints.Clear(); rawOutboundPoints.Clear(); kcpInboundPoints.Clear(); kcpOutboundPoints.Clear(); foreach (TrafficLog item in controller.trafficLogList) { rawInboundPoints.Add(item.rawSpeed.inbound); rawOutboundPoints.Add(item.rawSpeed.outbound); kcpInboundPoints.Add(item.kcpSpeed.inbound); kcpOutboundPoints.Add(item.kcpSpeed.outbound); maxSpeedValue = Math.Max(maxSpeedValue, Math.Max( Math.Max(item.rawSpeed.inbound, item.rawSpeed.outbound), Math.Max(item.kcpSpeed.inbound, item.kcpSpeed.outbound) ) ); } TrafficSpeed maxSpeed = new TrafficSpeed(maxSpeedValue); TrafficLog last = controller.trafficLogList.Last.Value; SpeedStatusLabel.Text = SpeedStatusLabel.ToolTipText = string.Format(I18N.GetString("Raw: [In {0}, Out {1}], KCP: [In {2}, Out {3}]"), new TrafficSpeed(last.rawSpeed.inbound), new TrafficSpeed(last.rawSpeed.outbound), new TrafficSpeed(last.kcpSpeed.inbound), new TrafficSpeed(last.kcpSpeed.outbound)); for (int i = 0; i < rawInboundPoints.Count; i++) { rawInboundPoints[i] /= maxSpeed.scale; rawOutboundPoints[i] /= maxSpeed.scale; kcpInboundPoints[i] /= maxSpeed.scale; kcpOutboundPoints[i] /= maxSpeed.scale; } TrafficChart.Series[0].Points.DataBindY(rawInboundPoints); TrafficChart.Series[1].Points.DataBindY(rawOutboundPoints); TrafficChart.Series[2].Points.DataBindY(kcpInboundPoints); TrafficChart.Series[3].Points.DataBindY(kcpOutboundPoints); TrafficChart.Series[0].ToolTip = "#SERIESNAME #VALY{F2} " + maxSpeed.unit; TrafficChart.Series[1].ToolTip = "#SERIESNAME #VALY{F2} " + maxSpeed.unit; TrafficChart.Series[2].ToolTip = "#SERIESNAME #VALY{F2} " + maxSpeed.unit; TrafficChart.Series[3].ToolTip = "#SERIESNAME #VALY{F2} " + maxSpeed.unit; TrafficChart.ChartAreas[0].AxisY.LabelStyle.Format = "{0:0.##} " + maxSpeed.unit; }
private void extractTrafficDataFromElaboratedData(ElaboratedData dataItem) { // Location is always specified as LocationByReference (referenced to a // single Network Link) LocationByReference location = (LocationByReference)dataItem.basicData.pertinentLocation; log.Info("Data for Network Link: " + location.predefinedLocationReference.id); BasicData basicData = dataItem.basicData; // Determine what class (type) of traffic data is contained in the basic data if (basicData.GetType() == typeof(TrafficSpeed)) { TrafficSpeed speed = (TrafficSpeed)basicData; // There are 2 types of speed data - current and forecast, determined by // whether a measurementOrCalculationTime element exists in the data item. if (speed.measurementOrCalculationTime == null) { log.Info("Fused Average Speed: " + speed.averageVehicleSpeed.speed); log.Info("FVD-Only Average Speed: " + speed.trafficSpeedExtension.speedFvdOnly.speed); } else { log.Info("Fused Average Speed (forecast for " + speed.measurementOrCalculationTime.ToString() + "): " + speed.averageVehicleSpeed.speed); } } else if (basicData.GetType() == typeof(TravelTimeData)) { TravelTimeData travelTimeData = (TravelTimeData)basicData; // There are 2 types of travel time data - current and forecast, // determined by whether a measurementOrCalculationTime element // exists in the data item. if (travelTimeData.measurementOrCalculationTime == null) { log.Info("Travel Time: " + travelTimeData.travelTime.duration); log.Info("Free Flow Travel Time: " + travelTimeData.freeFlowTravelTime.duration); log.Info("Normally Expected Travel Time: " + travelTimeData.normallyExpectedTravelTime.duration); } else { log.Info("Travel Time (forecast for " + travelTimeData.measurementOrCalculationTime.ToString() + "): " + travelTimeData.travelTime.duration); } } else { log.Error("Unexpected traffic data type contained in publication: " + dataItem.GetType().ToString()); } }
public ActionResult Create(TrafficSpeed TrafficSpeed) { if (ModelState.IsValid) { if (!db.TrafficSpeeds.Any(p => p.TrafficSpeed1 == TrafficSpeed.TrafficSpeed1)) { //if TrafficSpeed does not exist yet TrafficSpeed.TrafficSpeedID = Guid.NewGuid(); db.TrafficSpeeds.InsertOnSubmit(TrafficSpeed); db.SubmitChanges(); } return(RedirectToAction("Index")); } return(View(TrafficSpeed)); }
private void extractTrafficDataFromElaboratedData(ElaboratedData dataItem) { // Location is always specified as LocationByReference (referenced to a // single Network Link) LocationByReference location = (LocationByReference)dataItem.basicData.pertinentLocation; log.Info("Data for Network Link: " + location.predefinedLocationReference.id); BasicData basicData = dataItem.basicData; // Determine what class (type) of traffic data is contained in the basic // data if (basicData.GetType() == typeof(TrafficSpeed)) { TrafficSpeed speed = (TrafficSpeed)basicData; log.Info("Average Speed: " + speed.averageVehicleSpeed.speed); } else if (basicData.GetType() == typeof(TravelTimeData)) { TravelTimeData travelTimeData = (TravelTimeData)basicData; log.Info("Travel Time: " + travelTimeData.travelTime.duration); log.Info("Free Flow Travel Time: " + travelTimeData.freeFlowTravelTime.duration); log.Info("Normally Expected Travel Time: " + travelTimeData.normallyExpectedTravelTime.duration); } else if (basicData.GetType() == typeof(TrafficFlow)) { TrafficFlow flow = (TrafficFlow)basicData; log.Info("Traffic Flow: " + flow.vehicleFlow.vehicleFlowRate); } else if (basicData.GetType() == typeof(TrafficConcentration)) { TrafficConcentration concentration = (TrafficConcentration)basicData; log.Info("Occupancy (%age): " + concentration.occupancy.percentage); } else if (basicData.GetType() == typeof(TrafficHeadway)) { TrafficHeadway headway = (TrafficHeadway)basicData; log.Info("Headway: " + headway.averageTimeHeadway.duration); } else { log.Error("Unexpected traffic data type contained in publication: " + dataItem.GetType().ToString()); } }
public ActionResult Edit(TrafficSpeed TrafficSpeed) { try { if (ModelState.IsValid) { db.TrafficSpeeds.Attach(TrafficSpeed); db.Refresh(RefreshMode.KeepCurrentValues, TrafficSpeed); db.SubmitChanges(); return(RedirectToAction("Index")); } } catch (Exception ex) { Debug.WriteLine(ex.Message); } return(View(TrafficSpeed)); }