Package org.opentrafficsim.imb.kpi
Class IMBSampler
- java.lang.Object
-
- org.opentrafficsim.kpi.sampling.Sampler<GtuData>
-
- org.opentrafficsim.imb.kpi.IMBSampler
-
public class IMBSampler extends Sampler<GtuData>
Copyright (c) 2013-2020 Delft University of Technology, PO Box 5, 2600 AA, Delft, the Netherlands. All rights reserved.
BSD-style license. See OpenTrafficSim License.- Version:
- $Revision$, $LastChangedDate$, by $Author$, initial version 12 okt. 2016
- Author:
- Alexander Verbraeck, Peter Knoppers, Wouter Schakel
-
-
Field Summary
Fields Modifier and Type Field Description protected GtuTypeDatadefaultGtuTypethe default gtu type (for now).protected RouteDatadefaultRoutethe default route (for now).protected java.util.Map<java.lang.String,GtuData>gtusthe gtus.protected java.util.Map<java.lang.String,LaneData>lanesthe lanes.protected java.util.Map<java.lang.String,KpiLaneDirection>lastLaneslast lane of gtus.protected java.util.Map<java.lang.String,LinkData>linksthe links.protected java.util.Map<java.lang.String,NodeData>nodesthe nodes.
-
Constructor Summary
Constructors Constructor Description IMBSampler(org.opentrafficsim.imb.connector.IMBConnector imbConnector)Constructor with listeners for nodes, links, lanes and gtu's.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description voidaddImbKpiTransceiver(ImbKpiTransceiver<GtuData> imbKpiTransceiver)voidfinalizeRecording(KpiLaneDirection kpiLaneDirection)voidinitRecording(KpiLaneDirection kpiLaneDirection)static voidmain(java.lang.String[] args)Main program for IMBSampler.Timenow()protected voidsample(double timeStamp, java.lang.String gtuId, java.lang.String laneId, boolean forward, double longitudinalPosition, double speed, double acceleration)Sample the data received from a GTU.voidscheduleStartRecording(Time time, KpiLaneDirection kpiLaneDirection)voidscheduleStopRecording(Time time, KpiLaneDirection kpiLaneDirection)protected voidupdateClock(double timeStamp)Updates clock and triggers timed events.-
Methods inherited from class org.opentrafficsim.kpi.sampling.Sampler
contains, getSamplerData, processGtuAddEvent, processGtuMoveEvent, processGtuRemoveEvent, processGtuRemoveEvent, registerSpaceTimeRegion, startRecording, stopRecording
-
-
-
-
Field Detail
-
nodes
protected final java.util.Map<java.lang.String,NodeData> nodes
the nodes.
-
links
protected final java.util.Map<java.lang.String,LinkData> links
the links.
-
lanes
protected final java.util.Map<java.lang.String,LaneData> lanes
the lanes.
-
gtus
protected final java.util.Map<java.lang.String,GtuData> gtus
the gtus.
-
lastLanes
protected final java.util.Map<java.lang.String,KpiLaneDirection> lastLanes
last lane of gtus.
-
defaultGtuType
protected final GtuTypeData defaultGtuType
the default gtu type (for now).
-
defaultRoute
protected final RouteData defaultRoute
the default route (for now).
-
-
Constructor Detail
-
IMBSampler
public IMBSampler(org.opentrafficsim.imb.connector.IMBConnector imbConnector) throws org.opentrafficsim.imb.IMBExceptionConstructor with listeners for nodes, links, lanes and gtu's.- Parameters:
imbConnector- IMBConnector; IMB connection- Throws:
org.opentrafficsim.imb.IMBException- on connection error
-
-
Method Detail
-
main
public static void main(java.lang.String[] args) throws org.opentrafficsim.imb.IMBExceptionMain program for IMBSampler. Listens to events on the IMB bus and calculates and publishes statistics.- Parameters:
args- String[]; the arguments with [0]=IP address, [1]=port- Throws:
org.opentrafficsim.imb.IMBException- in case of invalid arguments
-
scheduleStartRecording
public final void scheduleStartRecording(Time time, KpiLaneDirection kpiLaneDirection)
- Specified by:
scheduleStartRecordingin classSampler<GtuData>
-
scheduleStopRecording
public final void scheduleStopRecording(Time time, KpiLaneDirection kpiLaneDirection)
- Specified by:
scheduleStopRecordingin classSampler<GtuData>
-
initRecording
public final void initRecording(KpiLaneDirection kpiLaneDirection)
- Specified by:
initRecordingin classSampler<GtuData>
-
finalizeRecording
public final void finalizeRecording(KpiLaneDirection kpiLaneDirection)
- Specified by:
finalizeRecordingin classSampler<GtuData>
-
sample
protected void sample(double timeStamp, java.lang.String gtuId, java.lang.String laneId, boolean forward, double longitudinalPosition, double speed, double acceleration)Sample the data received from a GTU.- Parameters:
timeStamp- double; time of the samplinggtuId- String; gtulaneId- String; laneforward- boolean; driving directionlongitudinalPosition- double; positionspeed- double; speedacceleration- double; acceleration
-
addImbKpiTransceiver
public void addImbKpiTransceiver(ImbKpiTransceiver<GtuData> imbKpiTransceiver)
- Parameters:
imbKpiTransceiver- ImbKpiTransceiver<GtuData>; add imbKpiTransceiver.
-
updateClock
protected void updateClock(double timeStamp)
Updates clock and triggers timed events.- Parameters:
timeStamp- double; most recent time stamp
-
-