Add output detail 'data_points' with starting points of the driving modes
parent
892b84251a
commit
a3a68e5553
|
@ -51,7 +51,7 @@ function Settings(
|
||||||
"outputDetail": {
|
"outputDetail": {
|
||||||
"description": "Selecting the detail of the result",
|
"description": "Selecting the detail of the result",
|
||||||
"type": "string",
|
"type": "string",
|
||||||
"enum": [ "running_time", "points_of_interest", "driving_course" ]
|
"enum": [ "running_time", "points_of_interest", "data_points", "driving_course" ]
|
||||||
},
|
},
|
||||||
"outputFormat": {
|
"outputFormat": {
|
||||||
"description": "Output format",
|
"description": "Output format",
|
||||||
|
|
|
@ -22,6 +22,18 @@ function createOutput(settings::Settings, drivingCourse::Vector{Dict}, pointsOfI
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
elseif settings.outputDetail == :data_points
|
||||||
|
# get the driving course's support points where a new behavior section starts and the driving mode changes
|
||||||
|
output = Dict[]
|
||||||
|
# the first support point is the first data point
|
||||||
|
push!(output, drivingCourse[1])
|
||||||
|
|
||||||
|
for supportPoint in 2:length(drivingCourse)
|
||||||
|
if drivingCourse[supportPoint-1][:behavior] != drivingCourse[supportPoint][:behavior]
|
||||||
|
push!(output, drivingCourse[supportPoint])
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
else #if settings.outputDetail == :driving_course || (settings.outputDetail == :points_of_interest && !isempty(path.poi))
|
else #if settings.outputDetail == :driving_course || (settings.outputDetail == :points_of_interest && !isempty(path.poi))
|
||||||
output = drivingCourse
|
output = drivingCourse
|
||||||
end
|
end
|
||||||
|
@ -38,7 +50,7 @@ function createDataFrame(output_vector::Vector{Dict}, outputDetail)
|
||||||
if outputDetail == :running_time
|
if outputDetail == :running_time
|
||||||
# create a DataFrame with running time information
|
# create a DataFrame with running time information
|
||||||
dataFrame = DataFrame(t=[output_vector[end][:t]])
|
dataFrame = DataFrame(t=[output_vector[end][:t]])
|
||||||
else # :points_of_interest or :driving_course
|
else # :points_of_interest, :data_points or :driving_course
|
||||||
columnSymbols = [:label, :behavior, :s, :v, :t, :a, :F_T, :F_R, :R_path, :R_traction, :R_wagons]
|
columnSymbols = [:label, :behavior, :s, :v, :t, :a, :F_T, :F_R, :R_path, :R_traction, :R_wagons]
|
||||||
|
|
||||||
allColumns = []
|
allColumns = []
|
||||||
|
|
|
@ -10,7 +10,7 @@ struct Settings
|
||||||
stepVariable::Symbol # variable of the linear multistep method: ":distance", ":time" or ":velocity".
|
stepVariable::Symbol # variable of the linear multistep method: ":distance", ":time" or ":velocity".
|
||||||
stepSize::Real # step size, unit depends on stepVariable - :distance in meter, time in seconds and velocity in meter/second.
|
stepSize::Real # step size, unit depends on stepVariable - :distance in meter, time in seconds and velocity in meter/second.
|
||||||
approxLevel::Int # value for approximation; used when rounding or iterating.
|
approxLevel::Int # value for approximation; used when rounding or iterating.
|
||||||
outputDetail::Symbol # single Float() ":running_time", Vector() of ":points_of_interest",
|
outputDetail::Symbol # single Float() ":running_time", Vector() of ":points_of_interest", Vector() of ":data_points"
|
||||||
# or complete Vector() ":driving_course"
|
# or complete Vector() ":driving_course"
|
||||||
outputFormat::Symbol # output as ":dataframe" or as ":vector".
|
outputFormat::Symbol # output as ":dataframe" or as ":vector".
|
||||||
|
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
%YAML 1.2
|
%YAML 1.2
|
||||||
---
|
---
|
||||||
settings:
|
settings:
|
||||||
outputDetail: "driving_course" # single value "running_time", list of "points_of_interest", complete "driving_course"
|
outputDetail: "driving_course" # single value "running_time", list of "points_of_interest", list of "data_points", complete "driving_course"
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
%YAML 1.2
|
%YAML 1.2
|
||||||
---
|
---
|
||||||
settings:
|
settings:
|
||||||
outputDetail: "points_of_interest" # single value "running_time", list of "points_of_interest", complete "driving_course"
|
outputDetail: "points_of_interest" # single value "running_time", list of "points_of_interest", list of "data_points", complete "driving_course"
|
||||||
|
|
Loading…
Reference in New Issue