Search in sources :

Example 16 with Road

use of il.ac.technion.cs.yp.btw.classes.Road in project BTW by TechnionYearlyProject.

the class QueryAllRoads method arrangeRecievedData.

/*
     * @author Sharon Hadar
     * @Date 21/01/2018
     * construct a road by the information recieved from the data base
     * */
@Override
public Set<Road> arrangeRecievedData(ResultSet resultSet) {
    Set<Road> roads = new HashSet();
    try {
        while (resultSet.next()) {
            String nameID = resultSet.getString("nameID");
            double cord1x = resultSet.getDouble("cord1x");
            double cord2x = resultSet.getDouble("cord2x");
            double cord1y = resultSet.getDouble("cord1y");
            double cord2y = resultSet.getDouble("cord2y");
            int length = resultSet.getInt("length");
            int secStart = resultSet.getInt("secStart");
            int secEnd = resultSet.getInt("secEnd");
            long overload = resultSet.getLong("overload");
            String myStreet = nameID.split("st")[0];
            Point sourceCrossroadId = new PointImpl(cord1x, cord1y);
            Point destinationCrossroadId = new PointImpl(cord2x, cord2y);
            Road road = new DataRoad(nameID, length, myStreet, sourceCrossroadId, destinationCrossroadId, secStart, secEnd, overload, mapName);
            roads.add(road);
        }
    } catch (SQLException e) {
        logger.error("query all roads has failed");
    }
    return roads;
}
Also used : SQLException(java.sql.SQLException) Road(il.ac.technion.cs.yp.btw.classes.Road) DataRoad(il.ac.technion.cs.yp.btw.db.DataObjects.DataRoad) DataRoad(il.ac.technion.cs.yp.btw.db.DataObjects.DataRoad) Point(il.ac.technion.cs.yp.btw.classes.Point) Point(il.ac.technion.cs.yp.btw.classes.Point) PointImpl(il.ac.technion.cs.yp.btw.classes.PointImpl) HashSet(java.util.HashSet)

Example 17 with Road

use of il.ac.technion.cs.yp.btw.classes.Road in project BTW by TechnionYearlyProject.

the class QueryStreet method arrangeRecievedData.

/*
     * @author Sharon Hadar
     * @Date 21/01/2018
     * construct a street from the result of the data base*/
@Override
public Street arrangeRecievedData(ResultSet resultSet) {
    Set<Road> roads = new HashSet();
    try {
        while (resultSet.next()) {
            String nameID = resultSet.getString("nameID");
            int cord1x = resultSet.getInt("cord1x");
            int cord2x = resultSet.getInt("cord2x");
            int cord1y = resultSet.getInt("cord1y");
            int cord2y = resultSet.getInt("cord2y");
            int length = resultSet.getInt("length");
            int secStart = resultSet.getInt("secStart");
            int secEnd = resultSet.getInt("secEnd");
            long overload = resultSet.getLong("overload");
            String myStreet = nameID.split("st")[0];
            Point sourceCrossroadId = new PointImpl(cord1x, cord1y);
            Point destinationCrossroadId = new PointImpl(cord2x, cord2y);
            Road road = new DataRoad(nameID, length, myStreet, sourceCrossroadId, destinationCrossroadId, secStart, secEnd, overload, mapName);
            roads.add(road);
        }
    } catch (SQLException e) {
        logger.error("query has failed");
    }
    return new DataStreet(streetName, roads, mapName);
}
Also used : DataStreet(il.ac.technion.cs.yp.btw.db.DataObjects.DataStreet) SQLException(java.sql.SQLException) Road(il.ac.technion.cs.yp.btw.classes.Road) DataRoad(il.ac.technion.cs.yp.btw.db.DataObjects.DataRoad) DataRoad(il.ac.technion.cs.yp.btw.db.DataObjects.DataRoad) Point(il.ac.technion.cs.yp.btw.classes.Point) Point(il.ac.technion.cs.yp.btw.classes.Point) PointImpl(il.ac.technion.cs.yp.btw.classes.PointImpl) HashSet(java.util.HashSet)

Example 18 with Road

use of il.ac.technion.cs.yp.btw.classes.Road in project BTW by TechnionYearlyProject.

the class TestRoadsDataBase method testGetHeuristicDist.

/*
     * @author Sharon Hadar
     * @Date 21/01/2018*/
@Test
public void testGetHeuristicDist() {
    String mapName = "test";
    MainDataBase.openConnection();
    Road aaRoad = RoadsDataBase.getRoad("aa", mapName);
    Road bbRoad = RoadsDataBase.getRoad("bb", mapName);
    BTWWeight dist = aaRoad.getHeuristicDist(bbRoad);
    assert (dist.seconds() == 123123);
    MainDataBase.closeConnection();
}
Also used : Road(il.ac.technion.cs.yp.btw.classes.Road) DataRoad(il.ac.technion.cs.yp.btw.db.DataObjects.DataRoad) BTWWeight(il.ac.technion.cs.yp.btw.classes.BTWWeight) Test(org.junit.Test)

