private StopTime doMap(org.onebusaway.gtfs.model.StopTime rhs) { StopTime lhs = new StopTime(); lhs.setTrip(tripMapper.map(rhs.getTrip())); lhs.setStop(stopMapper.map(rhs.getStop())); lhs.setArrivalTime(rhs.getArrivalTime()); lhs.setDepartureTime(rhs.getDepartureTime()); lhs.setTimepoint(rhs.getTimepoint()); lhs.setStopSequence(rhs.getStopSequence()); lhs.setStopHeadsign(rhs.getStopHeadsign()); lhs.setRouteShortName(rhs.getRouteShortName()); lhs.setPickupType(rhs.getPickupType()); lhs.setDropOffType(rhs.getDropOffType()); lhs.setShapeDistTraveled(rhs.getShapeDistTraveled()); lhs.setFarePeriodId(rhs.getFarePeriodId()); // Skip mapping of proxy // private transient StopTimeProxy proxy; if (rhs.getProxy() != null) { throw new IllegalStateException("Did not expect proxy to be set!"); } return lhs; }
private Geometry getHopGeometry(AgencyAndId shapeId, StopTime st0, StopTime st1, Vertex startJourney, Vertex endJourney) { if (shapeId == null || shapeId.getId() == null || shapeId.getId().equals("")) return null; double startDistance = st0.getShapeDistTraveled(); double endDistance = st1.getShapeDistTraveled(); boolean hasShapeDist = st0.isShapeDistTraveledSet() && st1.isShapeDistTraveledSet(); if (hasShapeDist) { ShapeSegmentKey key = new ShapeSegmentKey(shapeId, startDistance, endDistance); LineString geometry = _geometriesByShapeSegmentKey.get(key); if (geometry != null) return geometry; double[] distances = getDistanceForShapeId(shapeId); if (distances != null) { LinearLocation startIndex = getSegmentFraction(distances, startDistance); LinearLocation endIndex = getSegmentFraction(distances, endDistance); LineString line = getLineStringForShapeId(shapeId); LocationIndexedLine lol = new LocationIndexedLine(line); return getSegmentGeometry(shapeId, lol, startIndex, endIndex, startDistance, endDistance); } } LineString line = getLineStringForShapeId(shapeId); LocationIndexedLine lol = new LocationIndexedLine(line); LinearLocation startCoord = lol.indexOf(startJourney.getCoordinate()); LinearLocation endCoord = lol.indexOf(endJourney.getCoordinate()); double distanceFrom = startCoord.getSegmentLength(line); double distanceTo = endCoord.getSegmentLength(line); return getSegmentGeometry(shapeId, lol, startCoord, endCoord, distanceFrom, distanceTo); }
/**** * {@link Collection} Interface ****/ @Override public boolean add(StopTime stopTime) { int index = size; size++; ensureCapacity(size); trips[index] = stopTime.getTrip(); stops[index] = stopTime.getStop(); arrivalTimes[index] = stopTime.getArrivalTime(); departureTimes[index] = stopTime.getDepartureTime(); timepoints[index] = stopTime.getTimepoint(); stopSequences[index] = stopTime.getStopSequence(); stopHeadsigns[index] = stopTime.getStopHeadsign(); routeShortNames[index] = stopTime.getRouteShortName(); pickupTypes[index] = stopTime.getPickupType(); dropOffTypes[index] = stopTime.getDropOffType(); shapeDistTraveled[index] = stopTime.getShapeDistTraveled(); return true; }
/**** * {@link Collection} Interface ****/ @Override public boolean add(StopTime stopTime) { int index = size; size++; ensureCapacity(size); trips[index] = stopTime.getTrip(); stops[index] = stopTime.getStop(); arrivalTimes[index] = stopTime.getArrivalTime(); departureTimes[index] = stopTime.getDepartureTime(); timepoints[index] = stopTime.getTimepoint(); stopSequences[index] = stopTime.getStopSequence(); stopHeadsigns[index] = stopTime.getStopHeadsign(); routeShortNames[index] = stopTime.getRouteShortName(); pickupTypes[index] = stopTime.getPickupType(); dropOffTypes[index] = stopTime.getDropOffType(); shapeDistTraveled[index] = stopTime.getShapeDistTraveled(); return true; }
private StopTime cloneStopTime(StopTime original) { StopTime anew = new StopTime(); anew.setTrip(original.getTrip()); anew.setStopSequence(original.getStopSequence()); anew.setStopHeadsign(original.getStopHeadsign()); anew.setStop(original.getStop()); anew.setRouteShortName(original.getRouteShortName()); anew.setPickupType(original.getPickupType()); anew.setId(original.getId()); anew.setDropOffType(original.getDropOffType()); if(original.isShapeDistTraveledSet()) anew.setShapeDistTraveled(original.getShapeDistTraveled()); if(original.isArrivalTimeSet()) anew.setArrivalTime(original.getArrivalTime()); if(original.isDepartureTimeSet()) anew.setDepartureTime(original.getDepartureTime()); return anew; } }