Package de.hpi.eworld.simulationstatistic.model

Examples of de.hpi.eworld.simulationstatistic.model.StatInterval


    Value value = Value.valueOf((String) valueBox.getSelectedItem());
    if (dataset == null) {
      return;
    }

    StatInterval interval = dataset.getInterval((Integer) intervalBox.getValue());

    /*
     * iterate over all ways and compute mean values for each way. Each
     * string of continuous lanes will later be drawn as one polygon!
     * Therefore each lane number will have its own mean value.
View Full Code Here


  @Test
  public void testParseFileInputStreamEdge() {
    testParseFileInputStream("./resources/sumo_edge-lane-dump/edge_aggregated__900.xml");
    StatDataset model = StatisticsDataManager.getInstance().getLastDataset();
    //test absolute numbers
    StatInterval interval0 = model.getInterval(0);
    Assert.assertEquals(3, model.numIntervals());
    Assert.assertEquals(12, interval0.numEdges());
   
    //test edge values
    StatEdge edge1 = interval0.getStatEdge("1fi");
    Assert.assertEquals(30.2, edge1.getValue(Value.TRAVELTIME), 0);
    Assert.assertEquals(6329.1, edge1.getValue(Value.SAMPLEDSECONDS), 0);
    Assert.assertEquals(28.3, edge1.getValue(Value.DENSITY), 0);
    Assert.assertEquals(14.15, edge1.getValue(Value.OCCUPANCY), 0);
    Assert.assertEquals(89.0, edge1.getValue(Value.NRSTOPS),0);
    Assert.assertEquals(8.23, edge1.getValue(Value.SPEED), 0);
    Assert.assertEquals(145.0, edge1.getValue(Value.VEHICLESENTERED),0);
    Assert.assertEquals(89.0, edge1.getValue(Value.VEHICLESEMITTED),0);
    Assert.assertEquals(205.0, edge1.getValue(Value.VEHICLESLEFT),0);
   
    /*<edge id="1fi" traveltime="30.20" sampledSeconds="6329.10"
    density="28.30" occupancy="14.15" noStops="89"
    speed="8.23" entered="145" emitted="89" left="205"/>
    */
   
    //test for non-existent edge
    Assert.assertNull(interval0.getStatEdge("not_there"));
   
    //test for edge, that has neither values nor lanes
    //-->should have been ignored on import
    Assert.assertNull(interval0.getStatEdge("dummy"));
   
    //clear the modelmanager
    StatisticsDataManager.getInstance().clear();
  }
