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;
}
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);
}
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();
}
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);
}
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;
}
Aggregations