package de.swingbe.grb_use; import org.onebusway.gtfs_realtime.exporter.GtfsRealtimeLibrary; import org.onebusway.gtfs_realtime.exporter.GtfsRealtimeMutableProvider; import com.google.transit.realtime.GtfsRealtime.FeedEntity; import com.google.transit.realtime.GtfsRealtime.FeedMessage; import com.google.transit.realtime.GtfsRealtime.Position; import com.google.transit.realtime.GtfsRealtime.VehiclePosition; import com.google.transit.realtime.GtfsRealtime.TripDescriptor; import com.google.transit.realtime.GtfsRealtime.VehicleDescriptor; public class Main { private static GtfsRealtimeMutableProvider gtfsRealtimeMutableProvider; public static void main(String[] args) { System.out.println("main() started..."); //GtfsRealtime.FeedMessage msg; FeedMessage.Builder vehiclePositions = GtfsRealtimeLibrary.createFeedMessageBuilder(); /** * We construct a TripDescriptor and VehicleDescriptor, which will be used * in both trip updates and vehicle positions to identify the trip and * vehicle. Ideally, we would have a trip id to use for the trip * descriptor, but the SEPTA api doesn't include it, so we settle for a * route id instead. */ TripDescriptor.Builder tripDescriptor = TripDescriptor.newBuilder(); tripDescriptor.setRouteId("tripDescriptor:RouteId"); VehicleDescriptor.Builder vehicleDescriptor = VehicleDescriptor.newBuilder(); vehicleDescriptor.setId("vehicleDescriptor:Id"); /** * To construct our VehiclePosition, we create a position for the vehicle. * We add the position to a VehiclePosition builder, along with the trip * and vehicle descriptors. */ /** * Brunswick */ double lat = 52.268875; double lon = 10.526770; Position.Builder position = Position.newBuilder(); position.setLatitude((float) lat); position.setLongitude((float) lon); VehiclePosition.Builder vehiclePosition = VehiclePosition.newBuilder(); vehiclePosition.setPosition(position); vehiclePosition.setTrip(tripDescriptor); vehiclePosition.setVehicle(vehicleDescriptor); /** * Create a new feed entity to wrap the vehicle position and add it to the * GTFS-realtime vehicle positions feed. */ FeedEntity.Builder vehiclePositionEntity = FeedEntity.newBuilder(); vehiclePositionEntity.setId("vehiclePositionEntity:Id"); vehiclePositionEntity.setVehicle(vehiclePosition); vehiclePositions.addEntity(vehiclePositionEntity); /** * Build out the final GTFS-realtime feed messagse and save them. */ gtfsRealtimeMutableProvider.setVehiclePositions(vehiclePositions.build()); System.out.println("main() done."); return; } }