View Full Code Here

  @Test
  public void testParseFileInputStreamLane() {
    testParseFileInputStream("./resources/sumo_edge-lane-dump/lane_ aggregated__900.xml");
    StatDataset model = StatisticsDataManager.getInstance().getLastDataset();
    //test absolute numbers
    StatInterval interval0 = model.getInterval(0);
    Assert.assertEquals(3, model.numIntervals());
    Assert.assertEquals(12, interval0.numEdges());
   
    //TODO: test single lane
    StatLane lane1 = interval0.getStatLane("1si_0");
    Assert.assertEquals(51.64, lane1.getValue(Value.TRAVELTIME), 0);
    Assert.assertEquals(2177.05, lane1.getValue(Value.SAMPLEDSECONDS), 0);
    Assert.assertEquals(10.2, lane1.getValue(Value.DENSITY), 0);
    Assert.assertEquals(5.1, lane1.getValue(Value.OCCUPANCY), 0);
    Assert.assertEquals(963, lane1.getValue(Value.NRSTOPS),0);
    Assert.assertEquals(4.59, lane1.getValue(Value.SPEED), 0);
    Assert.assertEquals(44, lane1.getValue(Value.VEHICLESENTERED),0);
    Assert.assertEquals(0, lane1.getValue(Value.VEHICLESEMITTED),0);
    Assert.assertEquals(42, lane1.getValue(Value.VEHICLESLEFT),0);
    /*
     <edge id="1si">
         <lane id="1si_0" traveltime="51.64" sampledSeconds="2177.05"
          density="10.20" occupancy="5.10" noStops="963"
          speed="4.59" entered="44" emitted="0" left="42"/>
         ...
         </edge>
    */
   
    //test edge values
    StatEdge edge1 = interval0.getStatEdge("1fi");
    Assert.assertEquals(1, edge1.numLanes());
    Assert.assertFalse(edge1.hasValues());
    Assert.assertEquals(30.2, edge1.getValue(Value.TRAVELTIME), 0);
    Assert.assertEquals(6329.1, edge1.getValue(Value.SAMPLEDSECONDS), 0);
    Assert.assertEquals(28.3, edge1.getValue(Value.DENSITY), 0);
    Assert.assertEquals(14.15, edge1.getValue(Value.OCCUPANCY), 0);
    Assert.assertEquals(89, edge1.getValue(Value.NRSTOPS),0);
    Assert.assertEquals(8.23, edge1.getValue(Value.SPEED), 0);
    Assert.assertEquals(145, edge1.getValue(Value.VEHICLESENTERED),0);
    Assert.assertEquals(89, edge1.getValue(Value.VEHICLESEMITTED),0);
    Assert.assertEquals(205, edge1.getValue(Value.VEHICLESLEFT),0);
    Assert.assertTrue(edge1.hasValues());
   
    //test normalized edge values
    StatEdge edge2 = interval0.getStatEdge("1si");
    Assert.assertEquals(3, edge2.numLanes());
    Assert.assertFalse(edge2.hasValues());
    Assert.assertEquals(85.97, edge2.getValue(Value.TRAVELTIME), 0.01);
    Assert.assertEquals(5806.67, edge2.getValue(Value.SAMPLEDSECONDS), 0.01);
    Assert.assertEquals(27.21, edge2.getValue(Value.DENSITY), 0.01);
    Assert.assertEquals(13.60, edge2.getValue(Value.OCCUPANCY), 0.01);
    Assert.assertEquals(3607, edge2.getValue(Value.NRSTOPS),0);
    Assert.assertEquals(5.31, edge2.getValue(Value.SPEED), 0.01);
    Assert.assertEquals(68, edge2.getValue(Value.VEHICLESENTERED),0);
    Assert.assertEquals(0, edge2.getValue(Value.VEHICLESEMITTED),0);
    Assert.assertEquals(55, edge2.getValue(Value.VEHICLESLEFT),0);
    Assert.assertTrue(edge2.hasValues());
   
    //TODO:test for non-existent lane
    Assert.assertNull(interval0.getStatLane("not_there_0"));
   
    //test for non-existent edge
    Assert.assertNull(interval0.getStatEdge("not_there"));
   
    //test for edge, that has neither values nor lanes
    //-->should have been ignored on import
    Assert.assertNull(interval0.getStatEdge("dummy"));
   
    //clear the modelmanager
    StatisticsDataManager.getInstance().clear();
  }
View Full Code Here

    String text = "This is model1";
    model1.setDisplayText(text);
    Assert.assertEquals(text, model1.getDisplayText());
   
    //intervals, 'happy path'
    StatInterval interval0 = new StatInterval("interval1", 0, 200);
    StatInterval interval1 = new StatInterval("interval2", 200, 500);
    StatInterval interval2 = new StatInterval("interval3", 500, 1000);
    model1.addInterval(interval0);
    model1.addInterval(interval1);
    model1.addInterval(interval2);
   
    Assert.assertSame(interval0, model1.getInterval(0));
