Interface IInterpolator
-
- All Known Implementing Classes:
STArealPolygonInterpolator
,STComplexPolygonInterpolator
,STFilamentPolygonInterpolator
,STMBRInterpolator
public interface IInterpolator
This is the public interface for trajectory interpolation objects used to interpolate between geometry objects at some cadence rate. The implementing classes are from the polygon interpolation methods described in Boubrahimi et. al, 2018.- Author:
- Dustin Kempton, Data Mining Lab, Georgia State University
-
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description ISTInterpolationEvent
interpolateAfterAtTime(ISTInterpolationEvent ev, org.joda.time.DateTime dateTime)
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.ISTInterpolationEvent
interpolateAtTime(ISTInterpolationEvent first, ISTInterpolationEvent second, org.joda.time.DateTime dateTime)
Interpolates a new event report at a specified time.ISTInterpolationEvent
interpolateBeforeAtTime(ISTInterpolationEvent ev, org.joda.time.DateTime dateTime)
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.List<ISTInterpolationEvent>
interpolateBetween(ISTInterpolationEvent first, ISTInterpolationEvent second)
Interpolates new event reports between the two reports that are passed in and returns a list of the interpolated polygon representations.ISTInterpolationTrajectory
interpolateTrajectory(ISTInterpolationTrajectory inTrajectory)
Interpolates new event reports between the reports contained within the input trajectory and returns a new trajectory object with the new data.
-
-
-
Method Detail
-
interpolateTrajectory
ISTInterpolationTrajectory interpolateTrajectory(ISTInterpolationTrajectory inTrajectory)
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.- 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
List<ISTInterpolationEvent> interpolateBetween(ISTInterpolationEvent first, ISTInterpolationEvent second)
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.- Parameters:
first
- The first element to interpolate betweensecond
- The end element to interpolate between- Returns:
- A list of interpolated polygon objects between the two input objects
-
interpolateAtTime
ISTInterpolationEvent interpolateAtTime(ISTInterpolationEvent first, ISTInterpolationEvent second, org.joda.time.DateTime dateTime)
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.- Parameters:
first
- The first element to interpolate betweensecond
- The second element to interpolate betweendateTime
- The date and time of the object report to be interpolated- Returns:
- An object that is at an interpolated point between the inputs
-
interpolateBeforeAtTime
ISTInterpolationEvent interpolateBeforeAtTime(ISTInterpolationEvent ev, org.joda.time.DateTime dateTime)
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.- Parameters:
ev
- The event to apply an interpolation method todateTime
- 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
ISTInterpolationEvent interpolateAfterAtTime(ISTInterpolationEvent ev, org.joda.time.DateTime dateTime)
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.- Parameters:
ev
- The event to apply an interpolation method todateTime
- 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.
-
-