Example 19 with Road

use of il.ac.technion.cs.yp.btw.classes.Road in project BTW by TechnionYearlyProject.

the class TestGeoJasonToJavaParser method testRoadsCorrect.

@Test
public void testRoadsCorrect() {
    GeoJasonToJavaParser parser = new GeoJasonToJavaParser(mapName, geoJson);
    assertNotNull(parser.getRoads());
    Iterator<Road> roadsIterator = parser.getRoads().iterator();
    DataRoad dataRoad = (DataRoad) (roadsIterator.next());
    assertNotNull(dataRoad);
    assertEquals("31 StreetR", dataRoad.getName());
    assertEquals(316, dataRoad.getRoadLength());
    assertEquals("31", dataRoad.getStreetName());
    assertEquals(0.01635651734518988, dataRoad.getSourceCrossroadPosition().getCoordinateX(), 0.0000000000000000000001);
    assertEquals(0.008806996592190556, dataRoad.getSourceCrossroadPosition().getCoordinateY(), 0.0000000000000000000001);
    assertEquals(0.014402113034462271, dataRoad.getDestinationCrossroadPosition().getCoordinateX(), 0.0000000000000000000001);
    assertEquals(0.006739623239087599, dataRoad.getDestinationCrossroadPosition().getCoordinateY(), 0.0000000000000000000001);
}
Also used : Road(il.ac.technion.cs.yp.btw.classes.Road) DataCrossRoad(il.ac.technion.cs.yp.btw.db.DataObjects.DataCrossRoad) DataRoad(il.ac.technion.cs.yp.btw.db.DataObjects.DataRoad) DataRoad(il.ac.technion.cs.yp.btw.db.DataObjects.DataRoad) Test(org.junit.Test)

Example 20 with Road

use of il.ac.technion.cs.yp.btw.classes.Road in project BTW by TechnionYearlyProject.

the class BTWGraphInfo method calculateMinimumGraph.

private static Graph<Road, DefaultWeightedEdge> calculateMinimumGraph(BTWDataBase db) {
    logger.debug("Started calculating minimum graph");
    SimpleDirectedWeightedGraph<Road, DefaultWeightedEdge> minimunGraph = new SimpleDirectedWeightedGraph<>(DefaultWeightedEdge.class);
    db.getAllTrafficLights().forEach(trafficLight -> {
        Road src = trafficLight.getSourceRoad();
        Road dst = trafficLight.getDestinationRoad();
        // System.out.println(src.getName());
        // System.out.println(dst.getName());
        minimunGraph.addVertex(src);
        minimunGraph.addVertex(dst);
        DefaultWeightedEdge edge = minimunGraph.addEdge(src, dst);
        minimunGraph.setEdgeWeight(edge, trafficLight.getMinimumWeight().seconds() + src.getMinimumWeight().seconds());
    });
    logger.debug("Finished calculating minimum graph successfully");
    return minimunGraph;
}
Also used : DefaultWeightedEdge(org.jgrapht.graph.DefaultWeightedEdge) Road(il.ac.technion.cs.yp.btw.classes.Road) SimpleDirectedWeightedGraph(org.jgrapht.graph.SimpleDirectedWeightedGraph)

Aggregations

Road (il.ac.technion.cs.yp.btw.classes.Road)21 DataRoad (il.ac.technion.cs.yp.btw.db.DataObjects.DataRoad)10 Test (org.junit.Test)7 Point (il.ac.technion.cs.yp.btw.classes.Point)4 PointImpl (il.ac.technion.cs.yp.btw.classes.PointImpl)4 TrafficLight (il.ac.technion.cs.yp.btw.classes.TrafficLight)4 HashSet (java.util.HashSet)4 SQLException (java.sql.SQLException)3 CityRoad (il.ac.technion.cs.yp.btw.citysimulation.CityRoad)2 Crossroad (il.ac.technion.cs.yp.btw.classes.Crossroad)2 DataCrossRoad (il.ac.technion.cs.yp.btw.db.DataObjects.DataCrossRoad)2 DataTrafficLight (il.ac.technion.cs.yp.btw.db.DataObjects.DataTrafficLight)2 LinkedList (java.util.LinkedList)2 PriorityQueue (java.util.PriorityQueue)2 JsonArray (com.google.gson.JsonArray)1 JsonElement (com.google.gson.JsonElement)1 JsonObject (com.google.gson.JsonObject)1 JsonParser (com.google.gson.JsonParser)1 CityCrossroad (il.ac.technion.cs.yp.btw.citysimulation.CityCrossroad)1 CityTrafficLight (il.ac.technion.cs.yp.btw.citysimulation.CityTrafficLight)1