View Full Code Here

    EdgeModel testEdge = null;

    // create 2 dummy models
    StatDataset model1 = new StatDataset();
    model1.setBelongsToCurrentMap(true);
    StatInterval interval1 = new StatInterval("int1", 0, 100);
    model1.addInterval(interval1);
    StatDataset model2 = new StatDataset();
    model2.setBelongsToCurrentMap(true);
    StatInterval interval2 = new StatInterval("int2", 0, 100);
    model2.addInterval(interval2);

    for (ModelElement element : allElements) {
      if (element instanceof WayModel) {
        WayModel way = (WayModel) element;
        //add way to ModelManager
        mm.addModelElement(way);
       
        List<EdgeModel> edges = way.getBackwardEdges();
        edges.addAll(way.getForwardEdges());
        for (EdgeModel edge : edges) {
          // for each edge in the testcase add a StatEdge to the dummy
          // model...
          // with defaults for the values to be tested for (maxspeed, minspeed,
          // street name) and ...
          // ...without lanes (model1)
          StatEdge edge1 = TestCaseUtil.createTestStatEdge(true,
              false, 0, edge.getInternalID());
          edge1.setMaxSpeed(0);
          edge1.setMinSpeed(0);
          edge1.setStreetName(null);
          interval1.addStatEdge(edge1);

          // ...with same number of lanes as the edge has (model2)
          int lanes = edge.getNoOfLanes();
          //however, eWorlds edges have 1 lane by default, SUMOs do not
          lanes = (lanes == 1)? 0: lanes;
          StatEdge edge2 = TestCaseUtil.createTestStatEdge(true,
              true, lanes, edge.getInternalID());
          edge2.setMaxSpeed(0);
          edge2.setMinSpeed(0);
          edge2.setStreetName(null);
          interval2.addStatEdge(edge2);
         
         
          //System.out.println("Lanes   edge:" + edge.getNoOfLanes() +
          //    "statedge:" + edge2.numLanes());
          // also look for an edge, that has all attributes we want to
View Full Code Here

        XYSeries series = new XYSeries(v.text() + " (" + v.unit() + ") ");
        serien.add(series);
        if (fromInt == 0){
          series.add(0, 0);
        }else{
          StatInterval inter = dataset.getInterval(fromInt -1);
          series.add(inter.getEndTime(), inter.getMeanValue(v));
        }
        for (int i = fromInt; i <= toInt; i++) {
          StatInterval inter = dataset.getInterval(i);
          series.add(inter.getEndTime(), inter.getMeanValue(v));
        }
        //series.add(toInt + (lastLength / length), dataset.getInterval(toInt).getMeanValue(v));
      }
    }
View Full Code Here

      return;
    }
    XYSeries serie = new XYSeries(firstParam + " / " + secondParam);
    double SCHWELL_VAL = 0.05;
    for (int i = 0; i < dataset.numIntervals(); i++) {
      StatInterval inter = dataset.getInterval(i);
      for (StatEdge e : inter.getStatEdges()) {
        double firstVal = e.getValue(firstValue);
        double secondVal = e.getValue(secondValue);

        if (firstVal >= SCHWELL_VAL && secondVal >= SCHWELL_VAL) {
          serie.add(firstVal, secondVal);
View Full Code Here

   * Test all variants for interval creation
   */
  @Test
  public void testIntervalCreation() {
    // 'happy path' with lanes
    StatInterval interval1 = new StatInterval("dummy1", 0, 200);
    int lanes = 0;
    // create 100 edges and a random number of lanes, but count
    // the number of lanes
    for (int i = 0; i < 100; i++) {
      // max. 10 lanes per edge, but at least 1
      int tmp = (int) (Math.random() * 9) + 1;
      interval1.addStatEdge(TestCaseUtil.createTestStatEdge(false, true, tmp, null));
      lanes += tmp;
    }
    Assert.assertEquals("dummy1", interval1.getId());
    Assert.assertEquals(0, interval1.getBeginTime());
    Assert.assertEquals(200, interval1.getEndTime());
    Assert.assertEquals(100, interval1.numEdges());
    Assert.assertEquals(100, interval1.getStatEdges().size());
    Assert.assertEquals(lanes, interval1.numLanes());
    Assert.assertEquals(lanes, interval1.getStatLanes().size());

    // 'happy path' without lanes
    StatInterval interval2 = new StatInterval("dummy2", 200, 500);
    for (int i = 0; i < 100; i++) {
      interval2.addStatEdge(TestCaseUtil.createTestStatEdge(false, false, 0, null));
    }
    Assert.assertEquals("dummy2", interval2.getId());
    Assert.assertEquals(200, interval2.getBeginTime());
    Assert.assertEquals(500, interval2.getEndTime());
    Assert.assertEquals(100, interval2.numEdges());
    Assert.assertEquals(100, interval2.getStatEdges().size());
    Assert.assertEquals(0, interval2.numLanes());
    Assert.assertEquals(0, interval2.getStatLanes().size());

    // mixed order of times
    StatInterval interval3 = new StatInterval("dummy3", 1000, 500);
    Assert.assertEquals("dummy3", interval3.getId());
    Assert.assertEquals(500, interval3.getBeginTime());
    Assert.assertEquals(1000, interval3.getEndTime());
  }
View Full Code Here

    Assert.assertEquals(1000, interval3.getEndTime());
  }

  @Test
  public void edgeLaneGetterTest() {
    StatInterval interval1 = new StatInterval("dummy1", 0, 200);

    // setup test case
    StatEdge edge1 = TestCaseUtil.createTestStatEdge(false, false, 0, null);
    StatLane lane10, lane11, lane12;
    try {
      lane10 = TestCaseUtil.createTestStatLane(edge1.getId() + "_0");
      lane11 = TestCaseUtil.createTestStatLane(edge1.getId() + "_1");
      lane12 = TestCaseUtil.createTestStatLane(edge1.getId() + "_2");
      edge1.addStatLane(lane10);
      edge1.addStatLane(lane11);
      edge1.addStatLane(lane12);
      interval1.addStatEdge(edge1);

      StatEdge edge2 = TestCaseUtil.createTestStatEdge(false, false, 0, null);
      StatLane lane20, lane21;
      lane20 = TestCaseUtil.createTestStatLane(edge2.getId() + "_0");
      lane21 = TestCaseUtil.createTestStatLane(edge2.getId() + "_1");
      edge2.addStatLane(lane20);
      edge2.addStatLane(lane21);
      interval1.addStatEdge(edge2);

      // start testing
      Assert.assertEquals(2, interval1.numEdges());
      Assert.assertEquals(5, interval1.numLanes());
      Assert.assertSame(edge1, interval1.getStatEdge(edge1.getId()));
      Assert.assertSame(edge2, interval1.getStatEdge(edge2.getId()));
      Assert.assertSame(lane10, interval1.getStatLane(lane10
          .getExternalId()));
      Assert.assertSame(lane11, interval1.getStatLane(lane11
          .getExternalId()));
      Assert.assertSame(lane12, interval1.getStatLane(lane12
          .getExternalId()));
      Assert.assertSame(lane20, interval1.getStatLane(lane20
          .getExternalId()));
      Assert.assertSame(lane21, interval1.getStatLane(lane21
          .getExternalId()));
    } catch (Exception e) {
      e.printStackTrace();
      Assert.fail("Lane id may be corrupted");
    }
View Full Code Here

    }
  }
 
  @Test
  public void meanValuesTest(){
    StatInterval interval1 = new StatInterval("dummy1", 0, 200);
    StatEdge edge1 = new StatEdge("edge1", 10.0, 200.4, 5.7, 8.3,
        32.5, 4, 7, 2, 9);
    edge1.setMaxSpeed(40.0);
    edge1.setMinSpeed(5.0);
   
    StatEdge edge2 = new StatEdge("edge2", 15.4, 150.9, 7.1, 10.6,
        28.6, 20, 14, 0, 10);
    edge2.setMaxSpeed(30.0);
    edge2.setMinSpeed(0.0);
   
    interval1.addStatEdge(edge1);
    interval1.addStatEdge(edge2);
   
    Assert.assertEquals(12.7, interval1.getMeanValue(Value.TRAVELTIME));
    Assert.assertEquals(175.65, interval1.getMeanValue(Value.SAMPLEDSECONDS));
    Assert.assertEquals(6.4, interval1.getMeanValue(Value.DENSITY));
    Assert.assertEquals(9.45, interval1.getMeanValue(Value.OCCUPANCY));
    Assert.assertEquals(30.55, interval1.getMeanValue(Value.SPEED));
    Assert.assertEquals(12.0, interval1.getMeanValue(Value.NRSTOPS));
    Assert.assertEquals(10.5, interval1.getMeanValue(Value.VEHICLESENTERED));
    Assert.assertEquals(1.0, interval1.getMeanValue(Value.VEHICLESEMITTED));
    Assert.assertEquals(9.5, interval1.getMeanValue(Value.VEHICLESLEFT));
    Assert.assertEquals(35.0, interval1.getMeanValue(Value.MAXSPEED));
    Assert.assertEquals(2.5, interval1.getMeanValue(Value.MINSPEED));
  }
View Full Code Here

TOP

Related Classes of de.hpi.eworld.simulationstatistic.model.StatInterval

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.