Class STMBRInterpolator

    • Constructor Detail

      • STMBRInterpolator

        public STMBRInterpolator​(IInterpolationFactory factory,
                                 ITemporalAligner aligner,
                                 org.joda.time.Duration step)
        Constructor that provides a temporal aligner, a factory, and a step size. The aligner is used to align the timestamps of the original event reports to be an integer multiple of a step size from an epoch. The factory object is used for generating new trajectory and detection objects to hold the resultant interpolated polygons between the original event reports.
        Parameters:
        factory - The factory used to generate new objects to return
        aligner - Aligner used to adjust the datetime of the input detections
        step - The step size between interpolated reports
    • Method Detail

      • interpolateTrajectory

        public ISTInterpolationTrajectory interpolateTrajectory​(ISTInterpolationTrajectory inTrajectory)
        Description copied from class: BaseInterpolation
        Interpolates new event reports between the reports contained within the input trajectory and returns a new trajectory object with the new data. The original event reports are copied and temporally aligned with a epoch and a set cadence rate. The original trajectory shall remain unedited.
        Specified by:
        interpolateTrajectory in interface IInterpolator
        Overrides:
        interpolateTrajectory in class BaseInterpolation
        Parameters:
        inTrajectory - The input trajectory that is to be interpolated.
        Returns:
        An interpolated trajectory that is a representation of the input if it had reports at the desired cadence rate.
      • interpolateBetween

        public List<ISTInterpolationEvent> interpolateBetween​(ISTInterpolationEvent first,
                                                              ISTInterpolationEvent second)
        Description copied from class: BaseInterpolation
        Interpolates new event reports between the two reports that are passed in and returns a list of the interpolated polygon representations. The original event reports are copied to be the first and last elements in the returned list. They are also temporally aligned with an epoch and a set cadence rate. The original objects shall remain unedited.
        Specified by:
        interpolateBetween in interface IInterpolator
        Overrides:
        interpolateBetween in class BaseInterpolation
        Parameters:
        first - The first element to interpolate between
        second - The end element to interpolate between
        Returns:
        A list of interpolated polygon objects between the two input objects
      • interpolateBeforeAtTime

        public ISTInterpolationEvent interpolateBeforeAtTime​(ISTInterpolationEvent ev,
                                                             org.joda.time.DateTime dateTime)
        Description copied from interface: IInterpolator
        Interpolates a new event report at a specified time using a default movement rate as the method to determine where the input event would be at the given time. The original event is assumed to be at the time period it is supposed to be, and therefore does not have its time stamp adjusted prior to interpolation. The original object remains unmodified and only a new event is returned at the interpolated time.
        Specified by:
        interpolateBeforeAtTime in interface IInterpolator
        Parameters:
        ev - The event to apply an interpolation method to
        dateTime - The date and time of the object report to be interpolated. This time must be prior to the date and time of the input event. Otherwise an exception is thrown.
        Returns:
        An object that is at an interpolated point prior to the input event.
      • interpolateAfterAtTime

        public ISTInterpolationEvent interpolateAfterAtTime​(ISTInterpolationEvent ev,
                                                            org.joda.time.DateTime dateTime)
        Description copied from interface: IInterpolator
        Interpolates a new event report at a specified time using a default movement rate as the method to determine where the input event would be at the given time. The original event is assumed to be at the time period it is supposed to be, and therefore does not have its time stamp adjusted prior to interpolation. The original object remains unmodified and only a new event is returned at the interpolated time.
        Specified by:
        interpolateAfterAtTime in interface IInterpolator
        Parameters:
        ev - The event to apply an interpolation method to
        dateTime - The date and time of the object report to be interpolated. This time must be after the date and time of the input event. Otherwise an exception is thrown.
        Returns:
        An object that is at an interpolated point after the input event.
      • interpolateAtTime

        public ISTInterpolationEvent interpolateAtTime​(ISTInterpolationEvent first,
                                                       ISTInterpolationEvent second,
                                                       org.joda.time.DateTime dateTime)
        Description copied from interface: IInterpolator
        Interpolates a new event report at a specified time. The original event reports are assumed to be at the time period they are supposed to be, and therefore there is not any adjustment made to their time stamp prior to interpolation. The original objects remain unmodified and only a new event is returned at the interpolated time.
        Specified by:
        interpolateAtTime in interface IInterpolator
        Parameters:
        first - The first element to interpolate between
        second - The second element to interpolate between
        dateTime - The date and time of the object report to be interpolated
        Returns:
        An object that is at an interpolated point between the inputs
      • createInterpolatedSTEvent

        protected ISTInterpolationEvent createInterpolatedSTEvent​(org.joda.time.DateTime startTime,
                                                                  org.joda.time.DateTime endTime,
                                                                  EventType type,
                                                                  org.locationtech.jts.geom.Coordinate[] i_coordinates)
        Description copied from class: BaseInterpolation
        This method is used to produce and verify the polygon of an event with the input data.
        Specified by:
        createInterpolatedSTEvent in class BaseInterpolation
        Parameters:
        startTime - The start time of the event
        endTime - The end time of the event
        type - The type of the event
        i_coordinates - The coordinates of the polygon to use in the event
        Returns: