/** * Define the place of the speedBits in the edge flags for car. */ @Override public int defineWayBits(int index, int shift) { // first two bits are reserved for route handling in superclass shift = super.defineWayBits(index, shift); speedEncoder = new EncodedDoubleValue("Speed", shift, speedBits, speedFactor, defaultSpeedMap.get("secondary"), maxPossibleSpeed); return shift + speedEncoder.getBits(); }
@Override public int defineWayBits(int index, int shift) { shift = super.defineWayBits(index, shift); reverseSpeedEncoder = new EncodedDoubleValue("Reverse Speed", shift, speedBits, speedFactor, getHighwaySpeed("cycleway"), maxPossibleSpeed); shift += reverseSpeedEncoder.getBits(); return shift; }
@Test(expected = IllegalStateException.class) public void testIllegalFactorMaxValueCombination() { new EncodedDoubleValue("illegalcombination", 6, 2, 2, 0, 3); }
@Override public int defineWayBits(int index, int shift) { // first two bits are reserved for route handling in superclass shift = super.defineWayBits(index, shift); // larger value required - ferries are faster than pedestrians speedEncoder = new EncodedDoubleValue("Speed", shift, speedBits, speedFactor, MEAN_SPEED, maxPossibleSpeed); shift += speedEncoder.getBits(); priorityWayEncoder = new EncodedValue("PreferWay", shift, 3, 1, 0, 7); shift += priorityWayEncoder.getBits(); return shift; }
/** * Define the place of the speedBits in the edge flags for car. */ @Override public int defineWayBits(int index, int shift) { // first two bits are reserved for route handling in superclass shift = super.defineWayBits(index, shift); reverseSpeedEncoder = new EncodedDoubleValue("Reverse Speed", shift, speedBits, speedFactor, defaultSpeedMap.get("secondary"), maxPossibleSpeed); shift += reverseSpeedEncoder.getBits(); priorityWayEncoder = new EncodedValue("PreferWay", shift, 3, 1, 3, 7); shift += priorityWayEncoder.getBits(); curvatureEncoder = new EncodedValue("Curvature", shift, 4, 1, 10, 10); shift += curvatureEncoder.getBits(); return shift; }
@Override public int defineWayBits(int index, int shift) { // first two bits are reserved for route handling in superclass shift = super.defineWayBits(index, shift); speedEncoder = new EncodedDoubleValue("Speed", shift, speedBits, speedFactor, highwaySpeeds.get("cycleway"), maxPossibleSpeed); shift += speedEncoder.getBits(); unpavedBit = 1L << shift++; // 2 bits wayTypeEncoder = new EncodedValue("WayType", shift, 2, 1, 0, 3, true); shift += wayTypeEncoder.getBits(); priorityWayEncoder = new EncodedValue("PreferWay", shift, 3, 1, 0, 7); shift += priorityWayEncoder.getBits(); return shift; }
carFwdMaxspeedEncoder = new EncodedDoubleValue("car fwd maxspeed", shift, speedBits, speedFactor, 0, maxPossibleSpeed, true); shift += carFwdMaxspeedEncoder.getBits(); carBwdMaxspeedEncoder = new EncodedDoubleValue("car bwd maxspeed", shift, speedBits, speedFactor, 0, maxPossibleSpeed, true); shift += carBwdMaxspeedEncoder.getBits(); heightEncoder = new EncodedDoubleValue("height restriction", shift, 7, 0.1, 0, 12, true); shift += heightEncoder.getBits(); weightEncoder = new EncodedDoubleValue("weight restriction", shift, 10, 0.1, 0, 100, true); shift += weightEncoder.getBits(); widthEncoder = new EncodedDoubleValue("width restriction", shift, 6, 0.1, 0, 6, true); shift += widthEncoder.getBits();
@Test public void testUnsignedRightShift_issue417() { EncodedDoubleValue speedEncoder = new EncodedDoubleValue("Speed", 56, 8, 1, 30, 255); Long flags = -72057594037927936L; assertEquals(255, speedEncoder.getDoubleValue(flags), 0.01); } }
@Test public void testSetDoubleValue() { EncodedDoubleValue instance = new EncodedDoubleValue("test", 6, 10, 0.01, 5, 10); assertEquals(10.12, instance.getDoubleValue(instance.setDoubleValue(0, 10.12)), 1e-4); }
@Override public int defineWayBits(int index, int shift) { shift = super.defineWayBits(index, shift); // I have to set super.speedEncoder even though // super already knows speedBits and speedFactor because they are constructor parameters. speedEncoder = new EncodedDoubleValue("Speed", shift, speedBits, speedFactor, 0, 0); shift += speedEncoder.getBits(); time = new EncodedValue("time", shift, 17, 1.0, 0, 24*60*60); shift += time.getBits(); transfers = new EncodedValue("transfers", shift, 1, 1.0, 0, 1); shift += transfers.getBits(); validityId = new EncodedValue("validityId", shift, 20, 1.0, 0, 1048575); shift += validityId.getBits(); GtfsStorage.EdgeType[] edgeTypes = GtfsStorage.EdgeType.values(); type = new EncodedValue("type", shift, 4, 1.0, GtfsStorage.EdgeType.HIGHWAY.ordinal(), edgeTypes[edgeTypes.length-1].ordinal()); shift += type.getBits(); return shift; }
@Test public void testMaxValue() { EncodedDoubleValue instance1 = new EncodedDoubleValue("test1", 0, 8, 0.5, 60, 100); long flags = instance1.setDoubleValue(0, instance1.getMaxValue()); assertEquals(100, instance1.getDoubleValue(flags), 1e-1); CarFlagEncoder carEncoder = new CarFlagEncoder(10, 0.5, 0); new EncodingManager(carEncoder); ReaderWay way = new ReaderWay(1); way.setTag("highway", "motorway_link"); way.setTag("maxspeed", "70 mph"); flags = carEncoder.handleWayTags(way, 1, 0); // double speed = AbstractFlagEncoder.parseSpeed("70 mph"); flags = carEncoder.reverseFlags(flags); assertEquals(101.5, carEncoder.getSpeed(flags), 1e-1); }
/** * Define the place of the speedBits in the edge flags for car. */ @Override public int defineWayBits(int index, int shift) { // first two bits are reserved for route handling in superclass shift = super.defineWayBits(index, shift); speedEncoder = new EncodedDoubleValue("Speed", shift, speedBits, speedFactor, defaultSpeedMap.get("secondary"), maxPossibleSpeed); return shift + speedEncoder.getBits(); }
/** * Define the place of the speedBits in the edge flags for car. */ @Override public int defineWayBits(int index, int shift) { // first two bits are reserved for route handling in superclass shift = super.defineWayBits(index, shift); speedEncoder = new EncodedDoubleValue("Speed", shift, speedBits, speedFactor, defaultSpeedMap.get("secondary"), maxPossibleSpeed); return shift + speedEncoder.getBits(); }
/** * Define the place of the speedBits in the edge flags for car. */ @Override public int defineWayBits( int index, int shift ) { // first two bits are reserved for route handling in superclass shift = super.defineWayBits(index, shift); speedEncoder = new EncodedDoubleValue("Speed", shift, speedBits, speedFactor, defaultSpeedMap.get("secondary"), maxPossibleSpeed); return shift + speedEncoder.getBits(); }
@Override public int defineWayBits( int index, int shift ) { shift = super.defineWayBits(index, shift); reverseSpeedEncoder = new EncodedDoubleValue("Reverse Speed", shift, speedBits, speedFactor, getHighwaySpeed("cycleway"), maxPossibleSpeed); shift += reverseSpeedEncoder.getBits(); return shift; }
@Override public int defineWayBits(int index, int shift) { shift = super.defineWayBits(index, shift); reverseSpeedEncoder = new EncodedDoubleValue("Reverse Speed", shift, speedBits, speedFactor, getHighwaySpeed("cycleway"), maxPossibleSpeed); shift += reverseSpeedEncoder.getBits(); return shift; }
@Override public int defineWayBits(int index, int shift) { shift = super.defineWayBits(index, shift); reverseSpeedEncoder = new EncodedDoubleValue("Reverse Speed", shift, speedBits, speedFactor, getHighwaySpeed("cycleway"), maxPossibleSpeed); shift += reverseSpeedEncoder.getBits(); return shift; }
@Override public int defineWayBits(int index, int shift) { // first two bits are reserved for route handling in superclass shift = super.defineWayBits(index, shift); // larger value required - ferries are faster than pedestrians speedEncoder = new EncodedDoubleValue("Speed", shift, speedBits, speedFactor, MEAN_SPEED, maxPossibleSpeed); shift += speedEncoder.getBits(); priorityWayEncoder = new EncodedValue("PreferWay", shift, 3, 1, 0, 7); shift += priorityWayEncoder.getBits(); return shift; }
@Override public int defineWayBits( int index, int shift ) { // first two bits are reserved for route handling in superclass shift = super.defineWayBits(index, shift); // larger value required - ferries are faster than pedestrians speedEncoder = new EncodedDoubleValue("Speed", shift, speedBits, speedFactor, MEAN_SPEED, maxPossibleSpeed); shift += speedEncoder.getBits(); priorityWayEncoder = new EncodedValue("PreferWay", shift, 3, 1, 0, 7); shift += priorityWayEncoder.getBits(); return shift; }
@Override public int defineWayBits(int index, int shift) { // first two bits are reserved for route handling in superclass shift = super.defineWayBits(index, shift); // larger value required - ferries are faster than pedestrians speedEncoder = new EncodedDoubleValue("Speed", shift, speedBits, speedFactor, MEAN_SPEED, maxPossibleSpeed); shift += speedEncoder.getBits(); priorityWayEncoder = new EncodedValue("PreferWay", shift, 3, 1, 0, 7); shift += priorityWayEncoder.getBits(); return shift; }