74 lines
2.8 KiB
Java
74 lines
2.8 KiB
Java
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;
|
|
}
|
|
}
|