get_action_interp_with_diag¶
-
process_ais_data.
get_action_interp_with_diag
(row, options, grid_params)¶ Calculates the actions taken from the previous state to reach the current state, interpolating if necessary.
First, the relative offset between the current and previous state in rows and columns is calculated. Then the sign of
rel_row
andrel_col
are then used to iteratively describe a sequence of actions from the previous state to current state, breaking up state transitions with multiple actions if the states are not adjacent (including diagonals, resulting in 9 possible actions). This interpolation assumes a deterministic system.Example
For example, if
prev_state = 5
,cur_state = 7
, andnum_cols = 4
, then our state grid is populated as follows:8 9 10 11 4 p 6 c 0 1 2 3
Output snippet:
pd.DataFrame({})
Where p represents the location of the previous state, and c represents the location of the current state. Then the current state’s position relative to the previous state is
rel_row = 0
,rel_col = 2
. Our action spiral then looks like this:4 3 2 4 3 2 5 0 1 -> 5 p 1 c 7 8 9 6 7 8
Output snippet:
pd.DataFrame({ 'ID': [traj_num, ], 'PREV': [prev_state, ], 'ACT': [1, ], 'CUR': [prev_state + 1, ] })
Because the current state is not adjacent (including diagonals), we interpolate by taking the action that brings us closest to the current state: action
1
, resulting in a new action spiral and a new previous state:4 3 2 4 3 2 5 0 1 -> 5 p c 7 8 9 6 7 8
Final output:
pd.DataFrame({ 'ID': [traj_num] * 2, 'PREV': [prev_state, prev_state + 1], 'ACT': [1, 1], 'CUR': [prev_state + 1, cur_state] })
Now, our new previous state is adjacent to the current state, so we can take action
1
, which updates our previous state to exactly match the current state, so the algorithm terminates and returns the list of state-action-state transitions.- Parameters
row (pandas.Series) – One row of the DataFrame the function is applied to, containing the trajectory number, previous state, current state, longitude, and latitude.
options (dict) – The script options specified in the
config_file
.grid_params (dict) – The grid parameters specified in the
config_file
.
- Returns
State-action-state triplets that interpolate between
prev_state
andcur_state
.- Return type
dict