diff --git a/data/baseline_situations_generated/traffic_situation_01.json b/data/baseline_situations_generated/traffic_situation_01.json index 260018f..9ac227c 100644 --- a/data/baseline_situations_generated/traffic_situation_01.json +++ b/data/baseline_situations_generated/traffic_situation_01.json @@ -14,8 +14,8 @@ }, "initial": { "position": { - "latitude": 58.763449, - "longitude": 10.490654 + "lat": 58.763449, + "lon": 10.490654 }, "sog": 10.0, "cog": 0.0, @@ -25,14 +25,14 @@ "waypoints": [ { "position": { - "latitude": 58.763449, - "longitude": 10.490654 + "lat": 58.763449, + "lon": 10.490654 } }, { "position": { - "latitude": 58.7911568, - "longitude": 10.490654 + "lat": 58.7911568, + "lon": 10.490654 } } ] @@ -50,8 +50,8 @@ }, "initial": { "position": { - "latitude": 58.84117519, - "longitude": 10.49587268 + "lat": 58.84117519, + "lon": 10.49587268 }, "sog": 12.1, "cog": 183.12, @@ -61,17 +61,17 @@ "waypoints": [ { "position": { - "latitude": 58.84117519, - "longitude": 10.49587268 + "lat": 58.84117519, + "lon": 10.49587268 } }, { "position": { - "latitude": 58.80782874, - "longitude": 10.49237693 + "lat": 58.80782874, + "lon": 10.49237693 } } ] } ] -} \ No newline at end of file +} diff --git a/data/baseline_situations_generated/traffic_situation_02.json b/data/baseline_situations_generated/traffic_situation_02.json index 8faf4dd..52f4088 100644 --- a/data/baseline_situations_generated/traffic_situation_02.json +++ b/data/baseline_situations_generated/traffic_situation_02.json @@ -14,8 +14,8 @@ }, "initial": { "position": { - "latitude": 58.763449, - "longitude": 10.490654 + "lat": 58.763449, + "lon": 10.490654 }, "sog": 10.0, "cog": 0.0, @@ -25,14 +25,14 @@ "waypoints": [ { "position": { - "latitude": 58.763449, - "longitude": 10.490654 + "lat": 58.763449, + "lon": 10.490654 } }, { "position": { - "latitude": 58.7911568, - "longitude": 10.490654 + "lat": 58.7911568, + "lon": 10.490654 } } ] @@ -50,8 +50,8 @@ }, "initial": { "position": { - "latitude": 58.81117278, - "longitude": 10.52409158 + "lat": 58.81117278, + "lon": 10.52409158 }, "sog": 8.0, "cog": 220.93, @@ -61,17 +61,17 @@ "waypoints": [ { "position": { - "latitude": 58.81117278, - "longitude": 10.52409158 + "lat": 58.81117278, + "lon": 10.52409158 } }, { "position": { - "latitude": 58.79448844, - "longitude": 10.49624045 + "lat": 58.79448844, + "lon": 10.49624045 } } ] } ] -} \ No newline at end of file +} diff --git a/data/baseline_situations_generated/traffic_situation_03.json b/data/baseline_situations_generated/traffic_situation_03.json index 42d3667..62e94a9 100644 --- a/data/baseline_situations_generated/traffic_situation_03.json +++ b/data/baseline_situations_generated/traffic_situation_03.json @@ -14,8 +14,8 @@ }, "initial": { "position": { - "latitude": 58.763449, - "longitude": 10.490654 + "lat": 58.763449, + "lon": 10.490654 }, "sog": 10.0, "cog": 0.0, @@ -25,14 +25,14 @@ "waypoints": [ { "position": { - "latitude": 58.763449, - "longitude": 10.490654 + "lat": 58.763449, + "lon": 10.490654 } }, { "position": { - "latitude": 58.7911568, - "longitude": 10.490654 + "lat": 58.7911568, + "lon": 10.490654 } } ] @@ -50,8 +50,8 @@ }, "initial": { "position": { - "latitude": 58.80568759, - "longitude": 10.44372042 + "lat": 58.80568759, + "lon": 10.44372042 }, "sog": 6.0, "cog": 120.78, @@ -61,17 +61,17 @@ "waypoints": [ { "position": { - "latitude": 58.80568759, - "longitude": 10.44372042 + "lat": 58.80568759, + "lon": 10.44372042 } }, { "position": { - "latitude": 58.79714267, - "longitude": 10.47133461 + "lat": 58.79714267, + "lon": 10.47133461 } } ] } ] -} \ No newline at end of file +} diff --git a/data/baseline_situations_generated/traffic_situation_04.json b/data/baseline_situations_generated/traffic_situation_04.json index 2959c80..a581694 100644 --- a/data/baseline_situations_generated/traffic_situation_04.json +++ b/data/baseline_situations_generated/traffic_situation_04.json @@ -14,8 +14,8 @@ }, "initial": { "position": { - "latitude": 58.763449, - "longitude": 10.490654 + "lat": 58.763449, + "lon": 10.490654 }, "sog": 10.0, "cog": 0.0, @@ -25,14 +25,14 @@ "waypoints": [ { "position": { - "latitude": 58.763449, - "longitude": 10.490654 + "lat": 58.763449, + "lon": 10.490654 } }, { "position": { - "latitude": 58.7911568, - "longitude": 10.490654 + "lat": 58.7911568, + "lon": 10.490654 } } ] @@ -50,8 +50,8 @@ }, "initial": { "position": { - "latitude": 58.77167228, - "longitude": 10.49490498 + "lat": 58.77167228, + "lon": 10.49490498 }, "sog": 5.1, "cog": 353.51, @@ -61,17 +61,17 @@ "waypoints": [ { "position": { - "latitude": 58.77167228, - "longitude": 10.49490498 + "lat": 58.77167228, + "lon": 10.49490498 } }, { "position": { - "latitude": 58.78558739, - "longitude": 10.4918603 + "lat": 58.78558739, + "lon": 10.4918603 } } ] } ] -} \ No newline at end of file +} diff --git a/data/baseline_situations_generated/traffic_situation_05.json b/data/baseline_situations_generated/traffic_situation_05.json index f576339..26224eb 100644 --- a/data/baseline_situations_generated/traffic_situation_05.json +++ b/data/baseline_situations_generated/traffic_situation_05.json @@ -14,8 +14,8 @@ }, "initial": { "position": { - "latitude": 58.763449, - "longitude": 10.490654 + "lat": 58.763449, + "lon": 10.490654 }, "sog": 10.0, "cog": 0.0, @@ -25,14 +25,14 @@ "waypoints": [ { "position": { - "latitude": 58.763449, - "longitude": 10.490654 + "lat": 58.763449, + "lon": 10.490654 } }, { "position": { - "latitude": 58.7911568, - "longitude": 10.490654 + "lat": 58.7911568, + "lon": 10.490654 } } ] @@ -50,8 +50,8 @@ }, "initial": { "position": { - "latitude": 58.70853434, - "longitude": 10.46233142 + "lat": 58.70853434, + "lon": 10.46233142 }, "sog": 15.9, "cog": 10.08, @@ -61,17 +61,17 @@ "waypoints": [ { "position": { - "latitude": 58.70853434, - "longitude": 10.46233142 + "lat": 58.70853434, + "lon": 10.46233142 } }, { "position": { - "latitude": 58.75202075, - "longitude": 10.47721773 + "lat": 58.75202075, + "lon": 10.47721773 } } ] } ] -} \ No newline at end of file +} diff --git a/data/baseline_situations_generated/traffic_situation_06.json b/data/baseline_situations_generated/traffic_situation_06.json index b8762a5..ee1a45d 100644 --- a/data/baseline_situations_generated/traffic_situation_06.json +++ b/data/baseline_situations_generated/traffic_situation_06.json @@ -14,8 +14,8 @@ }, "initial": { "position": { - "latitude": 58.763449, - "longitude": 10.490654 + "lat": 58.763449, + "lon": 10.490654 }, "sog": 10.0, "cog": 0.0, @@ -25,14 +25,14 @@ "waypoints": [ { "position": { - "latitude": 58.763449, - "longitude": 10.490654 + "lat": 58.763449, + "lon": 10.490654 } }, { "position": { - "latitude": 58.7911568, - "longitude": 10.490654 + "lat": 58.7911568, + "lon": 10.490654 } } ] @@ -50,8 +50,8 @@ }, "initial": { "position": { - "latitude": 58.81839957, - "longitude": 10.488805 + "lat": 58.81839957, + "lon": 10.488805 }, "sog": 8.9, "cog": 177.96, @@ -61,14 +61,14 @@ "waypoints": [ { "position": { - "latitude": 58.81839957, - "longitude": 10.488805 + "lat": 58.81839957, + "lon": 10.488805 } }, { "position": { - "latitude": 58.79363768, - "longitude": 10.49050219 + "lat": 58.79363768, + "lon": 10.49050219 } } ] @@ -85,8 +85,8 @@ }, "initial": { "position": { - "latitude": 58.83385863, - "longitude": 10.50012366 + "lat": 58.83385863, + "lon": 10.50012366 }, "sog": 11.1, "cog": 186.56, @@ -96,17 +96,17 @@ "waypoints": [ { "position": { - "latitude": 58.83385863, - "longitude": 10.50012366 + "lat": 58.83385863, + "lon": 10.50012366 } }, { "position": { - "latitude": 58.80335669, - "longitude": 10.49337704 + "lat": 58.80335669, + "lon": 10.49337704 } } ] } ] -} \ No newline at end of file +} diff --git a/data/baseline_situations_generated/traffic_situation_07.json b/data/baseline_situations_generated/traffic_situation_07.json index 21e431e..3970d19 100644 --- a/data/baseline_situations_generated/traffic_situation_07.json +++ b/data/baseline_situations_generated/traffic_situation_07.json @@ -14,8 +14,8 @@ }, "initial": { "position": { - "latitude": 58.763449, - "longitude": 10.490654 + "lat": 58.763449, + "lon": 10.490654 }, "sog": 10.0, "cog": 0.0, @@ -25,14 +25,14 @@ "waypoints": [ { "position": { - "latitude": 58.763449, - "longitude": 10.490654 + "lat": 58.763449, + "lon": 10.490654 } }, { "position": { - "latitude": 58.7911568, - "longitude": 10.490654 + "lat": 58.7911568, + "lon": 10.490654 } } ] @@ -50,8 +50,8 @@ }, "initial": { "position": { - "latitude": 58.86837667, - "longitude": 10.47653591 + "lat": 58.86837667, + "lon": 10.47653591 }, "sog": 14.0, "cog": 174.58, @@ -61,14 +61,14 @@ "waypoints": [ { "position": { - "latitude": 58.86837667, - "longitude": 10.47653591 + "lat": 58.86837667, + "lon": 10.47653591 } }, { "position": { - "latitude": 58.82976775, - "longitude": 10.48358685 + "lat": 58.82976775, + "lon": 10.48358685 } } ] @@ -85,8 +85,8 @@ }, "initial": { "position": { - "latitude": 58.79364892, - "longitude": 10.53288731 + "lat": 58.79364892, + "lon": 10.53288731 }, "sog": 8.0, "cog": 263.5, @@ -96,17 +96,17 @@ "waypoints": [ { "position": { - "latitude": 58.79364892, - "longitude": 10.53288731 + "lat": 58.79364892, + "lon": 10.53288731 } }, { "position": { - "latitude": 58.79115016, - "longitude": 10.4906505 + "lat": 58.79115016, + "lon": 10.4906505 } } ] } ] -} \ No newline at end of file +} diff --git a/data/baseline_situations_generated/traffic_situation_08.json b/data/baseline_situations_generated/traffic_situation_08.json index 5065cf4..4522456 100644 --- a/data/baseline_situations_generated/traffic_situation_08.json +++ b/data/baseline_situations_generated/traffic_situation_08.json @@ -14,8 +14,8 @@ }, "initial": { "position": { - "latitude": 58.763449, - "longitude": 10.490654 + "lat": 58.763449, + "lon": 10.490654 }, "sog": 10.0, "cog": 0.0, @@ -25,14 +25,14 @@ "waypoints": [ { "position": { - "latitude": 58.763449, - "longitude": 10.490654 + "lat": 58.763449, + "lon": 10.490654 } }, { "position": { - "latitude": 58.7911568, - "longitude": 10.490654 + "lat": 58.7911568, + "lon": 10.490654 } } ] @@ -50,8 +50,8 @@ }, "initial": { "position": { - "latitude": 58.86111396, - "longitude": 10.50380439 + "lat": 58.86111396, + "lon": 10.50380439 }, "sog": 16.9, "cog": 185.58, @@ -61,14 +61,14 @@ "waypoints": [ { "position": { - "latitude": 58.86111396, - "longitude": 10.50380439 + "lat": 58.86111396, + "lon": 10.50380439 } }, { "position": { - "latitude": 58.81447416, - "longitude": 10.49503177 + "lat": 58.81447416, + "lon": 10.49503177 } } ] @@ -85,8 +85,8 @@ }, "initial": { "position": { - "latitude": 58.80071412, - "longitude": 10.4385363 + "lat": 58.80071412, + "lon": 10.4385363 }, "sog": 8.0, "cog": 109.43, @@ -96,17 +96,17 @@ "waypoints": [ { "position": { - "latitude": 58.80071412, - "longitude": 10.4385363 + "lat": 58.80071412, + "lon": 10.4385363 } }, { "position": { - "latitude": 58.79336585, - "longitude": 10.47862388 + "lat": 58.79336585, + "lon": 10.47862388 } } ] } ] -} \ No newline at end of file +} diff --git a/data/baseline_situations_generated/traffic_situation_09.json b/data/baseline_situations_generated/traffic_situation_09.json index 96903e7..318aa6c 100644 --- a/data/baseline_situations_generated/traffic_situation_09.json +++ b/data/baseline_situations_generated/traffic_situation_09.json @@ -14,8 +14,8 @@ }, "initial": { "position": { - "latitude": 58.763449, - "longitude": 10.490654 + "lat": 58.763449, + "lon": 10.490654 }, "sog": 10.0, "cog": 0.0, @@ -25,14 +25,14 @@ "waypoints": [ { "position": { - "latitude": 58.763449, - "longitude": 10.490654 + "lat": 58.763449, + "lon": 10.490654 } }, { "position": { - "latitude": 58.7911568, - "longitude": 10.490654 + "lat": 58.7911568, + "lon": 10.490654 } } ] @@ -50,8 +50,8 @@ }, "initial": { "position": { - "latitude": 58.83100382, - "longitude": 10.48610925 + "lat": 58.83100382, + "lon": 10.48610925 }, "sog": 11.1, "cog": 176.59, @@ -61,14 +61,14 @@ "waypoints": [ { "position": { - "latitude": 58.83100382, - "longitude": 10.48610925 + "lat": 58.83100382, + "lon": 10.48610925 } }, { "position": { - "latitude": 58.80035566, - "longitude": 10.48962903 + "lat": 58.80035566, + "lon": 10.48962903 } } ] @@ -85,8 +85,8 @@ }, "initial": { "position": { - "latitude": 58.76877259, - "longitude": 10.49245116 + "lat": 58.76877259, + "lon": 10.49245116 }, "sog": 5.1, "cog": 357.58, @@ -96,17 +96,17 @@ "waypoints": [ { "position": { - "latitude": 58.76877259, - "longitude": 10.49245116 + "lat": 58.76877259, + "lon": 10.49245116 } }, { "position": { - "latitude": 58.78276485, - "longitude": 10.49131429 + "lat": 58.78276485, + "lon": 10.49131429 } } ] } ] -} \ No newline at end of file +} diff --git a/data/baseline_situations_generated/traffic_situation_10.json b/data/baseline_situations_generated/traffic_situation_10.json index 4e128eb..fb60e5f 100644 --- a/data/baseline_situations_generated/traffic_situation_10.json +++ b/data/baseline_situations_generated/traffic_situation_10.json @@ -14,8 +14,8 @@ }, "initial": { "position": { - "latitude": 58.763449, - "longitude": 10.490654 + "lat": 58.763449, + "lon": 10.490654 }, "sog": 10.0, "cog": 0.0, @@ -25,14 +25,14 @@ "waypoints": [ { "position": { - "latitude": 58.763449, - "longitude": 10.490654 + "lat": 58.763449, + "lon": 10.490654 } }, { "position": { - "latitude": 58.7911568, - "longitude": 10.490654 + "lat": 58.7911568, + "lon": 10.490654 } } ] @@ -50,8 +50,8 @@ }, "initial": { "position": { - "latitude": 58.83785356, - "longitude": 10.490654 + "lat": 58.83785356, + "lon": 10.490654 }, "sog": 9.9, "cog": 180.02, @@ -61,14 +61,14 @@ "waypoints": [ { "position": { - "latitude": 58.83785356, - "longitude": 10.490654 + "lat": 58.83785356, + "lon": 10.490654 } }, { "position": { - "latitude": 58.81038277, - "longitude": 10.49063246 + "lat": 58.81038277, + "lon": 10.49063246 } } ] @@ -85,8 +85,8 @@ }, "initial": { "position": { - "latitude": 58.71205347, - "longitude": 10.49756616 + "lat": 58.71205347, + "lon": 10.49756616 }, "sog": 19.1, "cog": 357.41, @@ -96,17 +96,17 @@ "waypoints": [ { "position": { - "latitude": 58.71205347, - "longitude": 10.49756616 + "lat": 58.71205347, + "lon": 10.49756616 } }, { "position": { - "latitude": 58.76478662, - "longitude": 10.4929765 + "lat": 58.76478662, + "lon": 10.4929765 } } ] } ] -} \ No newline at end of file +} diff --git a/data/baseline_situations_generated/traffic_situation_11.json b/data/baseline_situations_generated/traffic_situation_11.json index 7e35f42..daf6eb3 100644 --- a/data/baseline_situations_generated/traffic_situation_11.json +++ b/data/baseline_situations_generated/traffic_situation_11.json @@ -14,8 +14,8 @@ }, "initial": { "position": { - "latitude": 58.763449, - "longitude": 10.490654 + "lat": 58.763449, + "lon": 10.490654 }, "sog": 10.0, "cog": 0.0, @@ -25,14 +25,14 @@ "waypoints": [ { "position": { - "latitude": 58.763449, - "longitude": 10.490654 + "lat": 58.763449, + "lon": 10.490654 } }, { "position": { - "latitude": 58.7911568, - "longitude": 10.490654 + "lat": 58.7911568, + "lon": 10.490654 } } ] @@ -50,8 +50,8 @@ }, "initial": { "position": { - "latitude": 58.85321387, - "longitude": 10.54679803 + "lat": 58.85321387, + "lon": 10.54679803 }, "sog": 13.0, "cog": 205.18, @@ -61,14 +61,14 @@ "waypoints": [ { "position": { - "latitude": 58.85321387, - "longitude": 10.54679803 + "lat": 58.85321387, + "lon": 10.54679803 } }, { "position": { - "latitude": 58.8205531, - "longitude": 10.51724645 + "lat": 58.8205531, + "lon": 10.51724645 } } ] @@ -85,8 +85,8 @@ }, "initial": { "position": { - "latitude": 58.75394195, - "longitude": 10.57672769 + "lat": 58.75394195, + "lon": 10.57672769 }, "sog": 14.0, "cog": 309.74, @@ -96,17 +96,17 @@ "waypoints": [ { "position": { - "latitude": 58.75394195, - "longitude": 10.57672769 + "lat": 58.75394195, + "lon": 10.57672769 } }, { "position": { - "latitude": 58.77873617, - "longitude": 10.5193251 + "lat": 58.77873617, + "lon": 10.5193251 } } ] } ] -} \ No newline at end of file +} diff --git a/data/baseline_situations_generated/traffic_situation_12.json b/data/baseline_situations_generated/traffic_situation_12.json index a023b62..224bef7 100644 --- a/data/baseline_situations_generated/traffic_situation_12.json +++ b/data/baseline_situations_generated/traffic_situation_12.json @@ -14,8 +14,8 @@ }, "initial": { "position": { - "latitude": 58.763449, - "longitude": 10.490654 + "lat": 58.763449, + "lon": 10.490654 }, "sog": 10.0, "cog": 0.0, @@ -25,14 +25,14 @@ "waypoints": [ { "position": { - "latitude": 58.763449, - "longitude": 10.490654 + "lat": 58.763449, + "lon": 10.490654 } }, { "position": { - "latitude": 58.7911568, - "longitude": 10.490654 + "lat": 58.7911568, + "lon": 10.490654 } } ] @@ -50,8 +50,8 @@ }, "initial": { "position": { - "latitude": 58.81997959, - "longitude": 10.5994687 + "lat": 58.81997959, + "lon": 10.5994687 }, "sog": 12.1, "cog": 242.99, @@ -61,14 +61,14 @@ "waypoints": [ { "position": { - "latitude": 58.81997959, - "longitude": 10.5994687 + "lat": 58.81997959, + "lon": 10.5994687 } }, { "position": { - "latitude": 58.80481372, - "longitude": 10.54219642 + "lat": 58.80481372, + "lon": 10.54219642 } } ] @@ -85,8 +85,8 @@ }, "initial": { "position": { - "latitude": 58.75617732, - "longitude": 10.40223017 + "lat": 58.75617732, + "lon": 10.40223017 }, "sog": 13.0, "cog": 52.71, @@ -96,17 +96,17 @@ "waypoints": [ { "position": { - "latitude": 58.75617732, - "longitude": 10.40223017 + "lat": 58.75617732, + "lon": 10.40223017 } }, { "position": { - "latitude": 58.77804081, - "longitude": 10.45749841 + "lat": 58.77804081, + "lon": 10.45749841 } } ] } ] -} \ No newline at end of file +} diff --git a/data/baseline_situations_generated/traffic_situation_13.json b/data/baseline_situations_generated/traffic_situation_13.json index 1d211c7..7589a52 100644 --- a/data/baseline_situations_generated/traffic_situation_13.json +++ b/data/baseline_situations_generated/traffic_situation_13.json @@ -14,8 +14,8 @@ }, "initial": { "position": { - "latitude": 58.763449, - "longitude": 10.490654 + "lat": 58.763449, + "lon": 10.490654 }, "sog": 10.0, "cog": 0.0, @@ -25,14 +25,14 @@ "waypoints": [ { "position": { - "latitude": 58.763449, - "longitude": 10.490654 + "lat": 58.763449, + "lon": 10.490654 } }, { "position": { - "latitude": 58.7911568, - "longitude": 10.490654 + "lat": 58.7911568, + "lon": 10.490654 } } ] @@ -50,8 +50,8 @@ }, "initial": { "position": { - "latitude": 58.8057235, - "longitude": 10.63159297 + "lat": 58.8057235, + "lon": 10.63159297 }, "sog": 15.0, "cog": 258.75, @@ -61,17 +61,17 @@ "waypoints": [ { "position": { - "latitude": 58.8057235, - "longitude": 10.63159297 + "lat": 58.8057235, + "lon": 10.63159297 } }, { "position": { - "latitude": 58.79763043, - "longitude": 10.55329214 + "lat": 58.79763043, + "lon": 10.55329214 } } ] } ] -} \ No newline at end of file +} diff --git a/data/baseline_situations_generated/traffic_situation_14.json b/data/baseline_situations_generated/traffic_situation_14.json index 4edaafb..288166a 100644 --- a/data/baseline_situations_generated/traffic_situation_14.json +++ b/data/baseline_situations_generated/traffic_situation_14.json @@ -14,8 +14,8 @@ }, "initial": { "position": { - "latitude": 58.763449, - "longitude": 10.490654 + "lat": 58.763449, + "lon": 10.490654 }, "sog": 10.0, "cog": 0.0, @@ -25,14 +25,14 @@ "waypoints": [ { "position": { - "latitude": 58.763449, - "longitude": 10.490654 + "lat": 58.763449, + "lon": 10.490654 } }, { "position": { - "latitude": 58.7911568, - "longitude": 10.490654 + "lat": 58.7911568, + "lon": 10.490654 } } ] @@ -50,8 +50,8 @@ }, "initial": { "position": { - "latitude": 58.76938305, - "longitude": 10.55540367 + "lat": 58.76938305, + "lon": 10.55540367 }, "sog": 12.1, "cog": 302.92, @@ -61,14 +61,14 @@ "waypoints": [ { "position": { - "latitude": 58.76938305, - "longitude": 10.55540367 + "lat": 58.76938305, + "lon": 10.55540367 } }, { "position": { - "latitude": 58.78753398, - "longitude": 10.50144419 + "lat": 58.78753398, + "lon": 10.50144419 } } ] @@ -85,8 +85,8 @@ }, "initial": { "position": { - "latitude": 58.72454999, - "longitude": 10.44741843 + "lat": 58.72454999, + "lon": 10.44741843 }, "sog": 16.9, "cog": 18.62, @@ -96,17 +96,17 @@ "waypoints": [ { "position": { - "latitude": 58.72454999, - "longitude": 10.44741843 + "lat": 58.72454999, + "lon": 10.44741843 } }, { "position": { - "latitude": 58.76895875, - "longitude": 10.47622127 + "lat": 58.76895875, + "lon": 10.47622127 } } ] } ] -} \ No newline at end of file +} diff --git a/data/baseline_situations_generated/traffic_situation_15.json b/data/baseline_situations_generated/traffic_situation_15.json index aefbb08..6e6669d 100644 --- a/data/baseline_situations_generated/traffic_situation_15.json +++ b/data/baseline_situations_generated/traffic_situation_15.json @@ -14,8 +14,8 @@ }, "initial": { "position": { - "latitude": 58.763449, - "longitude": 10.490654 + "lat": 58.763449, + "lon": 10.490654 }, "sog": 10.0, "cog": 0.0, @@ -25,14 +25,14 @@ "waypoints": [ { "position": { - "latitude": 58.763449, - "longitude": 10.490654 + "lat": 58.763449, + "lon": 10.490654 } }, { "position": { - "latitude": 58.7911568, - "longitude": 10.490654 + "lat": 58.7911568, + "lon": 10.490654 } } ] @@ -50,8 +50,8 @@ }, "initial": { "position": { - "latitude": 58.76931123, - "longitude": 10.36160394 + "lat": 58.76931123, + "lon": 10.36160394 }, "sog": 15.0, "cog": 71.96, @@ -61,14 +61,14 @@ "waypoints": [ { "position": { - "latitude": 58.76931123, - "longitude": 10.36160394 + "lat": 58.76931123, + "lon": 10.36160394 } }, { "position": { - "latitude": 58.782153, - "longitude": 10.43751625 + "lat": 58.782153, + "lon": 10.43751625 } } ] @@ -85,8 +85,8 @@ }, "initial": { "position": { - "latitude": 58.75379831, - "longitude": 10.38532994 + "lat": 58.75379831, + "lon": 10.38532994 }, "sog": 15.9, "cog": 55.69, @@ -96,17 +96,17 @@ "waypoints": [ { "position": { - "latitude": 58.75379831, - "longitude": 10.38532994 + "lat": 58.75379831, + "lon": 10.38532994 } }, { "position": { - "latitude": 58.77869396, - "longitude": 10.45555736 + "lat": 58.77869396, + "lon": 10.45555736 } } ] } ] -} \ No newline at end of file +} diff --git a/data/baseline_situations_generated/traffic_situation_16.json b/data/baseline_situations_generated/traffic_situation_16.json index 8c80897..0d14999 100644 --- a/data/baseline_situations_generated/traffic_situation_16.json +++ b/data/baseline_situations_generated/traffic_situation_16.json @@ -14,8 +14,8 @@ }, "initial": { "position": { - "latitude": 58.763449, - "longitude": 10.490654 + "lat": 58.763449, + "lon": 10.490654 }, "sog": 10.0, "cog": 0.0, @@ -25,14 +25,14 @@ "waypoints": [ { "position": { - "latitude": 58.763449, - "longitude": 10.490654 + "lat": 58.763449, + "lon": 10.490654 } }, { "position": { - "latitude": 58.7911568, - "longitude": 10.490654 + "lat": 58.7911568, + "lon": 10.490654 } } ] @@ -50,8 +50,8 @@ }, "initial": { "position": { - "latitude": 58.75206568, - "longitude": 10.40884857 + "lat": 58.75206568, + "lon": 10.40884857 }, "sog": 13.0, "cog": 47.38, @@ -61,14 +61,14 @@ "waypoints": [ { "position": { - "latitude": 58.75206568, - "longitude": 10.40884857 + "lat": 58.75206568, + "lon": 10.40884857 } }, { "position": { - "latitude": 58.77650111, - "longitude": 10.45996974 + "lat": 58.77650111, + "lon": 10.45996974 } } ] @@ -85,8 +85,8 @@ }, "initial": { "position": { - "latitude": 58.72568114, - "longitude": 10.47117898 + "lat": 58.72568114, + "lon": 10.47117898 }, "sog": 15.9, "cog": 8.77, @@ -96,17 +96,17 @@ "waypoints": [ { "position": { - "latitude": 58.72568114, - "longitude": 10.47117898 + "lat": 58.72568114, + "lon": 10.47117898 } }, { "position": { - "latitude": 58.76933391, - "longitude": 10.48413629 + "lat": 58.76933391, + "lon": 10.48413629 } } ] } ] -} \ No newline at end of file +} diff --git a/data/baseline_situations_generated/traffic_situation_17.json b/data/baseline_situations_generated/traffic_situation_17.json index 0537374..a1403f4 100644 --- a/data/baseline_situations_generated/traffic_situation_17.json +++ b/data/baseline_situations_generated/traffic_situation_17.json @@ -14,8 +14,8 @@ }, "initial": { "position": { - "latitude": 58.763449, - "longitude": 10.490654 + "lat": 58.763449, + "lon": 10.490654 }, "sog": 10.0, "cog": 0.0, @@ -25,14 +25,14 @@ "waypoints": [ { "position": { - "latitude": 58.763449, - "longitude": 10.490654 + "lat": 58.763449, + "lon": 10.490654 } }, { "position": { - "latitude": 58.7911568, - "longitude": 10.490654 + "lat": 58.7911568, + "lon": 10.490654 } } ] @@ -50,8 +50,8 @@ }, "initial": { "position": { - "latitude": 58.75645562, - "longitude": 10.44043715 + "lat": 58.75645562, + "lon": 10.44043715 }, "sog": 12.1, "cog": 36.96, @@ -61,14 +61,14 @@ "waypoints": [ { "position": { - "latitude": 58.75645562, - "longitude": 10.44043715 + "lat": 58.75645562, + "lon": 10.44043715 } }, { "position": { - "latitude": 58.78314225, - "longitude": 10.47908405 + "lat": 58.78314225, + "lon": 10.47908405 } } ] @@ -85,8 +85,8 @@ }, "initial": { "position": { - "latitude": 58.76933816, - "longitude": 10.49720327 + "lat": 58.76933816, + "lon": 10.49720327 }, "sog": 8.0, "cog": 351.11, @@ -96,17 +96,17 @@ "waypoints": [ { "position": { - "latitude": 58.76933816, - "longitude": 10.49720327 + "lat": 58.76933816, + "lon": 10.49720327 } }, { "position": { - "latitude": 58.79115714, - "longitude": 10.49063282 + "lat": 58.79115714, + "lon": 10.49063282 } } ] } ] -} \ No newline at end of file +} diff --git a/data/baseline_situations_generated/traffic_situation_18.json b/data/baseline_situations_generated/traffic_situation_18.json index 60cfb99..04f65fa 100644 --- a/data/baseline_situations_generated/traffic_situation_18.json +++ b/data/baseline_situations_generated/traffic_situation_18.json @@ -14,8 +14,8 @@ }, "initial": { "position": { - "latitude": 58.763449, - "longitude": 10.490654 + "lat": 58.763449, + "lon": 10.490654 }, "sog": 10.0, "cog": 0.0, @@ -25,17 +25,17 @@ "waypoints": [ { "position": { - "latitude": 58.763449, - "longitude": 10.490654 + "lat": 58.763449, + "lon": 10.490654 } }, { "position": { - "latitude": 58.7911568, - "longitude": 10.490654 + "lat": 58.7911568, + "lon": 10.490654 } } ] }, "targetShips": [] -} \ No newline at end of file +} diff --git a/data/baseline_situations_generated/traffic_situation_19.json b/data/baseline_situations_generated/traffic_situation_19.json index 9ddb160..13551c7 100644 --- a/data/baseline_situations_generated/traffic_situation_19.json +++ b/data/baseline_situations_generated/traffic_situation_19.json @@ -14,8 +14,8 @@ }, "initial": { "position": { - "latitude": 58.763449, - "longitude": 10.490654 + "lat": 58.763449, + "lon": 10.490654 }, "sog": 10.0, "cog": 0.0, @@ -25,14 +25,14 @@ "waypoints": [ { "position": { - "latitude": 58.763449, - "longitude": 10.490654 + "lat": 58.763449, + "lon": 10.490654 } }, { "position": { - "latitude": 58.7911568, - "longitude": 10.490654 + "lat": 58.7911568, + "lon": 10.490654 } } ] @@ -50,8 +50,8 @@ }, "initial": { "position": { - "latitude": 58.7293888, - "longitude": 10.49639109 + "lat": 58.7293888, + "lon": 10.49639109 }, "sog": 15.9, "cog": 357.24, @@ -61,17 +61,17 @@ "waypoints": [ { "position": { - "latitude": 58.7293888, - "longitude": 10.49639109 + "lat": 58.7293888, + "lon": 10.49639109 } }, { "position": { - "latitude": 58.77350627, - "longitude": 10.49229598 + "lat": 58.77350627, + "lon": 10.49229598 } } ] } ] -} \ No newline at end of file +} diff --git a/data/baseline_situations_generated/traffic_situation_20.json b/data/baseline_situations_generated/traffic_situation_20.json index 10dc730..0f035dd 100644 --- a/data/baseline_situations_generated/traffic_situation_20.json +++ b/data/baseline_situations_generated/traffic_situation_20.json @@ -14,8 +14,8 @@ }, "initial": { "position": { - "latitude": 58.763449, - "longitude": 10.490654 + "lat": 58.763449, + "lon": 10.490654 }, "sog": 10.0, "cog": 0.0, @@ -25,14 +25,14 @@ "waypoints": [ { "position": { - "latitude": 58.763449, - "longitude": 10.490654 + "lat": 58.763449, + "lon": 10.490654 } }, { "position": { - "latitude": 58.7911568, - "longitude": 10.490654 + "lat": 58.7911568, + "lon": 10.490654 } } ] @@ -50,8 +50,8 @@ }, "initial": { "position": { - "latitude": 58.71787082, - "longitude": 10.52258819 + "lat": 58.71787082, + "lon": 10.52258819 }, "sog": 18.1, "cog": 347.27, @@ -61,14 +61,14 @@ "waypoints": [ { "position": { - "latitude": 58.71787082, - "longitude": 10.52258819 + "lat": 58.71787082, + "lon": 10.52258819 } }, { "position": { - "latitude": 58.76673323, - "longitude": 10.50133988 + "lat": 58.76673323, + "lon": 10.50133988 } } ] @@ -85,8 +85,8 @@ }, "initial": { "position": { - "latitude": 58.73743254, - "longitude": 10.49948429 + "lat": 58.73743254, + "lon": 10.49948429 }, "sog": 15.0, "cog": 355.12, @@ -96,17 +96,17 @@ "waypoints": [ { "position": { - "latitude": 58.73743254, - "longitude": 10.49948429 + "lat": 58.73743254, + "lon": 10.49948429 } }, { "position": { - "latitude": 58.77875766, - "longitude": 10.4926917 + "lat": 58.77875766, + "lon": 10.4926917 } } ] } ] -} \ No newline at end of file +} diff --git a/data/baseline_situations_generated/traffic_situation_21.json b/data/baseline_situations_generated/traffic_situation_21.json index c4c6378..7c0ab21 100644 --- a/data/baseline_situations_generated/traffic_situation_21.json +++ b/data/baseline_situations_generated/traffic_situation_21.json @@ -14,8 +14,8 @@ }, "initial": { "position": { - "latitude": 58.763449, - "longitude": 10.490654 + "lat": 58.763449, + "lon": 10.490654 }, "sog": 10.0, "cog": 0.0, @@ -25,14 +25,14 @@ "waypoints": [ { "position": { - "latitude": 58.763449, - "longitude": 10.490654 + "lat": 58.763449, + "lon": 10.490654 } }, { "position": { - "latitude": 58.7911568, - "longitude": 10.490654 + "lat": 58.7911568, + "lon": 10.490654 } } ] @@ -50,8 +50,8 @@ }, "initial": { "position": { - "latitude": 58.85453354, - "longitude": 10.48453674 + "lat": 58.85453354, + "lon": 10.48453674 }, "sog": 12.1, "cog": 177.1, @@ -61,14 +61,14 @@ "waypoints": [ { "position": { - "latitude": 58.85453354, - "longitude": 10.48453674 + "lat": 58.85453354, + "lon": 10.48453674 } }, { "position": { - "latitude": 58.8211804, - "longitude": 10.4877876 + "lat": 58.8211804, + "lon": 10.4877876 } } ] @@ -85,8 +85,8 @@ }, "initial": { "position": { - "latitude": 58.83510648, - "longitude": 10.490654 + "lat": 58.83510648, + "lon": 10.490654 }, "sog": 9.9, "cog": 180.02, @@ -96,14 +96,14 @@ "waypoints": [ { "position": { - "latitude": 58.83510648, - "longitude": 10.490654 + "lat": 58.83510648, + "lon": 10.490654 } }, { "position": { - "latitude": 58.80763569, - "longitude": 10.49063246 + "lat": 58.80763569, + "lon": 10.49063246 } } ] @@ -120,8 +120,8 @@ }, "initial": { "position": { - "latitude": 58.8489137, - "longitude": 10.50216275 + "lat": 58.8489137, + "lon": 10.50216275 }, "sog": 15.0, "cog": 185.92, @@ -131,17 +131,17 @@ "waypoints": [ { "position": { - "latitude": 58.8489137, - "longitude": 10.50216275 + "lat": 58.8489137, + "lon": 10.50216275 } }, { "position": { - "latitude": 58.80765974, - "longitude": 10.49392188 + "lat": 58.80765974, + "lon": 10.49392188 } } ] } ] -} \ No newline at end of file +} diff --git a/data/baseline_situations_generated/traffic_situation_22.json b/data/baseline_situations_generated/traffic_situation_22.json index a940725..fb225dd 100644 --- a/data/baseline_situations_generated/traffic_situation_22.json +++ b/data/baseline_situations_generated/traffic_situation_22.json @@ -14,8 +14,8 @@ }, "initial": { "position": { - "latitude": 58.763449, - "longitude": 10.490654 + "lat": 58.763449, + "lon": 10.490654 }, "sog": 10.0, "cog": 0.0, @@ -25,14 +25,14 @@ "waypoints": [ { "position": { - "latitude": 58.763449, - "longitude": 10.490654 + "lat": 58.763449, + "lon": 10.490654 } }, { "position": { - "latitude": 58.7911568, - "longitude": 10.490654 + "lat": 58.7911568, + "lon": 10.490654 } } ] @@ -50,8 +50,8 @@ }, "initial": { "position": { - "latitude": 58.86465105, - "longitude": 10.48044128 + "lat": 58.86465105, + "lon": 10.48044128 }, "sog": 14.0, "cog": 175.9, @@ -61,14 +61,14 @@ "waypoints": [ { "position": { - "latitude": 58.86465105, - "longitude": 10.48044128 + "lat": 58.86465105, + "lon": 10.48044128 } }, { "position": { - "latitude": 58.8259681, - "longitude": 10.4857812 + "lat": 58.8259681, + "lon": 10.4857812 } } ] @@ -85,8 +85,8 @@ }, "initial": { "position": { - "latitude": 58.84602298, - "longitude": 10.49620101 + "lat": 58.84602298, + "lon": 10.49620101 }, "sog": 9.9, "cog": 183.0, @@ -96,14 +96,14 @@ "waypoints": [ { "position": { - "latitude": 58.84602298, - "longitude": 10.49620101 + "lat": 58.84602298, + "lon": 10.49620101 } }, { "position": { - "latitude": 58.8185899, - "longitude": 10.49343108 + "lat": 58.8185899, + "lon": 10.49343108 } } ] @@ -120,8 +120,8 @@ }, "initial": { "position": { - "latitude": 58.80894638, - "longitude": 10.5590844 + "lat": 58.80894638, + "lon": 10.5590844 }, "sog": 8.0, "cog": 243.39, @@ -131,17 +131,17 @@ "waypoints": [ { "position": { - "latitude": 58.80894638, - "longitude": 10.5590844 + "lat": 58.80894638, + "lon": 10.5590844 } }, { "position": { - "latitude": 58.79905531, - "longitude": 10.52107659 + "lat": 58.79905531, + "lon": 10.52107659 } } ] } ] -} \ No newline at end of file +} diff --git a/data/baseline_situations_generated/traffic_situation_23.json b/data/baseline_situations_generated/traffic_situation_23.json index 5027872..fd17968 100644 --- a/data/baseline_situations_generated/traffic_situation_23.json +++ b/data/baseline_situations_generated/traffic_situation_23.json @@ -14,8 +14,8 @@ }, "initial": { "position": { - "latitude": 58.763449, - "longitude": 10.490654 + "lat": 58.763449, + "lon": 10.490654 }, "sog": 10.0, "cog": 0.0, @@ -25,14 +25,14 @@ "waypoints": [ { "position": { - "latitude": 58.763449, - "longitude": 10.490654 + "lat": 58.763449, + "lon": 10.490654 } }, { "position": { - "latitude": 58.7911568, - "longitude": 10.490654 + "lat": 58.7911568, + "lon": 10.490654 } } ] @@ -50,8 +50,8 @@ }, "initial": { "position": { - "latitude": 58.8570113, - "longitude": 10.50641373 + "lat": 58.8570113, + "lon": 10.50641373 }, "sog": 15.0, "cog": 187.07, @@ -61,14 +61,14 @@ "waypoints": [ { "position": { - "latitude": 58.8570113, - "longitude": 10.50641373 + "lat": 58.8570113, + "lon": 10.50641373 } }, { "position": { - "latitude": 58.81585121, - "longitude": 10.49658643 + "lat": 58.81585121, + "lon": 10.49658643 } } ] @@ -85,8 +85,8 @@ }, "initial": { "position": { - "latitude": 58.86120374, - "longitude": 10.49722055 + "lat": 58.86120374, + "lon": 10.49722055 }, "sog": 18.1, "cog": 182.77, @@ -96,14 +96,14 @@ "waypoints": [ { "position": { - "latitude": 58.86120374, - "longitude": 10.49722055 + "lat": 58.86120374, + "lon": 10.49722055 } }, { "position": { - "latitude": 58.81116861, - "longitude": 10.49255471 + "lat": 58.81116861, + "lon": 10.49255471 } } ] @@ -120,8 +120,8 @@ }, "initial": { "position": { - "latitude": 58.80382927, - "longitude": 10.43207343 + "lat": 58.80382927, + "lon": 10.43207343 }, "sog": 7.0, "cog": 112.59, @@ -131,17 +131,17 @@ "waypoints": [ { "position": { - "latitude": 58.80382927, - "longitude": 10.43207343 + "lat": 58.80382927, + "lon": 10.43207343 } }, { "position": { - "latitude": 58.79638166, - "longitude": 10.46653633 + "lat": 58.79638166, + "lon": 10.46653633 } } ] } ] -} \ No newline at end of file +} diff --git a/data/baseline_situations_generated/traffic_situation_24.json b/data/baseline_situations_generated/traffic_situation_24.json index fee9129..093d2a5 100644 --- a/data/baseline_situations_generated/traffic_situation_24.json +++ b/data/baseline_situations_generated/traffic_situation_24.json @@ -14,8 +14,8 @@ }, "initial": { "position": { - "latitude": 58.763449, - "longitude": 10.490654 + "lat": 58.763449, + "lon": 10.490654 }, "sog": 10.0, "cog": 0.0, @@ -25,14 +25,14 @@ "waypoints": [ { "position": { - "latitude": 58.763449, - "longitude": 10.490654 + "lat": 58.763449, + "lon": 10.490654 } }, { "position": { - "latitude": 58.7911568, - "longitude": 10.490654 + "lat": 58.7911568, + "lon": 10.490654 } } ] @@ -50,8 +50,8 @@ }, "initial": { "position": { - "latitude": 58.84442501, - "longitude": 10.48248037 + "lat": 58.84442501, + "lon": 10.48248037 }, "sog": 12.1, "cog": 175.44, @@ -61,14 +61,14 @@ "waypoints": [ { "position": { - "latitude": 58.84442501, - "longitude": 10.48248037 + "lat": 58.84442501, + "lon": 10.48248037 } }, { "position": { - "latitude": 58.81113486, - "longitude": 10.48759143 + "lat": 58.81113486, + "lon": 10.48759143 } } ] @@ -85,8 +85,8 @@ }, "initial": { "position": { - "latitude": 58.86120374, - "longitude": 10.49722055 + "lat": 58.86120374, + "lon": 10.49722055 }, "sog": 18.1, "cog": 182.77, @@ -96,17 +96,17 @@ "waypoints": [ { "position": { - "latitude": 58.86120374, - "longitude": 10.49722055 + "lat": 58.86120374, + "lon": 10.49722055 } }, { "position": { - "latitude": 58.81116861, - "longitude": 10.49255471 + "lat": 58.81116861, + "lon": 10.49255471 } } ] } ] -} \ No newline at end of file +} diff --git a/data/baseline_situations_generated/traffic_situation_25.json b/data/baseline_situations_generated/traffic_situation_25.json index a61d739..163d021 100644 --- a/data/baseline_situations_generated/traffic_situation_25.json +++ b/data/baseline_situations_generated/traffic_situation_25.json @@ -14,8 +14,8 @@ }, "initial": { "position": { - "latitude": 58.763449, - "longitude": 10.490654 + "lat": 58.763449, + "lon": 10.490654 }, "sog": 10.0, "cog": 0.0, @@ -25,14 +25,14 @@ "waypoints": [ { "position": { - "latitude": 58.763449, - "longitude": 10.490654 + "lat": 58.763449, + "lon": 10.490654 } }, { "position": { - "latitude": 58.7911568, - "longitude": 10.490654 + "lat": 58.7911568, + "lon": 10.490654 } } ] @@ -50,8 +50,8 @@ }, "initial": { "position": { - "latitude": 58.8704684, - "longitude": 10.47624214 + "lat": 58.8704684, + "lon": 10.47624214 }, "sog": 16.9, "cog": 174.58, @@ -61,14 +61,14 @@ "waypoints": [ { "position": { - "latitude": 58.8704684, - "longitude": 10.47624214 + "lat": 58.8704684, + "lon": 10.47624214 } }, { "position": { - "latitude": 58.82381595, - "longitude": 10.48476203 + "lat": 58.82381595, + "lon": 10.48476203 } } ] @@ -85,8 +85,8 @@ }, "initial": { "position": { - "latitude": 58.84528684, - "longitude": 10.490654 + "lat": 58.84528684, + "lon": 10.490654 }, "sog": 13.0, "cog": 180.02, @@ -96,14 +96,14 @@ "waypoints": [ { "position": { - "latitude": 58.84528684, - "longitude": 10.490654 + "lat": 58.84528684, + "lon": 10.490654 } }, { "position": { - "latitude": 58.80919775, - "longitude": 10.4906257 + "lat": 58.80919775, + "lon": 10.4906257 } } ] @@ -120,8 +120,8 @@ }, "initial": { "position": { - "latitude": 58.72882323, - "longitude": 10.51230635 + "lat": 58.72882323, + "lon": 10.51230635 }, "sog": 19.1, "cog": 349.79, @@ -131,17 +131,17 @@ "waypoints": [ { "position": { - "latitude": 58.72882323, - "longitude": 10.51230635 + "lat": 58.72882323, + "lon": 10.51230635 } }, { "position": { - "latitude": 58.78077447, - "longitude": 10.49429681 + "lat": 58.78077447, + "lon": 10.49429681 } } ] } ] -} \ No newline at end of file +} diff --git a/data/baseline_situations_generated/traffic_situation_26.json b/data/baseline_situations_generated/traffic_situation_26.json index e9a0cd4..2ae659b 100644 --- a/data/baseline_situations_generated/traffic_situation_26.json +++ b/data/baseline_situations_generated/traffic_situation_26.json @@ -14,8 +14,8 @@ }, "initial": { "position": { - "latitude": 58.763449, - "longitude": 10.490654 + "lat": 58.763449, + "lon": 10.490654 }, "sog": 10.0, "cog": 0.0, @@ -25,14 +25,14 @@ "waypoints": [ { "position": { - "latitude": 58.763449, - "longitude": 10.490654 + "lat": 58.763449, + "lon": 10.490654 } }, { "position": { - "latitude": 58.7911568, - "longitude": 10.490654 + "lat": 58.7911568, + "lon": 10.490654 } } ] @@ -50,8 +50,8 @@ }, "initial": { "position": { - "latitude": 58.87390674, - "longitude": 10.50179986 + "lat": 58.87390674, + "lon": 10.50179986 }, "sog": 15.0, "cog": 183.98, @@ -61,14 +61,14 @@ "waypoints": [ { "position": { - "latitude": 58.87390674, - "longitude": 10.50179986 + "lat": 58.87390674, + "lon": 10.50179986 } }, { "position": { - "latitude": 58.83253108, - "longitude": 10.49626314 + "lat": 58.83253108, + "lon": 10.49626314 } } ] @@ -85,8 +85,8 @@ }, "initial": { "position": { - "latitude": 58.84922791, - "longitude": 10.55075524 + "lat": 58.84922791, + "lon": 10.55075524 }, "sog": 14.0, "cog": 208.27, @@ -96,14 +96,14 @@ "waypoints": [ { "position": { - "latitude": 58.84922791, - "longitude": 10.55075524 + "lat": 58.84922791, + "lon": 10.55075524 } }, { "position": { - "latitude": 58.8150714, - "longitude": 10.51539816 + "lat": 58.8150714, + "lon": 10.51539816 } } ] @@ -120,8 +120,8 @@ }, "initial": { "position": { - "latitude": 58.75759575, - "longitude": 10.54367028 + "lat": 58.75759575, + "lon": 10.54367028 }, "sog": 12.1, "cog": 320.63, @@ -131,17 +131,17 @@ "waypoints": [ { "position": { - "latitude": 58.75759575, - "longitude": 10.54367028 + "lat": 58.75759575, + "lon": 10.54367028 } }, { "position": { - "latitude": 58.78341191, - "longitude": 10.5028914 + "lat": 58.78341191, + "lon": 10.5028914 } } ] } ] -} \ No newline at end of file +} diff --git a/data/baseline_situations_generated/traffic_situation_27.json b/data/baseline_situations_generated/traffic_situation_27.json index 0326387..c30d765 100644 --- a/data/baseline_situations_generated/traffic_situation_27.json +++ b/data/baseline_situations_generated/traffic_situation_27.json @@ -14,8 +14,8 @@ }, "initial": { "position": { - "latitude": 58.763449, - "longitude": 10.490654 + "lat": 58.763449, + "lon": 10.490654 }, "sog": 10.0, "cog": 0.0, @@ -25,14 +25,14 @@ "waypoints": [ { "position": { - "latitude": 58.763449, - "longitude": 10.490654 + "lat": 58.763449, + "lon": 10.490654 } }, { "position": { - "latitude": 58.7911568, - "longitude": 10.490654 + "lat": 58.7911568, + "lon": 10.490654 } } ] @@ -50,8 +50,8 @@ }, "initial": { "position": { - "latitude": 58.86863701, - "longitude": 10.48358631 + "lat": 58.86863701, + "lon": 10.48358631 }, "sog": 14.0, "cog": 177.27, @@ -61,14 +61,14 @@ "waypoints": [ { "position": { - "latitude": 58.86863701, - "longitude": 10.48358631 + "lat": 58.86863701, + "lon": 10.48358631 } }, { "position": { - "latitude": 58.82989863, - "longitude": 10.48713783 + "lat": 58.82989863, + "lon": 10.48713783 } } ] @@ -85,8 +85,8 @@ }, "initial": { "position": { - "latitude": 58.81497919, - "longitude": 10.58984352 + "lat": 58.81497919, + "lon": 10.58984352 }, "sog": 12.1, "cog": 245.17, @@ -96,14 +96,14 @@ "waypoints": [ { "position": { - "latitude": 58.81497919, - "longitude": 10.58984352 + "lat": 58.81497919, + "lon": 10.58984352 } }, { "position": { - "latitude": 58.80095463, - "longitude": 10.53150353 + "lat": 58.80095463, + "lon": 10.53150353 } } ] @@ -120,8 +120,8 @@ }, "initial": { "position": { - "latitude": 58.75609652, - "longitude": 10.40129703 + "lat": 58.75609652, + "lon": 10.40129703 }, "sog": 14.0, "cog": 52.94, @@ -131,17 +131,17 @@ "waypoints": [ { "position": { - "latitude": 58.75609652, - "longitude": 10.40129703 + "lat": 58.75609652, + "lon": 10.40129703 } }, { "position": { - "latitude": 58.77946801, - "longitude": 10.46087019 + "lat": 58.77946801, + "lon": 10.46087019 } } ] } ] -} \ No newline at end of file +} diff --git a/data/baseline_situations_generated/traffic_situation_28.json b/data/baseline_situations_generated/traffic_situation_28.json index f160d8a..5476a8c 100644 --- a/data/baseline_situations_generated/traffic_situation_28.json +++ b/data/baseline_situations_generated/traffic_situation_28.json @@ -14,8 +14,8 @@ }, "initial": { "position": { - "latitude": 58.763449, - "longitude": 10.490654 + "lat": 58.763449, + "lon": 10.490654 }, "sog": 10.0, "cog": 0.0, @@ -25,14 +25,14 @@ "waypoints": [ { "position": { - "latitude": 58.763449, - "longitude": 10.490654 + "lat": 58.763449, + "lon": 10.490654 } }, { "position": { - "latitude": 58.7911568, - "longitude": 10.490654 + "lat": 58.7911568, + "lon": 10.490654 } } ] @@ -50,8 +50,8 @@ }, "initial": { "position": { - "latitude": 58.8577654, - "longitude": 10.4811325 + "lat": 58.8577654, + "lon": 10.4811325 }, "sog": 12.1, "cog": 175.73, @@ -61,14 +61,14 @@ "waypoints": [ { "position": { - "latitude": 58.8577654, - "longitude": 10.4811325 + "lat": 58.8577654, + "lon": 10.4811325 } }, { "position": { - "latitude": 58.8244624, - "longitude": 10.4859231 + "lat": 58.8244624, + "lon": 10.4859231 } } ] @@ -85,8 +85,8 @@ }, "initial": { "position": { - "latitude": 58.8080666, - "longitude": 10.61331031 + "lat": 58.8080666, + "lon": 10.61331031 }, "sog": 14.0, "cog": 255.14, @@ -96,14 +96,14 @@ "waypoints": [ { "position": { - "latitude": 58.8080666, - "longitude": 10.61331031 + "lat": 58.8080666, + "lon": 10.61331031 } }, { "position": { - "latitude": 58.79811933, - "longitude": 10.54115628 + "lat": 58.79811933, + "lon": 10.54115628 } } ] @@ -120,8 +120,8 @@ }, "initial": { "position": { - "latitude": 58.76616017, - "longitude": 10.49366079 + "lat": 58.76616017, + "lon": 10.49366079 }, "sog": 6.0, "cog": 356.44, @@ -131,17 +131,17 @@ "waypoints": [ { "position": { - "latitude": 58.76616017, - "longitude": 10.49366079 + "lat": 58.76616017, + "lon": 10.49366079 } }, { "position": { - "latitude": 58.78282583, - "longitude": 10.49166335 + "lat": 58.78282583, + "lon": 10.49166335 } } ] } ] -} \ No newline at end of file +} diff --git a/data/baseline_situations_generated/traffic_situation_29.json b/data/baseline_situations_generated/traffic_situation_29.json index 8ea6a04..b23b8a4 100644 --- a/data/baseline_situations_generated/traffic_situation_29.json +++ b/data/baseline_situations_generated/traffic_situation_29.json @@ -14,8 +14,8 @@ }, "initial": { "position": { - "latitude": 58.763449, - "longitude": 10.490654 + "lat": 58.763449, + "lon": 10.490654 }, "sog": 10.0, "cog": 0.0, @@ -25,14 +25,14 @@ "waypoints": [ { "position": { - "latitude": 58.763449, - "longitude": 10.490654 + "lat": 58.763449, + "lon": 10.490654 } }, { "position": { - "latitude": 58.7911568, - "longitude": 10.490654 + "lat": 58.7911568, + "lon": 10.490654 } } ] @@ -50,8 +50,8 @@ }, "initial": { "position": { - "latitude": 58.8357349, - "longitude": 10.48821746 + "lat": 58.8357349, + "lon": 10.48821746 }, "sog": 8.9, "cog": 178.36, @@ -61,14 +61,14 @@ "waypoints": [ { "position": { - "latitude": 58.8357349, - "longitude": 10.48821746 + "lat": 58.8357349, + "lon": 10.48821746 } }, { "position": { - "latitude": 58.81096745, - "longitude": 10.48958097 + "lat": 58.81096745, + "lon": 10.48958097 } } ] @@ -85,8 +85,8 @@ }, "initial": { "position": { - "latitude": 58.77486823, - "longitude": 10.61533211 + "lat": 58.77486823, + "lon": 10.61533211 }, "sog": 12.1, "cog": 284.13, @@ -96,14 +96,14 @@ "waypoints": [ { "position": { - "latitude": 58.77486823, - "longitude": 10.61533211 + "lat": 58.77486823, + "lon": 10.61533211 } }, { "position": { - "latitude": 58.7830208, - "longitude": 10.55299388 + "lat": 58.7830208, + "lon": 10.55299388 } } ] @@ -120,8 +120,8 @@ }, "initial": { "position": { - "latitude": 58.72454999, - "longitude": 10.44741843 + "lat": 58.72454999, + "lon": 10.44741843 }, "sog": 16.9, "cog": 18.62, @@ -131,17 +131,17 @@ "waypoints": [ { "position": { - "latitude": 58.72454999, - "longitude": 10.44741843 + "lat": 58.72454999, + "lon": 10.44741843 } }, { "position": { - "latitude": 58.76895875, - "longitude": 10.47622127 + "lat": 58.76895875, + "lon": 10.47622127 } } ] } ] -} \ No newline at end of file +} diff --git a/data/baseline_situations_generated/traffic_situation_30.json b/data/baseline_situations_generated/traffic_situation_30.json index d85e609..db2ee03 100644 --- a/data/baseline_situations_generated/traffic_situation_30.json +++ b/data/baseline_situations_generated/traffic_situation_30.json @@ -14,8 +14,8 @@ }, "initial": { "position": { - "latitude": 58.763449, - "longitude": 10.490654 + "lat": 58.763449, + "lon": 10.490654 }, "sog": 10.0, "cog": 0.0, @@ -25,14 +25,14 @@ "waypoints": [ { "position": { - "latitude": 58.763449, - "longitude": 10.490654 + "lat": 58.763449, + "lon": 10.490654 } }, { "position": { - "latitude": 58.7911568, - "longitude": 10.490654 + "lat": 58.7911568, + "lon": 10.490654 } } ] @@ -50,8 +50,8 @@ }, "initial": { "position": { - "latitude": 58.82867867, - "longitude": 10.49284861 + "lat": 58.82867867, + "lon": 10.49284861 }, "sog": 8.0, "cog": 181.74, @@ -61,14 +61,14 @@ "waypoints": [ { "position": { - "latitude": 58.82867867, - "longitude": 10.49284861 + "lat": 58.82867867, + "lon": 10.49284861 } }, { "position": { - "latitude": 58.80660452, - "longitude": 10.4915562 + "lat": 58.80660452, + "lon": 10.4915562 } } ] @@ -85,8 +85,8 @@ }, "initial": { "position": { - "latitude": 58.76852122, - "longitude": 10.37910899 + "lat": 58.76852122, + "lon": 10.37910899 }, "sog": 15.0, "cog": 68.64, @@ -96,14 +96,14 @@ "waypoints": [ { "position": { - "latitude": 58.76852122, - "longitude": 10.37910899 + "lat": 58.76852122, + "lon": 10.37910899 } }, { "position": { - "latitude": 58.78362748, - "longitude": 10.45346076 + "lat": 58.78362748, + "lon": 10.45346076 } } ] @@ -120,8 +120,8 @@ }, "initial": { "position": { - "latitude": 58.74969565, - "longitude": 10.34050457 + "lat": 58.74969565, + "lon": 10.34050457 }, "sog": 15.9, "cog": 61.99, @@ -131,17 +131,17 @@ "waypoints": [ { "position": { - "latitude": 58.74969565, - "longitude": 10.34050457 + "lat": 58.74969565, + "lon": 10.34050457 } }, { "position": { - "latitude": 58.77043567, - "longitude": 10.41556825 + "lat": 58.77043567, + "lon": 10.41556825 } } ] } ] -} \ No newline at end of file +} diff --git a/data/baseline_situations_generated/traffic_situation_31.json b/data/baseline_situations_generated/traffic_situation_31.json index d9147df..64ea186 100644 --- a/data/baseline_situations_generated/traffic_situation_31.json +++ b/data/baseline_situations_generated/traffic_situation_31.json @@ -14,8 +14,8 @@ }, "initial": { "position": { - "latitude": 58.763449, - "longitude": 10.490654 + "lat": 58.763449, + "lon": 10.490654 }, "sog": 10.0, "cog": 0.0, @@ -25,14 +25,14 @@ "waypoints": [ { "position": { - "latitude": 58.763449, - "longitude": 10.490654 + "lat": 58.763449, + "lon": 10.490654 } }, { "position": { - "latitude": 58.7911568, - "longitude": 10.490654 + "lat": 58.7911568, + "lon": 10.490654 } } ] @@ -50,8 +50,8 @@ }, "initial": { "position": { - "latitude": 58.82454908, - "longitude": 10.490654 + "lat": 58.82454908, + "lon": 10.490654 }, "sog": 6.0, "cog": 180.02, @@ -61,14 +61,14 @@ "waypoints": [ { "position": { - "latitude": 58.82454908, - "longitude": 10.490654 + "lat": 58.82454908, + "lon": 10.490654 } }, { "position": { - "latitude": 58.80785114, - "longitude": 10.49064091 + "lat": 58.80785114, + "lon": 10.49064091 } } ] @@ -85,8 +85,8 @@ }, "initial": { "position": { - "latitude": 58.75563868, - "longitude": 10.40539249 + "lat": 58.75563868, + "lon": 10.40539249 }, "sog": 12.1, "cog": 51.28, @@ -96,14 +96,14 @@ "waypoints": [ { "position": { - "latitude": 58.75563868, - "longitude": 10.40539249 + "lat": 58.75563868, + "lon": 10.40539249 } }, { "position": { - "latitude": 58.77652842, - "longitude": 10.45554675 + "lat": 58.77652842, + "lon": 10.45554675 } } ] @@ -120,8 +120,8 @@ }, "initial": { "position": { - "latitude": 58.72339191, - "longitude": 10.45469348 + "lat": 58.72339191, + "lon": 10.45469348 }, "sog": 16.9, "cog": 15.41, @@ -131,17 +131,17 @@ "waypoints": [ { "position": { - "latitude": 58.72339191, - "longitude": 10.45469348 + "lat": 58.72339191, + "lon": 10.45469348 } }, { "position": { - "latitude": 58.76856857, - "longitude": 10.4786667 + "lat": 58.76856857, + "lon": 10.4786667 } } ] } ] -} \ No newline at end of file +} diff --git a/data/baseline_situations_generated/traffic_situation_32.json b/data/baseline_situations_generated/traffic_situation_32.json index 5939a09..b88c287 100644 --- a/data/baseline_situations_generated/traffic_situation_32.json +++ b/data/baseline_situations_generated/traffic_situation_32.json @@ -14,8 +14,8 @@ }, "initial": { "position": { - "latitude": 58.763449, - "longitude": 10.490654 + "lat": 58.763449, + "lon": 10.490654 }, "sog": 10.0, "cog": 0.0, @@ -25,14 +25,14 @@ "waypoints": [ { "position": { - "latitude": 58.763449, - "longitude": 10.490654 + "lat": 58.763449, + "lon": 10.490654 } }, { "position": { - "latitude": 58.7911568, - "longitude": 10.490654 + "lat": 58.7911568, + "lon": 10.490654 } } ] @@ -50,8 +50,8 @@ }, "initial": { "position": { - "latitude": 58.81915367, - "longitude": 10.48878772 + "lat": 58.81915367, + "lon": 10.48878772 }, "sog": 5.1, "cog": 178.02, @@ -61,14 +61,14 @@ "waypoints": [ { "position": { - "latitude": 58.81915367, - "longitude": 10.48878772 + "lat": 58.81915367, + "lon": 10.48878772 } }, { "position": { - "latitude": 58.80515733, - "longitude": 10.48972006 + "lat": 58.80515733, + "lon": 10.48972006 } } ] @@ -85,8 +85,8 @@ }, "initial": { "position": { - "latitude": 58.75045872, - "longitude": 10.42194711 + "lat": 58.75045872, + "lon": 10.42194711 }, "sog": 13.0, "cog": 41.25, @@ -96,17 +96,17 @@ "waypoints": [ { "position": { - "latitude": 58.75045872, - "longitude": 10.42194711 + "lat": 58.75045872, + "lon": 10.42194711 } }, { "position": { - "latitude": 58.77759071, - "longitude": 10.46775274 + "lat": 58.77759071, + "lon": 10.46775274 } } ] } ] -} \ No newline at end of file +} diff --git a/data/baseline_situations_generated/traffic_situation_33.json b/data/baseline_situations_generated/traffic_situation_33.json index 4f8baae..0313405 100644 --- a/data/baseline_situations_generated/traffic_situation_33.json +++ b/data/baseline_situations_generated/traffic_situation_33.json @@ -14,8 +14,8 @@ }, "initial": { "position": { - "latitude": 58.763449, - "longitude": 10.490654 + "lat": 58.763449, + "lon": 10.490654 }, "sog": 10.0, "cog": 0.0, @@ -25,14 +25,14 @@ "waypoints": [ { "position": { - "latitude": 58.763449, - "longitude": 10.490654 + "lat": 58.763449, + "lon": 10.490654 } }, { "position": { - "latitude": 58.7911568, - "longitude": 10.490654 + "lat": 58.7911568, + "lon": 10.490654 } } ] @@ -50,8 +50,8 @@ }, "initial": { "position": { - "latitude": 58.84318613, - "longitude": 10.49868939 + "lat": 58.84318613, + "lon": 10.49868939 }, "sog": 11.1, "cog": 184.61, @@ -61,17 +61,17 @@ "waypoints": [ { "position": { - "latitude": 58.84318613, - "longitude": 10.49868939 + "lat": 58.84318613, + "lon": 10.49868939 } }, { "position": { - "latitude": 58.81258267, - "longitude": 10.49394251 + "lat": 58.81258267, + "lon": 10.49394251 } } ] } ] -} \ No newline at end of file +} diff --git a/data/baseline_situations_generated/traffic_situation_34.json b/data/baseline_situations_generated/traffic_situation_34.json index bd30cc3..08ff7b9 100644 --- a/data/baseline_situations_generated/traffic_situation_34.json +++ b/data/baseline_situations_generated/traffic_situation_34.json @@ -14,8 +14,8 @@ }, "initial": { "position": { - "latitude": 58.763449, - "longitude": 10.490654 + "lat": 58.763449, + "lon": 10.490654 }, "sog": 10.0, "cog": 0.0, @@ -25,14 +25,14 @@ "waypoints": [ { "position": { - "latitude": 58.763449, - "longitude": 10.490654 + "lat": 58.763449, + "lon": 10.490654 } }, { "position": { - "latitude": 58.7911568, - "longitude": 10.490654 + "lat": 58.7911568, + "lon": 10.490654 } } ] @@ -50,8 +50,8 @@ }, "initial": { "position": { - "latitude": 58.85233408, - "longitude": 10.48168547 + "lat": 58.85233408, + "lon": 10.48168547 }, "sog": 13.0, "cog": 175.67, @@ -61,14 +61,14 @@ "waypoints": [ { "position": { - "latitude": 58.85233408, - "longitude": 10.48168547 + "lat": 58.85233408, + "lon": 10.48168547 } }, { "position": { - "latitude": 58.81634806, - "longitude": 10.48693168 + "lat": 58.81634806, + "lon": 10.48693168 } } ] @@ -85,8 +85,8 @@ }, "initial": { "position": { - "latitude": 58.76444549, - "longitude": 10.49134522 + "lat": 58.76444549, + "lon": 10.49134522 }, "sog": 6.0, "cog": 359.24, @@ -96,14 +96,14 @@ "waypoints": [ { "position": { - "latitude": 58.76444549, - "longitude": 10.49134522 + "lat": 58.76444549, + "lon": 10.49134522 } }, { "position": { - "latitude": 58.78114197, - "longitude": 10.49092143 + "lat": 58.78114197, + "lon": 10.49092143 } } ] @@ -120,8 +120,8 @@ }, "initial": { "position": { - "latitude": 58.7293888, - "longitude": 10.49639109 + "lat": 58.7293888, + "lon": 10.49639109 }, "sog": 15.9, "cog": 357.24, @@ -131,17 +131,17 @@ "waypoints": [ { "position": { - "latitude": 58.7293888, - "longitude": 10.49639109 + "lat": 58.7293888, + "lon": 10.49639109 } }, { "position": { - "latitude": 58.77350627, - "longitude": 10.49229598 + "lat": 58.77350627, + "lon": 10.49229598 } } ] } ] -} \ No newline at end of file +} diff --git a/data/baseline_situations_generated/traffic_situation_35.json b/data/baseline_situations_generated/traffic_situation_35.json index 879cf26..abeb67e 100644 --- a/data/baseline_situations_generated/traffic_situation_35.json +++ b/data/baseline_situations_generated/traffic_situation_35.json @@ -14,8 +14,8 @@ }, "initial": { "position": { - "latitude": 58.763449, - "longitude": 10.490654 + "lat": 58.763449, + "lon": 10.490654 }, "sog": 10.0, "cog": 0.0, @@ -25,14 +25,14 @@ "waypoints": [ { "position": { - "latitude": 58.763449, - "longitude": 10.490654 + "lat": 58.763449, + "lon": 10.490654 } }, { "position": { - "latitude": 58.7911568, - "longitude": 10.490654 + "lat": 58.7911568, + "lon": 10.490654 } } ] @@ -50,8 +50,8 @@ }, "initial": { "position": { - "latitude": 58.84160611, - "longitude": 10.49590724 + "lat": 58.84160611, + "lon": 10.49590724 }, "sog": 13.0, "cog": 183.12, @@ -61,14 +61,14 @@ "waypoints": [ { "position": { - "latitude": 58.84160611, - "longitude": 10.49590724 + "lat": 58.84160611, + "lon": 10.49590724 } }, { "position": { - "latitude": 58.80557042, - "longitude": 10.49212958 + "lat": 58.80557042, + "lon": 10.49212958 } } ] @@ -85,8 +85,8 @@ }, "initial": { "position": { - "latitude": 58.71040164, - "longitude": 10.53826151 + "lat": 58.71040164, + "lon": 10.53826151 }, "sog": 19.1, "cog": 342.97, @@ -96,14 +96,14 @@ "waypoints": [ { "position": { - "latitude": 58.71040164, - "longitude": 10.53826151 + "lat": 58.71040164, + "lon": 10.53826151 } }, { "position": { - "latitude": 58.76087471, - "longitude": 10.50850741 + "lat": 58.76087471, + "lon": 10.50850741 } } ] @@ -120,8 +120,8 @@ }, "initial": { "position": { - "latitude": 58.71695513, - "longitude": 10.50643101 + "lat": 58.71695513, + "lon": 10.50643101 }, "sog": 15.0, "cog": 353.69, @@ -131,17 +131,17 @@ "waypoints": [ { "position": { - "latitude": 58.71695513, - "longitude": 10.50643101 + "lat": 58.71695513, + "lon": 10.50643101 } }, { "position": { - "latitude": 58.75817912, - "longitude": 10.4976521 + "lat": 58.75817912, + "lon": 10.4976521 } } ] } ] -} \ No newline at end of file +} diff --git a/data/baseline_situations_generated/traffic_situation_36.json b/data/baseline_situations_generated/traffic_situation_36.json index 08d4bf2..4704a04 100644 --- a/data/baseline_situations_generated/traffic_situation_36.json +++ b/data/baseline_situations_generated/traffic_situation_36.json @@ -14,8 +14,8 @@ }, "initial": { "position": { - "latitude": 58.763449, - "longitude": 10.490654 + "lat": 58.763449, + "lon": 10.490654 }, "sog": 10.0, "cog": 0.0, @@ -25,14 +25,14 @@ "waypoints": [ { "position": { - "latitude": 58.763449, - "longitude": 10.490654 + "lat": 58.763449, + "lon": 10.490654 } }, { "position": { - "latitude": 58.7911568, - "longitude": 10.490654 + "lat": 58.7911568, + "lon": 10.490654 } } ] @@ -50,8 +50,8 @@ }, "initial": { "position": { - "latitude": 58.84495467, - "longitude": 10.53269722 + "lat": 58.84495467, + "lon": 10.53269722 }, "sog": 15.0, "cog": 202.08, @@ -61,14 +61,14 @@ "waypoints": [ { "position": { - "latitude": 58.84495467, - "longitude": 10.53269722 + "lat": 58.84495467, + "lon": 10.53269722 } }, { "position": { - "latitude": 58.80652158, - "longitude": 10.50268415 + "lat": 58.80652158, + "lon": 10.50268415 } } ] @@ -85,8 +85,8 @@ }, "initial": { "position": { - "latitude": 58.83445113, - "longitude": 10.58635288 + "lat": 58.83445113, + "lon": 10.58635288 }, "sog": 14.0, "cog": 228.95, @@ -96,14 +96,14 @@ "waypoints": [ { "position": { - "latitude": 58.83445113, - "longitude": 10.58635288 + "lat": 58.83445113, + "lon": 10.58635288 } }, { "position": { - "latitude": 58.80898413, - "longitude": 10.53005219 + "lat": 58.80898413, + "lon": 10.53005219 } } ] @@ -120,8 +120,8 @@ }, "initial": { "position": { - "latitude": 58.75851144, - "longitude": 10.53539297 + "lat": 58.75851144, + "lon": 10.53539297 }, "sog": 12.1, "cog": 324.52, @@ -131,17 +131,17 @@ "waypoints": [ { "position": { - "latitude": 58.75851144, - "longitude": 10.53539297 + "lat": 58.75851144, + "lon": 10.53539297 } }, { "position": { - "latitude": 58.78570742, - "longitude": 10.49808486 + "lat": 58.78570742, + "lon": 10.49808486 } } ] } ] -} \ No newline at end of file +} diff --git a/data/baseline_situations_generated/traffic_situation_37.json b/data/baseline_situations_generated/traffic_situation_37.json index 7923189..dbffc50 100644 --- a/data/baseline_situations_generated/traffic_situation_37.json +++ b/data/baseline_situations_generated/traffic_situation_37.json @@ -14,8 +14,8 @@ }, "initial": { "position": { - "latitude": 58.763449, - "longitude": 10.490654 + "lat": 58.763449, + "lon": 10.490654 }, "sog": 10.0, "cog": 0.0, @@ -25,14 +25,14 @@ "waypoints": [ { "position": { - "latitude": 58.763449, - "longitude": 10.490654 + "lat": 58.763449, + "lon": 10.490654 } }, { "position": { - "latitude": 58.7911568, - "longitude": 10.490654 + "lat": 58.7911568, + "lon": 10.490654 } } ] @@ -50,8 +50,8 @@ }, "initial": { "position": { - "latitude": 58.76932919, - "longitude": 10.62003238 + "lat": 58.76932919, + "lon": 10.62003238 }, "sog": 15.9, "cog": 287.97, @@ -61,14 +61,14 @@ "waypoints": [ { "position": { - "latitude": 58.76932919, - "longitude": 10.62003238 + "lat": 58.76932919, + "lon": 10.62003238 } }, { "position": { - "latitude": 58.78295504, - "longitude": 10.53915956 + "lat": 58.78295504, + "lon": 10.53915956 } } ] @@ -85,8 +85,8 @@ }, "initial": { "position": { - "latitude": 58.81748388, - "longitude": 10.59466475 + "lat": 58.81748388, + "lon": 10.59466475 }, "sog": 12.1, "cog": 244.02, @@ -96,14 +96,14 @@ "waypoints": [ { "position": { - "latitude": 58.81748388, - "longitude": 10.59466475 + "lat": 58.81748388, + "lon": 10.59466475 } }, { "position": { - "latitude": 58.802856, - "longitude": 10.53687631 + "lat": 58.802856, + "lon": 10.53687631 } } ] @@ -120,8 +120,8 @@ }, "initial": { "position": { - "latitude": 58.75193999, - "longitude": 10.40794999 + "lat": 58.75193999, + "lon": 10.40794999 }, "sog": 14.0, "cog": 47.61, @@ -131,17 +131,17 @@ "waypoints": [ { "position": { - "latitude": 58.75193999, - "longitude": 10.40794999 + "lat": 58.75193999, + "lon": 10.40794999 } }, { "position": { - "latitude": 58.7780846, - "longitude": 10.46308791 + "lat": 58.7780846, + "lon": 10.46308791 } } ] } ] -} \ No newline at end of file +} diff --git a/data/baseline_situations_generated/traffic_situation_38.json b/data/baseline_situations_generated/traffic_situation_38.json index 17848a8..58e2665 100644 --- a/data/baseline_situations_generated/traffic_situation_38.json +++ b/data/baseline_situations_generated/traffic_situation_38.json @@ -14,8 +14,8 @@ }, "initial": { "position": { - "latitude": 58.763449, - "longitude": 10.490654 + "lat": 58.763449, + "lon": 10.490654 }, "sog": 10.0, "cog": 0.0, @@ -25,14 +25,14 @@ "waypoints": [ { "position": { - "latitude": 58.763449, - "longitude": 10.490654 + "lat": 58.763449, + "lon": 10.490654 } }, { "position": { - "latitude": 58.7911568, - "longitude": 10.490654 + "lat": 58.7911568, + "lon": 10.490654 } } ] @@ -50,8 +50,8 @@ }, "initial": { "position": { - "latitude": 58.85631106, - "longitude": 10.5189593 + "lat": 58.85631106, + "lon": 10.5189593 }, "sog": 12.1, "cog": 192.74, @@ -61,14 +61,14 @@ "waypoints": [ { "position": { - "latitude": 58.85631106, - "longitude": 10.5189593 + "lat": 58.85631106, + "lon": 10.5189593 } }, { "position": { - "latitude": 58.82373776, - "longitude": 10.50477984 + "lat": 58.82373776, + "lon": 10.50477984 } } ] @@ -85,8 +85,8 @@ }, "initial": { "position": { - "latitude": 58.82181995, - "longitude": 10.60301119 + "lat": 58.82181995, + "lon": 10.60301119 }, "sog": 14.0, "cog": 242.3, @@ -96,14 +96,14 @@ "waypoints": [ { "position": { - "latitude": 58.82181995, - "longitude": 10.60301119 + "lat": 58.82181995, + "lon": 10.60301119 } }, { "position": { - "latitude": 58.80379462, - "longitude": 10.53691303 + "lat": 58.80379462, + "lon": 10.53691303 } } ] @@ -120,8 +120,8 @@ }, "initial": { "position": { - "latitude": 58.77098103, - "longitude": 10.49592452 + "lat": 58.77098103, + "lon": 10.49592452 }, "sog": 4.1, "cog": 352.25, @@ -131,17 +131,17 @@ "waypoints": [ { "position": { - "latitude": 58.77098103, - "longitude": 10.49592452 + "lat": 58.77098103, + "lon": 10.49592452 } }, { "position": { - "latitude": 58.78218933, - "longitude": 10.49299005 + "lat": 58.78218933, + "lon": 10.49299005 } } ] } ] -} \ No newline at end of file +} diff --git a/data/baseline_situations_generated/traffic_situation_39.json b/data/baseline_situations_generated/traffic_situation_39.json index d1d314a..96bca6a 100644 --- a/data/baseline_situations_generated/traffic_situation_39.json +++ b/data/baseline_situations_generated/traffic_situation_39.json @@ -14,8 +14,8 @@ }, "initial": { "position": { - "latitude": 58.763449, - "longitude": 10.490654 + "lat": 58.763449, + "lon": 10.490654 }, "sog": 10.0, "cog": 0.0, @@ -25,14 +25,14 @@ "waypoints": [ { "position": { - "latitude": 58.763449, - "longitude": 10.490654 + "lat": 58.763449, + "lon": 10.490654 } }, { "position": { - "latitude": 58.7911568, - "longitude": 10.490654 + "lat": 58.7911568, + "lon": 10.490654 } } ] @@ -50,8 +50,8 @@ }, "initial": { "position": { - "latitude": 58.87899691, - "longitude": 10.52986324 + "lat": 58.87899691, + "lon": 10.52986324 }, "sog": 18.1, "cog": 193.03, @@ -61,14 +61,14 @@ "waypoints": [ { "position": { - "latitude": 58.87899691, - "longitude": 10.52986324 + "lat": 58.87899691, + "lon": 10.52986324 } }, { "position": { - "latitude": 58.83019281, - "longitude": 10.50812407 + "lat": 58.83019281, + "lon": 10.50812407 } } ] @@ -85,8 +85,8 @@ }, "initial": { "position": { - "latitude": 58.77486823, - "longitude": 10.61533211 + "lat": 58.77486823, + "lon": 10.61533211 }, "sog": 12.1, "cog": 284.13, @@ -96,14 +96,14 @@ "waypoints": [ { "position": { - "latitude": 58.77486823, - "longitude": 10.61533211 + "lat": 58.77486823, + "lon": 10.61533211 } }, { "position": { - "latitude": 58.7830208, - "longitude": 10.55299388 + "lat": 58.7830208, + "lon": 10.55299388 } } ] @@ -120,8 +120,8 @@ }, "initial": { "position": { - "latitude": 58.71663194, - "longitude": 10.47475603 + "lat": 58.71663194, + "lon": 10.47475603 }, "sog": 16.9, "cog": 6.3, @@ -131,17 +131,17 @@ "waypoints": [ { "position": { - "latitude": 58.71663194, - "longitude": 10.47475603 + "lat": 58.71663194, + "lon": 10.47475603 } }, { "position": { - "latitude": 58.76321066, - "longitude": 10.48465844 + "lat": 58.76321066, + "lon": 10.48465844 } } ] } ] -} \ No newline at end of file +} diff --git a/data/baseline_situations_generated/traffic_situation_40.json b/data/baseline_situations_generated/traffic_situation_40.json index 13d92e7..4661e8a 100644 --- a/data/baseline_situations_generated/traffic_situation_40.json +++ b/data/baseline_situations_generated/traffic_situation_40.json @@ -14,8 +14,8 @@ }, "initial": { "position": { - "latitude": 58.763449, - "longitude": 10.490654 + "lat": 58.763449, + "lon": 10.490654 }, "sog": 10.0, "cog": 0.0, @@ -25,14 +25,14 @@ "waypoints": [ { "position": { - "latitude": 58.763449, - "longitude": 10.490654 + "lat": 58.763449, + "lon": 10.490654 } }, { "position": { - "latitude": 58.7911568, - "longitude": 10.490654 + "lat": 58.7911568, + "lon": 10.490654 } } ] @@ -50,8 +50,8 @@ }, "initial": { "position": { - "latitude": 58.82287031, - "longitude": 10.51082023 + "lat": 58.82287031, + "lon": 10.51082023 }, "sog": 6.0, "cog": 198.3, @@ -61,14 +61,14 @@ "waypoints": [ { "position": { - "latitude": 58.82287031, - "longitude": 10.51082023 + "lat": 58.82287031, + "lon": 10.51082023 } }, { "position": { - "latitude": 58.80701693, - "longitude": 10.50072766 + "lat": 58.80701693, + "lon": 10.50072766 } } ] @@ -85,8 +85,8 @@ }, "initial": { "position": { - "latitude": 58.7798417, - "longitude": 10.37290533 + "lat": 58.7798417, + "lon": 10.37290533 }, "sog": 15.0, "cog": 79.53, @@ -96,14 +96,14 @@ "waypoints": [ { "position": { - "latitude": 58.7798417, - "longitude": 10.37290533 + "lat": 58.7798417, + "lon": 10.37290533 } }, { "position": { - "latitude": 58.78738112, - "longitude": 10.45141067 + "lat": 58.78738112, + "lon": 10.45141067 } } ] @@ -120,8 +120,8 @@ }, "initial": { "position": { - "latitude": 58.74116713, - "longitude": 10.24739775 + "lat": 58.74116713, + "lon": 10.24739775 }, "sog": 16.9, "cog": 68.41, @@ -131,17 +131,17 @@ "waypoints": [ { "position": { - "latitude": 58.74116713, - "longitude": 10.24739775 + "lat": 58.74116713, + "lon": 10.24739775 } }, { "position": { - "latitude": 58.75840968, - "longitude": 10.33127351 + "lat": 58.75840968, + "lon": 10.33127351 } } ] } ] -} \ No newline at end of file +} diff --git a/data/baseline_situations_generated/traffic_situation_41.json b/data/baseline_situations_generated/traffic_situation_41.json index 18caeb1..a5cd0bb 100644 --- a/data/baseline_situations_generated/traffic_situation_41.json +++ b/data/baseline_situations_generated/traffic_situation_41.json @@ -14,8 +14,8 @@ }, "initial": { "position": { - "latitude": 58.763449, - "longitude": 10.490654 + "lat": 58.763449, + "lon": 10.490654 }, "sog": 10.0, "cog": 0.0, @@ -25,14 +25,14 @@ "waypoints": [ { "position": { - "latitude": 58.763449, - "longitude": 10.490654 + "lat": 58.763449, + "lon": 10.490654 } }, { "position": { - "latitude": 58.7911568, - "longitude": 10.490654 + "lat": 58.7911568, + "lon": 10.490654 } } ] @@ -50,8 +50,8 @@ }, "initial": { "position": { - "latitude": 58.79163799, - "longitude": 10.69314577 + "lat": 58.79163799, + "lon": 10.69314577 }, "sog": 18.1, "cog": 269.75, @@ -61,14 +61,14 @@ "waypoints": [ { "position": { - "latitude": 58.79163799, - "longitude": 10.69314577 + "lat": 58.79163799, + "lon": 10.69314577 } }, { "position": { - "latitude": 58.79141813, - "longitude": 10.59672205 + "lat": 58.79141813, + "lon": 10.59672205 } } ] @@ -85,8 +85,8 @@ }, "initial": { "position": { - "latitude": 58.83445113, - "longitude": 10.39495512 + "lat": 58.83445113, + "lon": 10.39495512 }, "sog": 14.0, "cog": 131.04, @@ -96,14 +96,14 @@ "waypoints": [ { "position": { - "latitude": 58.83445113, - "longitude": 10.39495512 + "lat": 58.83445113, + "lon": 10.39495512 } }, { "position": { - "latitude": 58.80898955, - "longitude": 10.4512649 + "lat": 58.80898955, + "lon": 10.4512649 } } ] @@ -120,8 +120,8 @@ }, "initial": { "position": { - "latitude": 58.72339191, - "longitude": 10.45469348 + "lat": 58.72339191, + "lon": 10.45469348 }, "sog": 16.9, "cog": 15.41, @@ -131,17 +131,17 @@ "waypoints": [ { "position": { - "latitude": 58.72339191, - "longitude": 10.45469348 + "lat": 58.72339191, + "lon": 10.45469348 } }, { "position": { - "latitude": 58.76856857, - "longitude": 10.4786667 + "lat": 58.76856857, + "lon": 10.4786667 } } ] } ] -} \ No newline at end of file +} diff --git a/data/baseline_situations_generated/traffic_situation_42.json b/data/baseline_situations_generated/traffic_situation_42.json index 7c2fb18..cac3095 100644 --- a/data/baseline_situations_generated/traffic_situation_42.json +++ b/data/baseline_situations_generated/traffic_situation_42.json @@ -14,8 +14,8 @@ }, "initial": { "position": { - "latitude": 58.763449, - "longitude": 10.490654 + "lat": 58.763449, + "lon": 10.490654 }, "sog": 10.0, "cog": 0.0, @@ -25,14 +25,14 @@ "waypoints": [ { "position": { - "latitude": 58.763449, - "longitude": 10.490654 + "lat": 58.763449, + "lon": 10.490654 } }, { "position": { - "latitude": 58.7911568, - "longitude": 10.490654 + "lat": 58.7911568, + "lon": 10.490654 } } ] @@ -50,8 +50,8 @@ }, "initial": { "position": { - "latitude": 58.80563373, - "longitude": 10.57185462 + "lat": 58.80563373, + "lon": 10.57185462 }, "sog": 8.9, "cog": 251.07, @@ -61,14 +61,14 @@ "waypoints": [ { "position": { - "latitude": 58.80563373, - "longitude": 10.57185462 + "lat": 58.80563373, + "lon": 10.57185462 } }, { "position": { - "latitude": 58.79759561, - "longitude": 10.52674017 + "lat": 58.79759561, + "lon": 10.52674017 } } ] @@ -85,8 +85,8 @@ }, "initial": { "position": { - "latitude": 58.818229, - "longitude": 10.3649909 + "lat": 58.818229, + "lon": 10.3649909 }, "sog": 15.9, "cog": 112.53, @@ -96,14 +96,14 @@ "waypoints": [ { "position": { - "latitude": 58.818229, - "longitude": 10.3649909 + "lat": 58.818229, + "lon": 10.3649909 } }, { "position": { - "latitude": 58.80130577, - "longitude": 10.44352233 + "lat": 58.80130577, + "lon": 10.44352233 } } ] @@ -120,8 +120,8 @@ }, "initial": { "position": { - "latitude": 58.7729381, - "longitude": 10.5034415 + "lat": 58.7729381, + "lon": 10.5034415 }, "sog": 7.0, "cog": 339.99, @@ -131,17 +131,17 @@ "waypoints": [ { "position": { - "latitude": 58.7729381, - "longitude": 10.5034415 + "lat": 58.7729381, + "lon": 10.5034415 } }, { "position": { - "latitude": 58.79115902, - "longitude": 10.49067118 + "lat": 58.79115902, + "lon": 10.49067118 } } ] } ] -} \ No newline at end of file +} diff --git a/data/baseline_situations_generated/traffic_situation_43.json b/data/baseline_situations_generated/traffic_situation_43.json index af321b4..8a4f3a3 100644 --- a/data/baseline_situations_generated/traffic_situation_43.json +++ b/data/baseline_situations_generated/traffic_situation_43.json @@ -14,8 +14,8 @@ }, "initial": { "position": { - "latitude": 58.763449, - "longitude": 10.490654 + "lat": 58.763449, + "lon": 10.490654 }, "sog": 10.0, "cog": 0.0, @@ -25,14 +25,14 @@ "waypoints": [ { "position": { - "latitude": 58.763449, - "longitude": 10.490654 + "lat": 58.763449, + "lon": 10.490654 } }, { "position": { - "latitude": 58.7911568, - "longitude": 10.490654 + "lat": 58.7911568, + "lon": 10.490654 } } ] @@ -50,8 +50,8 @@ }, "initial": { "position": { - "latitude": 58.83964904, - "longitude": 10.55904984 + "lat": 58.83964904, + "lon": 10.55904984 }, "sog": 12.1, "cog": 216.23, @@ -61,17 +61,17 @@ "waypoints": [ { "position": { - "latitude": 58.83964904, - "longitude": 10.55904984 + "lat": 58.83964904, + "lon": 10.55904984 } }, { "position": { - "latitude": 58.8127117, - "longitude": 10.52105285 + "lat": 58.8127117, + "lon": 10.52105285 } } ] } ] -} \ No newline at end of file +} diff --git a/data/baseline_situations_generated/traffic_situation_44.json b/data/baseline_situations_generated/traffic_situation_44.json index 6feac13..31ce397 100644 --- a/data/baseline_situations_generated/traffic_situation_44.json +++ b/data/baseline_situations_generated/traffic_situation_44.json @@ -14,8 +14,8 @@ }, "initial": { "position": { - "latitude": 58.763449, - "longitude": 10.490654 + "lat": 58.763449, + "lon": 10.490654 }, "sog": 10.0, "cog": 0.0, @@ -25,14 +25,14 @@ "waypoints": [ { "position": { - "latitude": 58.763449, - "longitude": 10.490654 + "lat": 58.763449, + "lon": 10.490654 } }, { "position": { - "latitude": 58.7911568, - "longitude": 10.490654 + "lat": 58.7911568, + "lon": 10.490654 } } ] @@ -50,8 +50,8 @@ }, "initial": { "position": { - "latitude": 58.81472782, - "longitude": 10.70233895 + "lat": 58.81472782, + "lon": 10.70233895 }, "sog": 14.0, "cog": 257.89, @@ -61,14 +61,14 @@ "waypoints": [ { "position": { - "latitude": 58.81472782, - "longitude": 10.70233895 + "lat": 58.81472782, + "lon": 10.70233895 } }, { "position": { - "latitude": 58.80659059, - "longitude": 10.62934931 + "lat": 58.80659059, + "lon": 10.62934931 } } ] @@ -85,8 +85,8 @@ }, "initial": { "position": { - "latitude": 58.7293888, - "longitude": 10.49639109 + "lat": 58.7293888, + "lon": 10.49639109 }, "sog": 15.9, "cog": 357.24, @@ -96,17 +96,17 @@ "waypoints": [ { "position": { - "latitude": 58.7293888, - "longitude": 10.49639109 + "lat": 58.7293888, + "lon": 10.49639109 } }, { "position": { - "latitude": 58.77350627, - "longitude": 10.49229598 + "lat": 58.77350627, + "lon": 10.49229598 } } ] } ] -} \ No newline at end of file +} diff --git a/data/baseline_situations_generated/traffic_situation_45.json b/data/baseline_situations_generated/traffic_situation_45.json index 0d7fe81..8b077ae 100644 --- a/data/baseline_situations_generated/traffic_situation_45.json +++ b/data/baseline_situations_generated/traffic_situation_45.json @@ -14,8 +14,8 @@ }, "initial": { "position": { - "latitude": 58.763449, - "longitude": 10.490654 + "lat": 58.763449, + "lon": 10.490654 }, "sog": 10.0, "cog": 0.0, @@ -25,14 +25,14 @@ "waypoints": [ { "position": { - "latitude": 58.763449, - "longitude": 10.490654 + "lat": 58.763449, + "lon": 10.490654 } }, { "position": { - "latitude": 58.7911568, - "longitude": 10.490654 + "lat": 58.7911568, + "lon": 10.490654 } } ] @@ -50,8 +50,8 @@ }, "initial": { "position": { - "latitude": 58.83655184, - "longitude": 10.55626769 + "lat": 58.83655184, + "lon": 10.55626769 }, "sog": 12.1, "cog": 216.92, @@ -61,14 +61,14 @@ "waypoints": [ { "position": { - "latitude": 58.83655184, - "longitude": 10.55626769 + "lat": 58.83655184, + "lon": 10.55626769 } }, { "position": { - "latitude": 58.80985331, - "longitude": 10.51765124 + "lat": 58.80985331, + "lon": 10.51765124 } } ] @@ -85,8 +85,8 @@ }, "initial": { "position": { - "latitude": 58.71893913, - "longitude": 10.53060629 + "lat": 58.71893913, + "lon": 10.53060629 }, "sog": 18.1, "cog": 343.95, @@ -96,14 +96,14 @@ "waypoints": [ { "position": { - "latitude": 58.71893913, - "longitude": 10.53060629 + "lat": 58.71893913, + "lon": 10.53060629 } }, { "position": { - "latitude": 58.76707949, - "longitude": 10.50394162 + "lat": 58.76707949, + "lon": 10.50394162 } } ] @@ -120,8 +120,8 @@ }, "initial": { "position": { - "latitude": 58.70876775, - "longitude": 10.47209485 + "lat": 58.70876775, + "lon": 10.47209485 }, "sog": 15.0, "cog": 6.65, @@ -131,17 +131,17 @@ "waypoints": [ { "position": { - "latitude": 58.70876775, - "longitude": 10.47209485 + "lat": 58.70876775, + "lon": 10.47209485 } }, { "position": { - "latitude": 58.74996453, - "longitude": 10.48133501 + "lat": 58.74996453, + "lon": 10.48133501 } } ] } ] -} \ No newline at end of file +} diff --git a/data/baseline_situations_generated/traffic_situation_46.json b/data/baseline_situations_generated/traffic_situation_46.json index 1e72d42..c09a910 100644 --- a/data/baseline_situations_generated/traffic_situation_46.json +++ b/data/baseline_situations_generated/traffic_situation_46.json @@ -14,8 +14,8 @@ }, "initial": { "position": { - "latitude": 58.763449, - "longitude": 10.490654 + "lat": 58.763449, + "lon": 10.490654 }, "sog": 10.0, "cog": 0.0, @@ -25,14 +25,14 @@ "waypoints": [ { "position": { - "latitude": 58.763449, - "longitude": 10.490654 + "lat": 58.763449, + "lon": 10.490654 } }, { "position": { - "latitude": 58.7911568, - "longitude": 10.490654 + "lat": 58.7911568, + "lon": 10.490654 } } ] @@ -50,8 +50,8 @@ }, "initial": { "position": { - "latitude": 58.82287031, - "longitude": 10.47048777 + "lat": 58.82287031, + "lon": 10.47048777 }, "sog": 6.0, "cog": 161.75, @@ -61,14 +61,14 @@ "waypoints": [ { "position": { - "latitude": 58.82287031, - "longitude": 10.47048777 + "lat": 58.82287031, + "lon": 10.47048777 } }, { "position": { - "latitude": 58.80701266, - "longitude": 10.48055548 + "lat": 58.80701266, + "lon": 10.48055548 } } ] @@ -85,8 +85,8 @@ }, "initial": { "position": { - "latitude": 58.7798417, - "longitude": 10.37290533 + "lat": 58.7798417, + "lon": 10.37290533 }, "sog": 15.0, "cog": 79.53, @@ -96,14 +96,14 @@ "waypoints": [ { "position": { - "latitude": 58.7798417, - "longitude": 10.37290533 + "lat": 58.7798417, + "lon": 10.37290533 } }, { "position": { - "latitude": 58.78738112, - "longitude": 10.45141067 + "lat": 58.78738112, + "lon": 10.45141067 } } ] @@ -120,8 +120,8 @@ }, "initial": { "position": { - "latitude": 58.86039577, - "longitude": 10.38291068 + "lat": 58.86039577, + "lon": 10.38291068 }, "sog": 16.9, "cog": 141.06, @@ -131,17 +131,17 @@ "waypoints": [ { "position": { - "latitude": 58.86039577, - "longitude": 10.38291068 + "lat": 58.86039577, + "lon": 10.38291068 } }, { "position": { - "latitude": 58.8239452, - "longitude": 10.43960157 + "lat": 58.8239452, + "lon": 10.43960157 } } ] } ] -} \ No newline at end of file +} diff --git a/data/baseline_situations_generated/traffic_situation_47.json b/data/baseline_situations_generated/traffic_situation_47.json index 87b7c37..488cd72 100644 --- a/data/baseline_situations_generated/traffic_situation_47.json +++ b/data/baseline_situations_generated/traffic_situation_47.json @@ -14,8 +14,8 @@ }, "initial": { "position": { - "latitude": 58.763449, - "longitude": 10.490654 + "lat": 58.763449, + "lon": 10.490654 }, "sog": 10.0, "cog": 0.0, @@ -25,14 +25,14 @@ "waypoints": [ { "position": { - "latitude": 58.763449, - "longitude": 10.490654 + "lat": 58.763449, + "lon": 10.490654 } }, { "position": { - "latitude": 58.7911568, - "longitude": 10.490654 + "lat": 58.7911568, + "lon": 10.490654 } } ] @@ -50,8 +50,8 @@ }, "initial": { "position": { - "latitude": 58.8721741, - "longitude": 10.41448198 + "lat": 58.8721741, + "lon": 10.41448198 }, "sog": 18.1, "cog": 153.95, @@ -61,14 +61,14 @@ "waypoints": [ { "position": { - "latitude": 58.8721741, - "longitude": 10.41448198 + "lat": 58.8721741, + "lon": 10.41448198 } }, { "position": { - "latitude": 58.82716783, - "longitude": 10.4568217 + "lat": 58.82716783, + "lon": 10.4568217 } } ] @@ -85,8 +85,8 @@ }, "initial": { "position": { - "latitude": 58.81237574, - "longitude": 10.37841778 + "lat": 58.81237574, + "lon": 10.37841778 }, "sog": 14.0, "cog": 110.01, @@ -96,14 +96,14 @@ "waypoints": [ { "position": { - "latitude": 58.81237574, - "longitude": 10.37841778 + "lat": 58.81237574, + "lon": 10.37841778 } }, { "position": { - "latitude": 58.79910639, - "longitude": 10.44856358 + "lat": 58.79910639, + "lon": 10.44856358 } } ] @@ -120,8 +120,8 @@ }, "initial": { "position": { - "latitude": 58.67733793, - "longitude": 10.44624336 + "lat": 58.67733793, + "lon": 10.44624336 }, "sog": 19.1, "cog": 11.46, @@ -131,17 +131,17 @@ "waypoints": [ { "position": { - "latitude": 58.67733793, - "longitude": 10.44624336 + "lat": 58.67733793, + "lon": 10.44624336 } }, { "position": { - "latitude": 58.72907272, - "longitude": 10.46642991 + "lat": 58.72907272, + "lon": 10.46642991 } } ] } ] -} \ No newline at end of file +} diff --git a/data/baseline_situations_generated/traffic_situation_48.json b/data/baseline_situations_generated/traffic_situation_48.json index 24286d5..5ed038e 100644 --- a/data/baseline_situations_generated/traffic_situation_48.json +++ b/data/baseline_situations_generated/traffic_situation_48.json @@ -14,8 +14,8 @@ }, "initial": { "position": { - "latitude": 58.763449, - "longitude": 10.490654 + "lat": 58.763449, + "lon": 10.490654 }, "sog": 10.0, "cog": 0.0, @@ -25,14 +25,14 @@ "waypoints": [ { "position": { - "latitude": 58.763449, - "longitude": 10.490654 + "lat": 58.763449, + "lon": 10.490654 } }, { "position": { - "latitude": 58.7911568, - "longitude": 10.490654 + "lat": 58.7911568, + "lon": 10.490654 } } ] @@ -50,8 +50,8 @@ }, "initial": { "position": { - "latitude": 58.80948503, - "longitude": 10.40204009 + "lat": 58.80948503, + "lon": 10.40204009 }, "sog": 8.9, "cog": 111.73, @@ -61,14 +61,14 @@ "waypoints": [ { "position": { - "latitude": 58.80948503, - "longitude": 10.40204009 + "lat": 58.80948503, + "lon": 10.40204009 } }, { "position": { - "latitude": 58.80031284, - "longitude": 10.44634581 + "lat": 58.80031284, + "lon": 10.44634581 } } ] @@ -85,8 +85,8 @@ }, "initial": { "position": { - "latitude": 58.80361382, - "longitude": 10.35674815 + "lat": 58.80361382, + "lon": 10.35674815 }, "sog": 15.9, "cog": 100.15, @@ -96,17 +96,17 @@ "waypoints": [ { "position": { - "latitude": 58.80361382, - "longitude": 10.35674815 + "lat": 58.80361382, + "lon": 10.35674815 } }, { "position": { - "latitude": 58.79582785, - "longitude": 10.44043637 + "lat": 58.79582785, + "lon": 10.44043637 } } ] } ] -} \ No newline at end of file +} diff --git a/data/baseline_situations_generated/traffic_situation_49.json b/data/baseline_situations_generated/traffic_situation_49.json index 618a9a8..55e2b68 100644 --- a/data/baseline_situations_generated/traffic_situation_49.json +++ b/data/baseline_situations_generated/traffic_situation_49.json @@ -14,8 +14,8 @@ }, "initial": { "position": { - "latitude": 58.763449, - "longitude": 10.490654 + "lat": 58.763449, + "lon": 10.490654 }, "sog": 10.0, "cog": 0.0, @@ -25,14 +25,14 @@ "waypoints": [ { "position": { - "latitude": 58.763449, - "longitude": 10.490654 + "lat": 58.763449, + "lon": 10.490654 } }, { "position": { - "latitude": 58.7911568, - "longitude": 10.490654 + "lat": 58.7911568, + "lon": 10.490654 } } ] @@ -50,8 +50,8 @@ }, "initial": { "position": { - "latitude": 58.84858154, - "longitude": 10.41424005 + "lat": 58.84858154, + "lon": 10.41424005 }, "sog": 14.0, "cog": 145.36, @@ -61,17 +61,17 @@ "waypoints": [ { "position": { - "latitude": 58.84858154, - "longitude": 10.41424005 + "lat": 58.84858154, + "lon": 10.41424005 } }, { "position": { - "latitude": 58.81667403, - "longitude": 10.45667389 + "lat": 58.81667403, + "lon": 10.45667389 } } ] } ] -} \ No newline at end of file +} diff --git a/data/baseline_situations_generated/traffic_situation_50.json b/data/baseline_situations_generated/traffic_situation_50.json index 7eba51c..04424de 100644 --- a/data/baseline_situations_generated/traffic_situation_50.json +++ b/data/baseline_situations_generated/traffic_situation_50.json @@ -14,8 +14,8 @@ }, "initial": { "position": { - "latitude": 58.763449, - "longitude": 10.490654 + "lat": 58.763449, + "lon": 10.490654 }, "sog": 10.0, "cog": 0.0, @@ -25,14 +25,14 @@ "waypoints": [ { "position": { - "latitude": 58.763449, - "longitude": 10.490654 + "lat": 58.763449, + "lon": 10.490654 } }, { "position": { - "latitude": 58.7911568, - "longitude": 10.490654 + "lat": 58.7911568, + "lon": 10.490654 } } ] @@ -50,8 +50,8 @@ }, "initial": { "position": { - "latitude": 58.79416063, - "longitude": 10.36388496 + "lat": 58.79416063, + "lon": 10.36388496 }, "sog": 14.0, "cog": 92.59, @@ -61,14 +61,14 @@ "waypoints": [ { "position": { - "latitude": 58.79416063, - "longitude": 10.36388496 + "lat": 58.79416063, + "lon": 10.36388496 } }, { "position": { - "latitude": 58.79240813, - "longitude": 10.43846004 + "lat": 58.79240813, + "lon": 10.43846004 } } ] @@ -85,8 +85,8 @@ }, "initial": { "position": { - "latitude": 58.70297734, - "longitude": 10.50083216 + "lat": 58.70297734, + "lon": 10.50083216 }, "sog": 15.9, "cog": 356.55, @@ -96,17 +96,17 @@ "waypoints": [ { "position": { - "latitude": 58.70297734, - "longitude": 10.50083216 + "lat": 58.70297734, + "lon": 10.50083216 } }, { "position": { - "latitude": 58.7470661, - "longitude": 10.49571832 + "lat": 58.7470661, + "lon": 10.49571832 } } ] } ] -} \ No newline at end of file +} diff --git a/data/baseline_situations_generated/traffic_situation_51.json b/data/baseline_situations_generated/traffic_situation_51.json index 815c5a9..2277838 100644 --- a/data/baseline_situations_generated/traffic_situation_51.json +++ b/data/baseline_situations_generated/traffic_situation_51.json @@ -14,8 +14,8 @@ }, "initial": { "position": { - "latitude": 58.763449, - "longitude": 10.490654 + "lat": 58.763449, + "lon": 10.490654 }, "sog": 10.0, "cog": 0.0, @@ -25,14 +25,14 @@ "waypoints": [ { "position": { - "latitude": 58.763449, - "longitude": 10.490654 + "lat": 58.763449, + "lon": 10.490654 } }, { "position": { - "latitude": 58.7911568, - "longitude": 10.490654 + "lat": 58.7911568, + "lon": 10.490654 } } ] @@ -50,8 +50,8 @@ }, "initial": { "position": { - "latitude": 58.83744958, - "longitude": 10.42422813 + "lat": 58.83744958, + "lon": 10.42422813 }, "sog": 13.0, "cog": 143.3, @@ -61,14 +61,14 @@ "waypoints": [ { "position": { - "latitude": 58.83744958, - "longitude": 10.42422813 + "lat": 58.83744958, + "lon": 10.42422813 } }, { "position": { - "latitude": 58.80851546, - "longitude": 10.46574665 + "lat": 58.80851546, + "lon": 10.46574665 } } ] @@ -85,8 +85,8 @@ }, "initial": { "position": { - "latitude": 58.73740561, - "longitude": 10.51403439 + "lat": 58.73740561, + "lon": 10.51403439 }, "sog": 18.1, "cog": 347.27, @@ -96,14 +96,14 @@ "waypoints": [ { "position": { - "latitude": 58.73740561, - "longitude": 10.51403439 + "lat": 58.73740561, + "lon": 10.51403439 } }, { "position": { - "latitude": 58.78626802, - "longitude": 10.49278608 + "lat": 58.78626802, + "lon": 10.49278608 } } ] @@ -120,8 +120,8 @@ }, "initial": { "position": { - "latitude": 58.70538328, - "longitude": 10.44997593 + "lat": 58.70538328, + "lon": 10.44997593 }, "sog": 15.9, "cog": 13.87, @@ -131,17 +131,17 @@ "waypoints": [ { "position": { - "latitude": 58.70538328, - "longitude": 10.44997593 + "lat": 58.70538328, + "lon": 10.44997593 } }, { "position": { - "latitude": 58.74826496, - "longitude": 10.47035043 + "lat": 58.74826496, + "lon": 10.47035043 } } ] } ] -} \ No newline at end of file +} diff --git a/data/baseline_situations_generated/traffic_situation_52.json b/data/baseline_situations_generated/traffic_situation_52.json index 94ffda9..3b0b6a2 100644 --- a/data/baseline_situations_generated/traffic_situation_52.json +++ b/data/baseline_situations_generated/traffic_situation_52.json @@ -14,8 +14,8 @@ }, "initial": { "position": { - "latitude": 58.763449, - "longitude": 10.490654 + "lat": 58.763449, + "lon": 10.490654 }, "sog": 10.0, "cog": 0.0, @@ -25,17 +25,17 @@ "waypoints": [ { "position": { - "latitude": 58.763449, - "longitude": 10.490654 + "lat": 58.763449, + "lon": 10.490654 } }, { "position": { - "latitude": 58.7911568, - "longitude": 10.490654 + "lat": 58.7911568, + "lon": 10.490654 } } ] }, "targetShips": [] -} \ No newline at end of file +} diff --git a/data/baseline_situations_generated/traffic_situation_53.json b/data/baseline_situations_generated/traffic_situation_53.json index 179506e..d71f81d 100644 --- a/data/baseline_situations_generated/traffic_situation_53.json +++ b/data/baseline_situations_generated/traffic_situation_53.json @@ -14,8 +14,8 @@ }, "initial": { "position": { - "latitude": 58.763449, - "longitude": 10.490654 + "lat": 58.763449, + "lon": 10.490654 }, "sog": 10.0, "cog": 0.0, @@ -25,14 +25,14 @@ "waypoints": [ { "position": { - "latitude": 58.763449, - "longitude": 10.490654 + "lat": 58.763449, + "lon": 10.490654 } }, { "position": { - "latitude": 58.7911568, - "longitude": 10.490654 + "lat": 58.7911568, + "lon": 10.490654 } } ] @@ -50,8 +50,8 @@ }, "initial": { "position": { - "latitude": 58.69760886, - "longitude": 10.47955998 + "lat": 58.69760886, + "lon": 10.47955998 }, "sog": 16.9, "cog": 3.55, @@ -61,17 +61,17 @@ "waypoints": [ { "position": { - "latitude": 58.69760886, - "longitude": 10.47955998 + "lat": 58.69760886, + "lon": 10.47955998 } }, { "position": { - "latitude": 58.74438077, - "longitude": 10.48514903 + "lat": 58.74438077, + "lon": 10.48514903 } } ] } ] -} \ No newline at end of file +} diff --git a/data/baseline_situations_generated/traffic_situation_54.json b/data/baseline_situations_generated/traffic_situation_54.json index 17f26e2..7bb92d8 100644 --- a/data/baseline_situations_generated/traffic_situation_54.json +++ b/data/baseline_situations_generated/traffic_situation_54.json @@ -14,8 +14,8 @@ }, "initial": { "position": { - "latitude": 58.763449, - "longitude": 10.490654 + "lat": 58.763449, + "lon": 10.490654 }, "sog": 10.0, "cog": 0.0, @@ -25,14 +25,14 @@ "waypoints": [ { "position": { - "latitude": 58.763449, - "longitude": 10.490654 + "lat": 58.763449, + "lon": 10.490654 } }, { "position": { - "latitude": 58.7911568, - "longitude": 10.490654 + "lat": 58.7911568, + "lon": 10.490654 } } ] @@ -50,8 +50,8 @@ }, "initial": { "position": { - "latitude": 58.71434271, - "longitude": 10.53471903 + "lat": 58.71434271, + "lon": 10.53471903 }, "sog": 18.1, "cog": 343.43, @@ -61,14 +61,14 @@ "waypoints": [ { "position": { - "latitude": 58.71434271, - "longitude": 10.53471903 + "lat": 58.71434271, + "lon": 10.53471903 } }, { "position": { - "latitude": 58.76235644, - "longitude": 10.50722147 + "lat": 58.76235644, + "lon": 10.50722147 } } ] @@ -85,8 +85,8 @@ }, "initial": { "position": { - "latitude": 58.70365064, - "longitude": 10.4487663 + "lat": 58.70365064, + "lon": 10.4487663 }, "sog": 18.1, "cog": 13.98, @@ -96,17 +96,17 @@ "waypoints": [ { "position": { - "latitude": 58.70365064, - "longitude": 10.4487663 + "lat": 58.70365064, + "lon": 10.4487663 } }, { "position": { - "latitude": 58.75226064, - "longitude": 10.47206115 + "lat": 58.75226064, + "lon": 10.47206115 } } ] } ] -} \ No newline at end of file +} diff --git a/data/baseline_situations_generated/traffic_situation_55.json b/data/baseline_situations_generated/traffic_situation_55.json index 1cf8c59..8b02da8 100644 --- a/data/baseline_situations_generated/traffic_situation_55.json +++ b/data/baseline_situations_generated/traffic_situation_55.json @@ -14,8 +14,8 @@ }, "initial": { "position": { - "latitude": 58.763449, - "longitude": 10.490654 + "lat": 58.763449, + "lon": 10.490654 }, "sog": 10.0, "cog": 0.0, @@ -25,14 +25,14 @@ "waypoints": [ { "position": { - "latitude": 58.763449, - "longitude": 10.490654 + "lat": 58.763449, + "lon": 10.490654 } }, { "position": { - "latitude": 58.7911568, - "longitude": 10.490654 + "lat": 58.7911568, + "lon": 10.490654 } } ] @@ -50,8 +50,8 @@ }, "initial": { "position": { - "latitude": 58.70727751, - "longitude": 10.50971429 + "lat": 58.70727751, + "lon": 10.50971429 }, "sog": 19.1, "cog": 353.29, @@ -61,14 +61,14 @@ "waypoints": [ { "position": { - "latitude": 58.70727751, - "longitude": 10.50971429 + "lat": 58.70727751, + "lon": 10.50971429 } }, { "position": { - "latitude": 58.75970249, - "longitude": 10.49783446 + "lat": 58.75970249, + "lon": 10.49783446 } } ] @@ -85,8 +85,8 @@ }, "initial": { "position": { - "latitude": 58.70976424, - "longitude": 10.53884905 + "lat": 58.70976424, + "lon": 10.53884905 }, "sog": 18.1, "cog": 342.92, @@ -96,14 +96,14 @@ "waypoints": [ { "position": { - "latitude": 58.70976424, - "longitude": 10.53884905 + "lat": 58.70976424, + "lon": 10.53884905 } }, { "position": { - "latitude": 58.75764747, - "longitude": 10.51052083 + "lat": 58.75764747, + "lon": 10.51052083 } } ] @@ -120,8 +120,8 @@ }, "initial": { "position": { - "latitude": 58.7002931, - "longitude": 10.44641617 + "lat": 58.7002931, + "lon": 10.44641617 }, "sog": 16.9, "cog": 14.21, @@ -131,17 +131,17 @@ "waypoints": [ { "position": { - "latitude": 58.7002931, - "longitude": 10.44641617 + "lat": 58.7002931, + "lon": 10.44641617 } }, { "position": { - "latitude": 58.74572132, - "longitude": 10.46855808 + "lat": 58.74572132, + "lon": 10.46855808 } } ] } ] -} \ No newline at end of file +} diff --git a/data/baseline_situations_input/baseline_situation_01_1_ts.json b/data/baseline_situations_input/baseline_situation_01_1_ts.json index aedb77f..ce339cd 100644 --- a/data/baseline_situations_input/baseline_situation_01_1_ts.json +++ b/data/baseline_situations_input/baseline_situation_01_1_ts.json @@ -4,8 +4,8 @@ "ownShip": { "initial": { "position": { - "latitude": 58.763449, - "longitude": 10.490654 + "lat": 58.763449, + "lon": 10.490654 }, "sog": 10.0, "cog": 0.0, diff --git a/data/baseline_situations_input/baseline_situation_02_1_ts.json b/data/baseline_situations_input/baseline_situation_02_1_ts.json index 20f061b..00fb1f5 100644 --- a/data/baseline_situations_input/baseline_situation_02_1_ts.json +++ b/data/baseline_situations_input/baseline_situation_02_1_ts.json @@ -4,8 +4,8 @@ "ownShip": { "initial": { "position": { - "latitude": 58.763449, - "longitude": 10.490654 + "lat": 58.763449, + "lon": 10.490654 }, "sog": 10.0, "cog": 0.0, diff --git a/data/baseline_situations_input/baseline_situation_03_1_ts.json b/data/baseline_situations_input/baseline_situation_03_1_ts.json index c8863de..5d4fd1b 100644 --- a/data/baseline_situations_input/baseline_situation_03_1_ts.json +++ b/data/baseline_situations_input/baseline_situation_03_1_ts.json @@ -4,8 +4,8 @@ "ownShip": { "initial": { "position": { - "latitude": 58.763449, - "longitude": 10.490654 + "lat": 58.763449, + "lon": 10.490654 }, "sog": 10.0, "cog": 0.0, diff --git a/data/baseline_situations_input/baseline_situation_04_1_ts.json b/data/baseline_situations_input/baseline_situation_04_1_ts.json index 987ea46..6cd8700 100644 --- a/data/baseline_situations_input/baseline_situation_04_1_ts.json +++ b/data/baseline_situations_input/baseline_situation_04_1_ts.json @@ -4,8 +4,8 @@ "ownShip": { "initial": { "position": { - "latitude": 58.763449, - "longitude": 10.490654 + "lat": 58.763449, + "lon": 10.490654 }, "sog": 10.0, "cog": 0.0, diff --git a/data/baseline_situations_input/baseline_situation_05_1_ts.json b/data/baseline_situations_input/baseline_situation_05_1_ts.json index d85a6f1..2d594bc 100644 --- a/data/baseline_situations_input/baseline_situation_05_1_ts.json +++ b/data/baseline_situations_input/baseline_situation_05_1_ts.json @@ -4,8 +4,8 @@ "ownShip": { "initial": { "position": { - "latitude": 58.763449, - "longitude": 10.490654 + "lat": 58.763449, + "lon": 10.490654 }, "sog": 10.0, "cog": 0.0, diff --git a/data/baseline_situations_input/baseline_situation_06_2_ts.json b/data/baseline_situations_input/baseline_situation_06_2_ts.json index d35546e..caeb0fb 100644 --- a/data/baseline_situations_input/baseline_situation_06_2_ts.json +++ b/data/baseline_situations_input/baseline_situation_06_2_ts.json @@ -4,8 +4,8 @@ "ownShip": { "initial": { "position": { - "latitude": 58.763449, - "longitude": 10.490654 + "lat": 58.763449, + "lon": 10.490654 }, "sog": 10.0, "cog": 0.0, diff --git a/data/baseline_situations_input/baseline_situation_07_2_ts.json b/data/baseline_situations_input/baseline_situation_07_2_ts.json index a0383d4..e7e2bf0 100644 --- a/data/baseline_situations_input/baseline_situation_07_2_ts.json +++ b/data/baseline_situations_input/baseline_situation_07_2_ts.json @@ -4,8 +4,8 @@ "ownShip": { "initial": { "position": { - "latitude": 58.763449, - "longitude": 10.490654 + "lat": 58.763449, + "lon": 10.490654 }, "sog": 10.0, "cog": 0.0, diff --git a/data/baseline_situations_input/baseline_situation_08_2_ts.json b/data/baseline_situations_input/baseline_situation_08_2_ts.json index a2b29b0..60c0082 100644 --- a/data/baseline_situations_input/baseline_situation_08_2_ts.json +++ b/data/baseline_situations_input/baseline_situation_08_2_ts.json @@ -4,8 +4,8 @@ "ownShip": { "initial": { "position": { - "latitude": 58.763449, - "longitude": 10.490654 + "lat": 58.763449, + "lon": 10.490654 }, "sog": 10.0, "cog": 0.0, diff --git a/data/baseline_situations_input/baseline_situation_09_2_ts.json b/data/baseline_situations_input/baseline_situation_09_2_ts.json index d73b69c..e545d0b 100644 --- a/data/baseline_situations_input/baseline_situation_09_2_ts.json +++ b/data/baseline_situations_input/baseline_situation_09_2_ts.json @@ -4,8 +4,8 @@ "ownShip": { "initial": { "position": { - "latitude": 58.763449, - "longitude": 10.490654 + "lat": 58.763449, + "lon": 10.490654 }, "sog": 10.0, "cog": 0.0, diff --git a/data/baseline_situations_input/baseline_situation_10_2_ts.json b/data/baseline_situations_input/baseline_situation_10_2_ts.json index efb22c7..1c229a3 100644 --- a/data/baseline_situations_input/baseline_situation_10_2_ts.json +++ b/data/baseline_situations_input/baseline_situation_10_2_ts.json @@ -4,8 +4,8 @@ "ownShip": { "initial": { "position": { - "latitude": 58.763449, - "longitude": 10.490654 + "lat": 58.763449, + "lon": 10.490654 }, "sog": 10.0, "cog": 0.0, diff --git a/data/baseline_situations_input/baseline_situation_11_2_ts.json b/data/baseline_situations_input/baseline_situation_11_2_ts.json index c3a73f3..5ad0bb4 100644 --- a/data/baseline_situations_input/baseline_situation_11_2_ts.json +++ b/data/baseline_situations_input/baseline_situation_11_2_ts.json @@ -4,8 +4,8 @@ "ownShip": { "initial": { "position": { - "latitude": 58.763449, - "longitude": 10.490654 + "lat": 58.763449, + "lon": 10.490654 }, "sog": 10.0, "cog": 0.0, diff --git a/data/baseline_situations_input/baseline_situation_12_2_ts.json b/data/baseline_situations_input/baseline_situation_12_2_ts.json index e7150df..36fe6c8 100644 --- a/data/baseline_situations_input/baseline_situation_12_2_ts.json +++ b/data/baseline_situations_input/baseline_situation_12_2_ts.json @@ -4,8 +4,8 @@ "ownShip": { "initial": { "position": { - "latitude": 58.763449, - "longitude": 10.490654 + "lat": 58.763449, + "lon": 10.490654 }, "sog": 10.0, "cog": 0.0, diff --git a/data/baseline_situations_input/baseline_situation_13_2_ts.json b/data/baseline_situations_input/baseline_situation_13_2_ts.json index 14eca11..3088432 100644 --- a/data/baseline_situations_input/baseline_situation_13_2_ts.json +++ b/data/baseline_situations_input/baseline_situation_13_2_ts.json @@ -4,8 +4,8 @@ "ownShip": { "initial": { "position": { - "latitude": 58.763449, - "longitude": 10.490654 + "lat": 58.763449, + "lon": 10.490654 }, "sog": 10.0, "cog": 0.0, diff --git a/data/baseline_situations_input/baseline_situation_14_2_ts.json b/data/baseline_situations_input/baseline_situation_14_2_ts.json index 6c11eb7..343c883 100644 --- a/data/baseline_situations_input/baseline_situation_14_2_ts.json +++ b/data/baseline_situations_input/baseline_situation_14_2_ts.json @@ -4,8 +4,8 @@ "ownShip": { "initial": { "position": { - "latitude": 58.763449, - "longitude": 10.490654 + "lat": 58.763449, + "lon": 10.490654 }, "sog": 10.0, "cog": 0.0, diff --git a/data/baseline_situations_input/baseline_situation_15_2_ts.json b/data/baseline_situations_input/baseline_situation_15_2_ts.json index ac07975..eae255a 100644 --- a/data/baseline_situations_input/baseline_situation_15_2_ts.json +++ b/data/baseline_situations_input/baseline_situation_15_2_ts.json @@ -4,8 +4,8 @@ "ownShip": { "initial": { "position": { - "latitude": 58.763449, - "longitude": 10.490654 + "lat": 58.763449, + "lon": 10.490654 }, "sog": 10.0, "cog": 0.0, diff --git a/data/baseline_situations_input/baseline_situation_16_2_ts.json b/data/baseline_situations_input/baseline_situation_16_2_ts.json index 786fb31..15aca52 100644 --- a/data/baseline_situations_input/baseline_situation_16_2_ts.json +++ b/data/baseline_situations_input/baseline_situation_16_2_ts.json @@ -4,8 +4,8 @@ "ownShip": { "initial": { "position": { - "latitude": 58.763449, - "longitude": 10.490654 + "lat": 58.763449, + "lon": 10.490654 }, "sog": 10.0, "cog": 0.0, diff --git a/data/baseline_situations_input/baseline_situation_17_2_ts.json b/data/baseline_situations_input/baseline_situation_17_2_ts.json index 077438c..702b712 100644 --- a/data/baseline_situations_input/baseline_situation_17_2_ts.json +++ b/data/baseline_situations_input/baseline_situation_17_2_ts.json @@ -4,8 +4,8 @@ "ownShip": { "initial": { "position": { - "latitude": 58.763449, - "longitude": 10.490654 + "lat": 58.763449, + "lon": 10.490654 }, "sog": 10.0, "cog": 0.0, diff --git a/data/baseline_situations_input/baseline_situation_18_2_ts.json b/data/baseline_situations_input/baseline_situation_18_2_ts.json index ea4c3e1..81c0cbb 100644 --- a/data/baseline_situations_input/baseline_situation_18_2_ts.json +++ b/data/baseline_situations_input/baseline_situation_18_2_ts.json @@ -4,8 +4,8 @@ "ownShip": { "initial": { "position": { - "latitude": 58.763449, - "longitude": 10.490654 + "lat": 58.763449, + "lon": 10.490654 }, "sog": 10.0, "cog": 0.0, diff --git a/data/baseline_situations_input/baseline_situation_19_2_ts.json b/data/baseline_situations_input/baseline_situation_19_2_ts.json index 2c11539..19f94d7 100644 --- a/data/baseline_situations_input/baseline_situation_19_2_ts.json +++ b/data/baseline_situations_input/baseline_situation_19_2_ts.json @@ -4,8 +4,8 @@ "ownShip": { "initial": { "position": { - "latitude": 58.763449, - "longitude": 10.490654 + "lat": 58.763449, + "lon": 10.490654 }, "sog": 10.0, "cog": 0.0, diff --git a/data/baseline_situations_input/baseline_situation_20_2_ts.json b/data/baseline_situations_input/baseline_situation_20_2_ts.json index f908edc..1b71cf3 100644 --- a/data/baseline_situations_input/baseline_situation_20_2_ts.json +++ b/data/baseline_situations_input/baseline_situation_20_2_ts.json @@ -4,8 +4,8 @@ "ownShip": { "initial": { "position": { - "latitude": 58.763449, - "longitude": 10.490654 + "lat": 58.763449, + "lon": 10.490654 }, "sog": 10.0, "cog": 0.0, diff --git a/data/baseline_situations_input/baseline_situation_21_3_ts.json b/data/baseline_situations_input/baseline_situation_21_3_ts.json index 0d0cd7b..180ae8d 100644 --- a/data/baseline_situations_input/baseline_situation_21_3_ts.json +++ b/data/baseline_situations_input/baseline_situation_21_3_ts.json @@ -4,8 +4,8 @@ "ownShip": { "initial": { "position": { - "latitude": 58.763449, - "longitude": 10.490654 + "lat": 58.763449, + "lon": 10.490654 }, "sog": 10.0, "cog": 0.0, diff --git a/data/baseline_situations_input/baseline_situation_22_3_ts.json b/data/baseline_situations_input/baseline_situation_22_3_ts.json index 5377893..1b34fd6 100644 --- a/data/baseline_situations_input/baseline_situation_22_3_ts.json +++ b/data/baseline_situations_input/baseline_situation_22_3_ts.json @@ -4,8 +4,8 @@ "ownShip": { "initial": { "position": { - "latitude": 58.763449, - "longitude": 10.490654 + "lat": 58.763449, + "lon": 10.490654 }, "sog": 10.0, "cog": 0.0, diff --git a/data/baseline_situations_input/baseline_situation_23_3_ts.json b/data/baseline_situations_input/baseline_situation_23_3_ts.json index 54c9b93..59050ef 100644 --- a/data/baseline_situations_input/baseline_situation_23_3_ts.json +++ b/data/baseline_situations_input/baseline_situation_23_3_ts.json @@ -4,8 +4,8 @@ "ownShip": { "initial": { "position": { - "latitude": 58.763449, - "longitude": 10.490654 + "lat": 58.763449, + "lon": 10.490654 }, "sog": 10.0, "cog": 0.0, diff --git a/data/baseline_situations_input/baseline_situation_24_3_ts.json b/data/baseline_situations_input/baseline_situation_24_3_ts.json index 35f041e..40d7dd0 100644 --- a/data/baseline_situations_input/baseline_situation_24_3_ts.json +++ b/data/baseline_situations_input/baseline_situation_24_3_ts.json @@ -4,8 +4,8 @@ "ownShip": { "initial": { "position": { - "latitude": 58.763449, - "longitude": 10.490654 + "lat": 58.763449, + "lon": 10.490654 }, "sog": 10.0, "cog": 0.0, diff --git a/data/baseline_situations_input/baseline_situation_25_3_ts.json b/data/baseline_situations_input/baseline_situation_25_3_ts.json index d921884..e23478e 100644 --- a/data/baseline_situations_input/baseline_situation_25_3_ts.json +++ b/data/baseline_situations_input/baseline_situation_25_3_ts.json @@ -4,8 +4,8 @@ "ownShip": { "initial": { "position": { - "latitude": 58.763449, - "longitude": 10.490654 + "lat": 58.763449, + "lon": 10.490654 }, "sog": 10.0, "cog": 0.0, diff --git a/data/baseline_situations_input/baseline_situation_26_3_ts.json b/data/baseline_situations_input/baseline_situation_26_3_ts.json index 99dec7e..47e40af 100644 --- a/data/baseline_situations_input/baseline_situation_26_3_ts.json +++ b/data/baseline_situations_input/baseline_situation_26_3_ts.json @@ -4,8 +4,8 @@ "ownShip": { "initial": { "position": { - "latitude": 58.763449, - "longitude": 10.490654 + "lat": 58.763449, + "lon": 10.490654 }, "sog": 10.0, "cog": 0.0, diff --git a/data/baseline_situations_input/baseline_situation_27_3_ts.json b/data/baseline_situations_input/baseline_situation_27_3_ts.json index c88b8ab..71876d5 100644 --- a/data/baseline_situations_input/baseline_situation_27_3_ts.json +++ b/data/baseline_situations_input/baseline_situation_27_3_ts.json @@ -4,8 +4,8 @@ "ownShip": { "initial": { "position": { - "latitude": 58.763449, - "longitude": 10.490654 + "lat": 58.763449, + "lon": 10.490654 }, "sog": 10.0, "cog": 0.0, diff --git a/data/baseline_situations_input/baseline_situation_28_3_ts.json b/data/baseline_situations_input/baseline_situation_28_3_ts.json index d3dd2ac..26f51f3 100644 --- a/data/baseline_situations_input/baseline_situation_28_3_ts.json +++ b/data/baseline_situations_input/baseline_situation_28_3_ts.json @@ -4,8 +4,8 @@ "ownShip": { "initial": { "position": { - "latitude": 58.763449, - "longitude": 10.490654 + "lat": 58.763449, + "lon": 10.490654 }, "sog": 10.0, "cog": 0.0, diff --git a/data/baseline_situations_input/baseline_situation_29_3_ts.json b/data/baseline_situations_input/baseline_situation_29_3_ts.json index 569ff81..e985255 100644 --- a/data/baseline_situations_input/baseline_situation_29_3_ts.json +++ b/data/baseline_situations_input/baseline_situation_29_3_ts.json @@ -4,8 +4,8 @@ "ownShip": { "initial": { "position": { - "latitude": 58.763449, - "longitude": 10.490654 + "lat": 58.763449, + "lon": 10.490654 }, "sog": 10.0, "cog": 0.0, diff --git a/data/baseline_situations_input/baseline_situation_30_3_ts.json b/data/baseline_situations_input/baseline_situation_30_3_ts.json index 7ad7abd..ce640df 100644 --- a/data/baseline_situations_input/baseline_situation_30_3_ts.json +++ b/data/baseline_situations_input/baseline_situation_30_3_ts.json @@ -4,8 +4,8 @@ "ownShip": { "initial": { "position": { - "latitude": 58.763449, - "longitude": 10.490654 + "lat": 58.763449, + "lon": 10.490654 }, "sog": 10.0, "cog": 0.0, diff --git a/data/baseline_situations_input/baseline_situation_31_3_ts.json b/data/baseline_situations_input/baseline_situation_31_3_ts.json index 3f62120..3f72548 100644 --- a/data/baseline_situations_input/baseline_situation_31_3_ts.json +++ b/data/baseline_situations_input/baseline_situation_31_3_ts.json @@ -4,8 +4,8 @@ "ownShip": { "initial": { "position": { - "latitude": 58.763449, - "longitude": 10.490654 + "lat": 58.763449, + "lon": 10.490654 }, "sog": 10.0, "cog": 0.0, diff --git a/data/baseline_situations_input/baseline_situation_32_3_ts.json b/data/baseline_situations_input/baseline_situation_32_3_ts.json index d594ab9..8010f5a 100644 --- a/data/baseline_situations_input/baseline_situation_32_3_ts.json +++ b/data/baseline_situations_input/baseline_situation_32_3_ts.json @@ -4,8 +4,8 @@ "ownShip": { "initial": { "position": { - "latitude": 58.763449, - "longitude": 10.490654 + "lat": 58.763449, + "lon": 10.490654 }, "sog": 10.0, "cog": 0.0, diff --git a/data/baseline_situations_input/baseline_situation_33_3_ts.json b/data/baseline_situations_input/baseline_situation_33_3_ts.json index a6d171f..cc67ade 100644 --- a/data/baseline_situations_input/baseline_situation_33_3_ts.json +++ b/data/baseline_situations_input/baseline_situation_33_3_ts.json @@ -4,8 +4,8 @@ "ownShip": { "initial": { "position": { - "latitude": 58.763449, - "longitude": 10.490654 + "lat": 58.763449, + "lon": 10.490654 }, "sog": 10.0, "cog": 0.0, diff --git a/data/baseline_situations_input/baseline_situation_34_3_ts.json b/data/baseline_situations_input/baseline_situation_34_3_ts.json index 07f8487..1161b17 100644 --- a/data/baseline_situations_input/baseline_situation_34_3_ts.json +++ b/data/baseline_situations_input/baseline_situation_34_3_ts.json @@ -4,8 +4,8 @@ "ownShip": { "initial": { "position": { - "latitude": 58.763449, - "longitude": 10.490654 + "lat": 58.763449, + "lon": 10.490654 }, "sog": 10.0, "cog": 0.0, diff --git a/data/baseline_situations_input/baseline_situation_35_3_ts.json b/data/baseline_situations_input/baseline_situation_35_3_ts.json index cd25e45..435e635 100644 --- a/data/baseline_situations_input/baseline_situation_35_3_ts.json +++ b/data/baseline_situations_input/baseline_situation_35_3_ts.json @@ -4,8 +4,8 @@ "ownShip": { "initial": { "position": { - "latitude": 58.763449, - "longitude": 10.490654 + "lat": 58.763449, + "lon": 10.490654 }, "sog": 10.0, "cog": 0.0, diff --git a/data/baseline_situations_input/baseline_situation_36_3_ts.json b/data/baseline_situations_input/baseline_situation_36_3_ts.json index 771f5c0..d3637cf 100644 --- a/data/baseline_situations_input/baseline_situation_36_3_ts.json +++ b/data/baseline_situations_input/baseline_situation_36_3_ts.json @@ -4,8 +4,8 @@ "ownShip": { "initial": { "position": { - "latitude": 58.763449, - "longitude": 10.490654 + "lat": 58.763449, + "lon": 10.490654 }, "sog": 10.0, "cog": 0.0, diff --git a/data/baseline_situations_input/baseline_situation_37_3_ts.json b/data/baseline_situations_input/baseline_situation_37_3_ts.json index 39c340a..6fe9e25 100644 --- a/data/baseline_situations_input/baseline_situation_37_3_ts.json +++ b/data/baseline_situations_input/baseline_situation_37_3_ts.json @@ -4,8 +4,8 @@ "ownShip": { "initial": { "position": { - "latitude": 58.763449, - "longitude": 10.490654 + "lat": 58.763449, + "lon": 10.490654 }, "sog": 10.0, "cog": 0.0, diff --git a/data/baseline_situations_input/baseline_situation_38_3_ts.json b/data/baseline_situations_input/baseline_situation_38_3_ts.json index 99be6e2..7c8e83b 100644 --- a/data/baseline_situations_input/baseline_situation_38_3_ts.json +++ b/data/baseline_situations_input/baseline_situation_38_3_ts.json @@ -4,8 +4,8 @@ "ownShip": { "initial": { "position": { - "latitude": 58.763449, - "longitude": 10.490654 + "lat": 58.763449, + "lon": 10.490654 }, "sog": 10.0, "cog": 0.0, diff --git a/data/baseline_situations_input/baseline_situation_39_3_ts.json b/data/baseline_situations_input/baseline_situation_39_3_ts.json index d43828b..3de4172 100644 --- a/data/baseline_situations_input/baseline_situation_39_3_ts.json +++ b/data/baseline_situations_input/baseline_situation_39_3_ts.json @@ -4,8 +4,8 @@ "ownShip": { "initial": { "position": { - "latitude": 58.763449, - "longitude": 10.490654 + "lat": 58.763449, + "lon": 10.490654 }, "sog": 10.0, "cog": 0.0, diff --git a/data/baseline_situations_input/baseline_situation_40_3_ts.json b/data/baseline_situations_input/baseline_situation_40_3_ts.json index fe392d7..7ca23ae 100644 --- a/data/baseline_situations_input/baseline_situation_40_3_ts.json +++ b/data/baseline_situations_input/baseline_situation_40_3_ts.json @@ -4,8 +4,8 @@ "ownShip": { "initial": { "position": { - "latitude": 58.763449, - "longitude": 10.490654 + "lat": 58.763449, + "lon": 10.490654 }, "sog": 10.0, "cog": 0.0, diff --git a/data/baseline_situations_input/baseline_situation_41_3_ts.json b/data/baseline_situations_input/baseline_situation_41_3_ts.json index c2a8ad0..0d2b41e 100644 --- a/data/baseline_situations_input/baseline_situation_41_3_ts.json +++ b/data/baseline_situations_input/baseline_situation_41_3_ts.json @@ -4,8 +4,8 @@ "ownShip": { "initial": { "position": { - "latitude": 58.763449, - "longitude": 10.490654 + "lat": 58.763449, + "lon": 10.490654 }, "sog": 10.0, "cog": 0.0, diff --git a/data/baseline_situations_input/baseline_situation_42_3_ts.json b/data/baseline_situations_input/baseline_situation_42_3_ts.json index af10dea..0fc4234 100644 --- a/data/baseline_situations_input/baseline_situation_42_3_ts.json +++ b/data/baseline_situations_input/baseline_situation_42_3_ts.json @@ -4,8 +4,8 @@ "ownShip": { "initial": { "position": { - "latitude": 58.763449, - "longitude": 10.490654 + "lat": 58.763449, + "lon": 10.490654 }, "sog": 10.0, "cog": 0.0, diff --git a/data/baseline_situations_input/baseline_situation_43_3_ts.json b/data/baseline_situations_input/baseline_situation_43_3_ts.json index f244b21..de9b4c6 100644 --- a/data/baseline_situations_input/baseline_situation_43_3_ts.json +++ b/data/baseline_situations_input/baseline_situation_43_3_ts.json @@ -4,8 +4,8 @@ "ownShip": { "initial": { "position": { - "latitude": 58.763449, - "longitude": 10.490654 + "lat": 58.763449, + "lon": 10.490654 }, "sog": 10.0, "cog": 0.0, diff --git a/data/baseline_situations_input/baseline_situation_44_3_ts.json b/data/baseline_situations_input/baseline_situation_44_3_ts.json index 2c35e46..d2f6780 100644 --- a/data/baseline_situations_input/baseline_situation_44_3_ts.json +++ b/data/baseline_situations_input/baseline_situation_44_3_ts.json @@ -4,8 +4,8 @@ "ownShip": { "initial": { "position": { - "latitude": 58.763449, - "longitude": 10.490654 + "lat": 58.763449, + "lon": 10.490654 }, "sog": 10.0, "cog": 0.0, diff --git a/data/baseline_situations_input/baseline_situation_45_3_ts.json b/data/baseline_situations_input/baseline_situation_45_3_ts.json index eb3914b..9b48094 100644 --- a/data/baseline_situations_input/baseline_situation_45_3_ts.json +++ b/data/baseline_situations_input/baseline_situation_45_3_ts.json @@ -4,8 +4,8 @@ "ownShip": { "initial": { "position": { - "latitude": 58.763449, - "longitude": 10.490654 + "lat": 58.763449, + "lon": 10.490654 }, "sog": 10.0, "cog": 0.0, diff --git a/data/baseline_situations_input/baseline_situation_46_3_ts.json b/data/baseline_situations_input/baseline_situation_46_3_ts.json index db88394..d03f60e 100644 --- a/data/baseline_situations_input/baseline_situation_46_3_ts.json +++ b/data/baseline_situations_input/baseline_situation_46_3_ts.json @@ -4,8 +4,8 @@ "ownShip": { "initial": { "position": { - "latitude": 58.763449, - "longitude": 10.490654 + "lat": 58.763449, + "lon": 10.490654 }, "sog": 10.0, "cog": 0.0, diff --git a/data/baseline_situations_input/baseline_situation_47_3_ts.json b/data/baseline_situations_input/baseline_situation_47_3_ts.json index 501dd01..9016279 100644 --- a/data/baseline_situations_input/baseline_situation_47_3_ts.json +++ b/data/baseline_situations_input/baseline_situation_47_3_ts.json @@ -4,8 +4,8 @@ "ownShip": { "initial": { "position": { - "latitude": 58.763449, - "longitude": 10.490654 + "lat": 58.763449, + "lon": 10.490654 }, "sog": 10.0, "cog": 0.0, diff --git a/data/baseline_situations_input/baseline_situation_48_3_ts.json b/data/baseline_situations_input/baseline_situation_48_3_ts.json index c8538b9..beab07d 100644 --- a/data/baseline_situations_input/baseline_situation_48_3_ts.json +++ b/data/baseline_situations_input/baseline_situation_48_3_ts.json @@ -4,8 +4,8 @@ "ownShip": { "initial": { "position": { - "latitude": 58.763449, - "longitude": 10.490654 + "lat": 58.763449, + "lon": 10.490654 }, "sog": 10.0, "cog": 0.0, diff --git a/data/baseline_situations_input/baseline_situation_49_3_ts.json b/data/baseline_situations_input/baseline_situation_49_3_ts.json index ce20887..6b3101b 100644 --- a/data/baseline_situations_input/baseline_situation_49_3_ts.json +++ b/data/baseline_situations_input/baseline_situation_49_3_ts.json @@ -4,8 +4,8 @@ "ownShip": { "initial": { "position": { - "latitude": 58.763449, - "longitude": 10.490654 + "lat": 58.763449, + "lon": 10.490654 }, "sog": 10.0, "cog": 0.0, diff --git a/data/baseline_situations_input/baseline_situation_50_3_ts.json b/data/baseline_situations_input/baseline_situation_50_3_ts.json index 5c24d2a..a57b956 100644 --- a/data/baseline_situations_input/baseline_situation_50_3_ts.json +++ b/data/baseline_situations_input/baseline_situation_50_3_ts.json @@ -4,8 +4,8 @@ "ownShip": { "initial": { "position": { - "latitude": 58.763449, - "longitude": 10.490654 + "lat": 58.763449, + "lon": 10.490654 }, "sog": 10.0, "cog": 0.0, diff --git a/data/baseline_situations_input/baseline_situation_51_3_ts.json b/data/baseline_situations_input/baseline_situation_51_3_ts.json index b6bf664..8e158cb 100644 --- a/data/baseline_situations_input/baseline_situation_51_3_ts.json +++ b/data/baseline_situations_input/baseline_situation_51_3_ts.json @@ -4,8 +4,8 @@ "ownShip": { "initial": { "position": { - "latitude": 58.763449, - "longitude": 10.490654 + "lat": 58.763449, + "lon": 10.490654 }, "sog": 10.0, "cog": 0.0, diff --git a/data/baseline_situations_input/baseline_situation_52_3_ts.json b/data/baseline_situations_input/baseline_situation_52_3_ts.json index 2652ccb..10be327 100644 --- a/data/baseline_situations_input/baseline_situation_52_3_ts.json +++ b/data/baseline_situations_input/baseline_situation_52_3_ts.json @@ -4,8 +4,8 @@ "ownShip": { "initial": { "position": { - "latitude": 58.763449, - "longitude": 10.490654 + "lat": 58.763449, + "lon": 10.490654 }, "sog": 10.0, "cog": 0.0, diff --git a/data/baseline_situations_input/baseline_situation_53_3_ts.json b/data/baseline_situations_input/baseline_situation_53_3_ts.json index 31c5cf2..89ea1e2 100644 --- a/data/baseline_situations_input/baseline_situation_53_3_ts.json +++ b/data/baseline_situations_input/baseline_situation_53_3_ts.json @@ -4,8 +4,8 @@ "ownShip": { "initial": { "position": { - "latitude": 58.763449, - "longitude": 10.490654 + "lat": 58.763449, + "lon": 10.490654 }, "sog": 10.0, "cog": 0.0, diff --git a/data/baseline_situations_input/baseline_situation_54_3_ts.json b/data/baseline_situations_input/baseline_situation_54_3_ts.json index dabc18d..e96deac 100644 --- a/data/baseline_situations_input/baseline_situation_54_3_ts.json +++ b/data/baseline_situations_input/baseline_situation_54_3_ts.json @@ -4,8 +4,8 @@ "ownShip": { "initial": { "position": { - "latitude": 58.763449, - "longitude": 10.490654 + "lat": 58.763449, + "lon": 10.490654 }, "sog": 10.0, "cog": 0.0, diff --git a/data/baseline_situations_input/baseline_situation_55_3_ts.json b/data/baseline_situations_input/baseline_situation_55_3_ts.json index 88eb0b0..56e4424 100644 --- a/data/baseline_situations_input/baseline_situation_55_3_ts.json +++ b/data/baseline_situations_input/baseline_situation_55_3_ts.json @@ -4,8 +4,8 @@ "ownShip": { "initial": { "position": { - "latitude": 58.763449, - "longitude": 10.490654 + "lat": 58.763449, + "lon": 10.490654 }, "sog": 10.0, "cog": 0.0, diff --git a/data/example_situations_input/example_several_situations_01_1_ts.json b/data/example_situations_input/example_several_situations_01_1_ts.json index 12056bc..5057f9a 100644 --- a/data/example_situations_input/example_several_situations_01_1_ts.json +++ b/data/example_situations_input/example_several_situations_01_1_ts.json @@ -4,8 +4,8 @@ "ownShip": { "initial": { "position": { - "latitude": 58.763449, - "longitude": 10.490654 + "lat": 58.763449, + "lon": 10.490654 }, "sog": 7.0, "cog": 0.0, @@ -18,4 +18,4 @@ "desiredEncounterType": "overtaking-give-ay" } ] -} \ No newline at end of file +} diff --git a/data/example_situations_input/example_several_situations_02_2_ts.json b/data/example_situations_input/example_several_situations_02_2_ts.json index 11d1e89..71180d9 100644 --- a/data/example_situations_input/example_several_situations_02_2_ts.json +++ b/data/example_situations_input/example_several_situations_02_2_ts.json @@ -4,8 +4,8 @@ "ownShip": { "initial": { "position": { - "latitude": 58.763449, - "longitude": 10.490654 + "lat": 58.763449, + "lon": 10.490654 }, "sog": 7.0, "cog": 0.0, @@ -21,4 +21,4 @@ "desiredEncounterType": "crossing-give-way" } ] -} \ No newline at end of file +} diff --git a/data/example_situations_input/example_situation_01_1_ts.json b/data/example_situations_input/example_situation_01_1_ts.json index fcf0e4e..4cd151b 100644 --- a/data/example_situations_input/example_situation_01_1_ts.json +++ b/data/example_situations_input/example_situation_01_1_ts.json @@ -4,8 +4,8 @@ "ownShip": { "initial": { "position": { - "latitude": 58.763449, - "longitude": 10.490654 + "lat": 58.763449, + "lon": 10.490654 }, "sog": 10.0, "cog": 270.0, @@ -19,4 +19,4 @@ "vectorTime": 20.0 } ] -} \ No newline at end of file +} diff --git a/data/example_situations_input/example_situation_02_1_ts.json b/data/example_situations_input/example_situation_02_1_ts.json index c7c827e..5bd37d1 100644 --- a/data/example_situations_input/example_situation_02_1_ts.json +++ b/data/example_situations_input/example_situation_02_1_ts.json @@ -4,8 +4,8 @@ "ownShip": { "initial": { "position": { - "latitude": 58.763449, - "longitude": 10.490654 + "lat": 58.763449, + "lon": 10.490654 }, "sog": 10.0, "cog": 0.0, @@ -17,4 +17,4 @@ "desiredEncounterType": "crossing-give-way" } ] -} \ No newline at end of file +} diff --git a/data/example_situations_input/example_situation_03_1_ts.json b/data/example_situations_input/example_situation_03_1_ts.json index 35785f5..0f9c3d1 100644 --- a/data/example_situations_input/example_situation_03_1_ts.json +++ b/data/example_situations_input/example_situation_03_1_ts.json @@ -4,8 +4,8 @@ "ownShip": { "initial": { "position": { - "latitude": 58.763449, - "longitude": 10.490654 + "lat": 58.763449, + "lon": 10.490654 }, "sog": 10.0, "cog": 0.0, @@ -17,4 +17,4 @@ "desiredEncounterType": "crossing-stand-on" } ] -} \ No newline at end of file +} diff --git a/data/example_situations_input/example_situation_04_1_ts.json b/data/example_situations_input/example_situation_04_1_ts.json index 091ee0f..17dc69f 100644 --- a/data/example_situations_input/example_situation_04_1_ts.json +++ b/data/example_situations_input/example_situation_04_1_ts.json @@ -4,8 +4,8 @@ "ownShip": { "initial": { "position": { - "latitude": 58.763449, - "longitude": 10.490654 + "lat": 58.763449, + "lon": 10.490654 }, "sog": 7.0, "cog": 0.0, @@ -17,4 +17,4 @@ "desiredEncounterType": "overtaking-give-way" } ] -} \ No newline at end of file +} diff --git a/data/own_ship/own_ship.json b/data/own_ship/own_ship.json index cbab8f4..d2a120a 100644 --- a/data/own_ship/own_ship.json +++ b/data/own_ship/own_ship.json @@ -1,8 +1,10 @@ { - "length": 122, - "width": 20, - "height": 8, - "speedMax": 17, + "dimensions": { + "length": 122, + "width": 20, + "height": 8 + }, + "sogMax": 17, "mmsi": 257847600, "name": "BASTO VI", "shipType": "Passenger" diff --git a/data/target_ships/target_ship_1.json b/data/target_ships/target_ship_1.json index e4dc5bb..341b373 100644 --- a/data/target_ships/target_ship_1.json +++ b/data/target_ships/target_ship_1.json @@ -1,7 +1,9 @@ { - "length": 122, - "width": 20, - "height": 8, - "speedMax": 17, + "dimensions": { + "length": 122, + "width": 20, + "height": 8 + }, + "sogMax": 17, "shipType": "Passenger" } diff --git a/data/target_ships/target_ship_2.json b/data/target_ships/target_ship_2.json index d4ea8b3..fca848a 100644 --- a/data/target_ships/target_ship_2.json +++ b/data/target_ships/target_ship_2.json @@ -1,7 +1,9 @@ { - "length": 50, - "width": 10, - "height": 8, - "speedMax": 15, + "dimensions": { + "length": 50, + "width": 10, + "height": 8 + }, + "sogMax": 15, "shipType": "Cargo" } diff --git a/data/target_ships/target_ship_3.json b/data/target_ships/target_ship_3.json index 41d8619..106cc7b 100644 --- a/data/target_ships/target_ship_3.json +++ b/data/target_ships/target_ship_3.json @@ -1,7 +1,9 @@ { - "length": 178, - "width": 30, - "height": 30, - "speedMax": 21, + "dimensions": { + "length": 178, + "width": 30, + "height": 30 + }, + "sogMax": 21, "shipType": "Passenger" } diff --git a/docs/input_files.rst b/docs/input_files.rst index 8d6383c..335aa5b 100644 --- a/docs/input_files.rst +++ b/docs/input_files.rst @@ -10,8 +10,8 @@ Example 1: Complete specified situation:: "ownShip": { "initial": { "position": { - "latitude": 58.763449, - "longitude": 10.490654 + "lat": 58.763449, + "lon": 10.490654 }, "sog": 10.0, "cog": 0.0, @@ -61,8 +61,8 @@ Example 2: Minimum specified situation:: "ownShip": { "initial": { "position": { - "latitude": 58.763449, - "longitude": 10.490654 + "lat": 58.763449, + "lon": 10.490654 }, "sog": 10.0, "cog": 0.0, @@ -89,8 +89,8 @@ Example 3: Generate multiple situations using `numSituations`:: "ownShip": { "initial": { "position": { - "latitude": 58.763449, - "longitude": 10.490654 + "lat": 58.763449, + "lon": 10.490654 }, "sog": 10.0, "cog": 0.0, @@ -116,8 +116,8 @@ Example 4: Assign range for `beta`:: "speed": 7.0, "course": 0.0, "position": { - "latitude": 58.763449, - "longitude": 10.490654 + "lat": 58.763449, + "lon": 10.490654 } }, "encounter": [ diff --git a/pyproject.toml b/pyproject.toml index e9b178c..68511c8 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,6 +1,6 @@ [tool.poetry] name = "trafficgen" -version = "0.5.0" +version = "0.7.0" description = "Automatic generation of ship traffic situations from a set of predefined situations" authors = ["Tom Arne Pedersen "] license = "MIT License" @@ -17,7 +17,7 @@ basemap-data-hires = "^1.3.2" global-land-mask = "^1.0.0" folium = "^0.14.0" pydantic = "^2.5" -maritime-schema = "^0.0.6" + [tool.poetry.group.dev] optional = true diff --git a/src/trafficgen/check_land_crossing.py b/src/trafficgen/check_land_crossing.py index 133db1c..d0912fa 100644 --- a/src/trafficgen/check_land_crossing.py +++ b/src/trafficgen/check_land_crossing.py @@ -1,23 +1,23 @@ """Module with helper functions to determine if a generated path is crossing land.""" from global_land_mask import globe -from maritime_schema.types.caga import Position +from trafficgen.types import GeoPosition from trafficgen.utils import calculate_position_at_certain_time, rad_2_deg def path_crosses_land( - position_1: Position, + position_1: GeoPosition, speed: float, course: float, - lat_lon0: Position, + lat_lon0: GeoPosition, time_interval: float = 300.0, ) -> bool: """ Find if path is crossing land. Params: - position_1: Ship position in latitude/longitude [rad]. + position_1: Ship position in lat/lon [rad]. speed: Ship speed [m/s]. course: Ship course [rad]. lat_lon0: Reference point, latitudinal [rad] and longitudinal [rad]. @@ -31,15 +31,15 @@ def path_crosses_land( num_checks = 10 for i in range(int(time_interval / num_checks)): position_2 = calculate_position_at_certain_time( - Position(latitude=position_1.latitude, longitude=position_1.longitude), + GeoPosition(lat=position_1.lat, lon=position_1.lon), lat_lon0, speed, course, i * time_interval / num_checks, ) - lat = rad_2_deg(position_2.latitude) - lon = rad_2_deg(position_2.longitude) + lat = rad_2_deg(position_2.lat) + lon = rad_2_deg(position_2.lon) if globe.is_land(lat, lon): # type: ignore (The package is unfortunately not typed.) return True return False diff --git a/src/trafficgen/encounter.py b/src/trafficgen/encounter.py index e1da0bd..c4b85fd 100644 --- a/src/trafficgen/encounter.py +++ b/src/trafficgen/encounter.py @@ -6,26 +6,23 @@ import random from typing import List, Optional, Tuple, Union -from uuid import uuid4 import numpy as np -from maritime_schema.types.caga import ( - AISNavStatus, - Initial, - OwnShip, - Position, - ShipStatic, - TargetShip, - Waypoint, -) from trafficgen.check_land_crossing import path_crosses_land from trafficgen.marine_system_simulator import flat2llh, llh2flat from trafficgen.types import ( + AisNavStatus, EncounterRelativeSpeed, EncounterSettings, EncounterType, + GeoPosition, + Initial, + OwnShip, + ShipStatic, SituationInput, + TargetShip, + Waypoint, ) from trafficgen.utils import ( calculate_bearing_between_waypoints, @@ -67,18 +64,19 @@ def generate_encounter( * encounter_found: True=encounter found, False=encounter not found """ encounter_found: bool = False + target_ship_id: int = 10 # Id of first target ship outer_counter: int = 0 # Initiating some variables which later will be set if an encounter is found assert own_ship.initial is not None - target_ship_initial_position: Position = own_ship.initial.position + target_ship_initial_position: GeoPosition = own_ship.initial.position target_ship_sog: float = 0 target_ship_cog: float = 0 # Initial posision of own ship used as reference point for lat_lon0 - lat_lon0: Position = Position( - latitude=own_ship.initial.position.latitude, - longitude=own_ship.initial.position.longitude, + lat_lon0: GeoPosition = GeoPosition( + lat=own_ship.initial.position.lat, + lon=own_ship.initial.position.lon, ) target_ship_static: ShipStatic = decide_target_ship(target_ships_static) @@ -117,7 +115,7 @@ def generate_encounter( ) # Target ship - target_ship_position_future: Position = assign_future_position_to_target_ship( + target_ship_position_future: GeoPosition = assign_future_position_to_target_ship( own_ship_position_future, lat_lon0, settings.max_meeting_distance ) @@ -145,8 +143,8 @@ def generate_encounter( else: target_ship_sog: float = relative_sog * own_ship.initial.sog - assert target_ship_static.speed_max is not None - target_ship_sog = round(np.minimum(target_ship_sog, target_ship_static.speed_max), 1) + assert target_ship_static.sog_max is not None + target_ship_sog = round(np.minimum(target_ship_sog, target_ship_static.sog_max), 1) target_ship_vector_length = target_ship_sog * vector_time start_position_target_ship, position_found = find_start_position_target_ship( @@ -161,7 +159,7 @@ def generate_encounter( ) if position_found: - target_ship_initial_position: Position = start_position_target_ship + target_ship_initial_position: GeoPosition = start_position_target_ship target_ship_cog: float = calculate_ship_cog( target_ship_initial_position, target_ship_position_future, lat_lon0 ) @@ -191,17 +189,18 @@ def generate_encounter( encounter_found = encounter_ok if encounter_found: - target_ship_static.id = uuid4() + target_ship_static.id = target_ship_id + target_ship_id += 1 target_ship_static.name = f"target_ship_{encounter_number}" target_ship_initial: Initial = Initial( position=target_ship_initial_position, sog=target_ship_sog, cog=target_ship_cog, heading=target_ship_cog, - nav_status=AISNavStatus.UNDER_WAY_USING_ENGINE, + nav_status=AisNavStatus.UNDER_WAY_USING_ENGINE, ) target_ship_waypoint0 = Waypoint( - position=target_ship_initial_position.model_copy(deep=True), turn_radius=None, data=None + position=target_ship_initial_position.model_copy(deep=True), turn_radius=None, leg=None ) future_position_target_ship = calculate_position_at_certain_time( @@ -213,7 +212,7 @@ def generate_encounter( ) target_ship_waypoint1 = Waypoint( - position=future_position_target_ship, turn_radius=None, data=None + position=future_position_target_ship, turn_radius=None, leg=None ) waypoints = [target_ship_waypoint0, target_ship_waypoint1] @@ -229,11 +228,11 @@ def generate_encounter( def check_encounter_evolvement( own_ship: OwnShip, own_ship_cog: float, - own_ship_position_future: Position, - lat_lon0: Position, + own_ship_position_future: GeoPosition, + lat_lon0: GeoPosition, target_ship_sog: float, target_ship_cog: float, - target_ship_position_future: Position, + target_ship_position_future: GeoPosition, desired_encounter_type: EncounterType, settings: EncounterSettings, ) -> bool: @@ -298,7 +297,7 @@ def define_own_ship( desired_traffic_situation: SituationInput, own_ship_static: ShipStatic, encounter_settings: EncounterSettings, - lat_lon0: Position, + lat_lon0: GeoPosition, ) -> OwnShip: """ Define own ship based on information in desired traffic situation. @@ -318,7 +317,7 @@ def define_own_ship( # If waypoints are not given, let initial position be the first waypoint, # then calculate second waypoint some time in the future own_ship_waypoint0 = Waypoint( - position=own_ship_initial.position.model_copy(deep=True), turn_radius=None, data=None + position=own_ship_initial.position.model_copy(deep=True), turn_radius=None, leg=None ) ship_position_future = calculate_position_at_certain_time( own_ship_initial.position, @@ -327,12 +326,12 @@ def define_own_ship( own_ship_initial.cog, encounter_settings.situation_length, ) - own_ship_waypoint1 = Waypoint(position=ship_position_future, turn_radius=None, data=None) + own_ship_waypoint1 = Waypoint(position=ship_position_future, turn_radius=None, leg=None) own_ship_waypoints: List[Waypoint] = [own_ship_waypoint0, own_ship_waypoint1] elif len(desired_traffic_situation.own_ship.waypoints) == 1: # If one waypoint is given, use initial position as first waypoint own_ship_waypoint0 = Waypoint( - position=own_ship_initial.position.model_copy(deep=True), turn_radius=None, data=None + position=own_ship_initial.position.model_copy(deep=True), turn_radius=None, leg=None ) own_ship_waypoint1 = desired_traffic_situation.own_ship.waypoints[0] own_ship_waypoints: List[Waypoint] = [own_ship_waypoint0, own_ship_waypoint1] @@ -349,11 +348,11 @@ def define_own_ship( def calculate_min_vector_length_target_ship( - own_ship_position: Position, + own_ship_position: GeoPosition, own_ship_cog: float, - target_ship_position_future: Position, + target_ship_position_future: GeoPosition, desired_beta: float, - lat_lon0: Position, + lat_lon0: GeoPosition, ) -> float: """ Calculate minimum vector length (target ship sog x vector). This will @@ -373,13 +372,13 @@ def calculate_min_vector_length_target_ship( psi: float = own_ship_cog + desired_beta own_ship_position_north, own_ship_position_east, _ = llh2flat( - own_ship_position.latitude, own_ship_position.longitude, lat_lon0.latitude, lat_lon0.longitude + own_ship_position.lat, own_ship_position.lon, lat_lon0.lat, lat_lon0.lon ) target_ship_position_future_north, target_ship_position_future_east, _ = llh2flat( - target_ship_position_future.latitude, - target_ship_position_future.longitude, - lat_lon0.latitude, - lat_lon0.longitude, + target_ship_position_future.lat, + target_ship_position_future.lon, + lat_lon0.lat, + lat_lon0.lon, ) p_1 = np.array([own_ship_position_north, own_ship_position_east]) @@ -392,15 +391,15 @@ def calculate_min_vector_length_target_ship( def find_start_position_target_ship( - own_ship_position: Position, - lat_lon0: Position, + own_ship_position: GeoPosition, + lat_lon0: GeoPosition, own_ship_cog: float, - target_ship_position_future: Position, + target_ship_position_future: GeoPosition, target_ship_vector_length: float, desired_beta: float, desired_encounter_type: EncounterType, settings: EncounterSettings, -) -> Tuple[Position, bool]: +) -> Tuple[GeoPosition, bool]: """ Find start position of target ship using desired beta and vector length. @@ -423,14 +422,12 @@ def find_start_position_target_ship( theta15_criteria: float = settings.classification.theta15_criteria theta15: List[float] = settings.classification.theta15 - n_1, e_1, _ = llh2flat( - own_ship_position.latitude, own_ship_position.longitude, lat_lon0.latitude, lat_lon0.longitude - ) + n_1, e_1, _ = llh2flat(own_ship_position.lat, own_ship_position.lon, lat_lon0.lat, lat_lon0.lon) n_2, e_2, _ = llh2flat( - target_ship_position_future.latitude, - target_ship_position_future.longitude, - lat_lon0.latitude, - lat_lon0.longitude, + target_ship_position_future.lat, + target_ship_position_future.lon, + lat_lon0.lat, + lat_lon0.lon, ) v_r: float = target_ship_vector_length psi: float = own_ship_cog + desired_beta @@ -466,16 +463,16 @@ def find_start_position_target_ship( e_32 = round(e_1 + s_2 * (e_4 - e_1), 0) n_32 = round(n_1 + s_2 * (n_4 - n_1), 0) - lat31, lon31, _ = flat2llh(n_31, e_31, lat_lon0.latitude, lat_lon0.longitude) + lat31, lon31, _ = flat2llh(n_31, e_31, lat_lon0.lat, lat_lon0.lon) target_ship_cog_1: float = calculate_ship_cog( - pos_0=Position(latitude=lat31, longitude=lon31), + pos_0=GeoPosition(lat=lat31, lon=lon31), pos_1=target_ship_position_future, lat_lon0=lat_lon0, ) beta1, alpha1 = calculate_relative_bearing( position_own_ship=own_ship_position, heading_own_ship=own_ship_cog, - position_target_ship=Position(latitude=lat31, longitude=lon31), + position_target_ship=GeoPosition(lat=lat31, lon=lon31), heading_target_ship=target_ship_cog_1, lat_lon0=lat_lon0, ) @@ -483,16 +480,16 @@ def find_start_position_target_ship( alpha1, beta1, theta13_criteria, theta14_criteria, theta15_criteria, theta15 ) - lat32, lon32, _ = flat2llh(n_32, e_32, lat_lon0.latitude, lat_lon0.longitude) + lat32, lon32, _ = flat2llh(n_32, e_32, lat_lon0.lat, lat_lon0.lon) target_ship_cog_2 = calculate_ship_cog( - pos_0=Position(latitude=lat32, longitude=lon32), + pos_0=GeoPosition(lat=lat32, lon=lon32), pos_1=target_ship_position_future, lat_lon0=lat_lon0, ) beta2, alpha2 = calculate_relative_bearing( position_own_ship=own_ship_position, heading_own_ship=own_ship_cog, - position_target_ship=Position(latitude=lat32, longitude=lon32), + position_target_ship=GeoPosition(lat=lat32, lon=lon32), heading_target_ship=target_ship_cog_2, lat_lon0=lat_lon0, ) @@ -504,23 +501,23 @@ def find_start_position_target_ship( desired_encounter_type is colreg_state1 and np.abs(convert_angle_0_to_2_pi_to_minus_pi_to_pi(np.abs(beta1 - desired_beta))) < 0.01 ): - start_position_target_ship = Position(latitude=lat31, longitude=lon31) + start_position_target_ship = GeoPosition(lat=lat31, lon=lon31) start_position_found = True elif ( desired_encounter_type is colreg_state2 and np.abs(convert_angle_0_to_2_pi_to_minus_pi_to_pi(np.abs(beta2 - desired_beta))) < 0.01 ): - start_position_target_ship = Position(latitude=lat32, longitude=lon32) + start_position_target_ship = GeoPosition(lat=lat32, lon=lon32) start_position_found = True return start_position_target_ship, start_position_found def assign_future_position_to_target_ship( - own_ship_position_future: Position, - lat_lon0: Position, + own_ship_position_future: GeoPosition, + lat_lon0: GeoPosition, max_meeting_distance: float, -) -> Position: +) -> GeoPosition: """ Randomly assign future position of target ship. If drawing a circle with radius max_meeting_distance around future position of own ship, future position of @@ -541,15 +538,15 @@ def assign_future_position_to_target_ship( random_distance = random.uniform(0, 1) * max_meeting_distance own_ship_position_future_north, own_ship_position_future_east, _ = llh2flat( - own_ship_position_future.latitude, - own_ship_position_future.longitude, - lat_lon0.latitude, - lat_lon0.longitude, + own_ship_position_future.lat, + own_ship_position_future.lon, + lat_lon0.lat, + lat_lon0.lon, ) north: float = own_ship_position_future_north + random_distance * np.cos(random_angle) east: float = own_ship_position_future_east + random_distance * np.sin(random_angle) - latitude, longitude, _ = flat2llh(north, east, lat_lon0.latitude, lat_lon0.longitude) - return Position(latitude=latitude, longitude=longitude) + lat, lon, _ = flat2llh(north, east, lat_lon0.lat, lat_lon0.lon) + return GeoPosition(lat=lat, lon=lon) def determine_colreg( @@ -607,20 +604,20 @@ def determine_colreg( def calculate_relative_bearing( - position_own_ship: Position, + position_own_ship: GeoPosition, heading_own_ship: float, - position_target_ship: Position, + position_target_ship: GeoPosition, heading_target_ship: float, - lat_lon0: Position, + lat_lon0: GeoPosition, ) -> Tuple[float, float]: """ Calculate relative bearing between own ship and target ship, both seen from own ship and seen from target ship. Params: - * position_own_ship: Own ship position {latitude, longitude} [rad] + * position_own_ship: Own ship position {lat, lon} [rad] * heading_own_ship: Own ship heading [rad] - * position_target_ship: Target ship position {latitude, longitude} [rad] + * position_target_ship: Target ship position {lat, lon} [rad] * heading_target_ship: Target ship heading [rad] * lat_lon0: Reference point, latitudinal [rad] and longitudinal [rad] @@ -631,13 +628,13 @@ def calculate_relative_bearing( """ # POSE combination of relative bearing and contact angle n_own_ship, e_own_ship, _ = llh2flat( - position_own_ship.latitude, position_own_ship.longitude, lat_lon0.latitude, lat_lon0.longitude + position_own_ship.lat, position_own_ship.lon, lat_lon0.lat, lat_lon0.lon ) n_target_ship, e_target_ship, _ = llh2flat( - position_target_ship.latitude, - position_target_ship.longitude, - lat_lon0.latitude, - lat_lon0.longitude, + position_target_ship.lat, + position_target_ship.lon, + lat_lon0.lat, + lat_lon0.lon, ) # Absolute bearing of target ship relative to own ship @@ -687,20 +684,20 @@ def calculate_relative_bearing( return beta, alpha -def calculate_ship_cog(pos_0: Position, pos_1: Position, lat_lon0: Position) -> float: +def calculate_ship_cog(pos_0: GeoPosition, pos_1: GeoPosition, lat_lon0: GeoPosition) -> float: """ Calculate ship cog between two waypoints. Params: - * waypoint_0: Dict, waypoint {latitude, longitude} [rad] - * waypoint_1: Dict, waypoint {latitude, longitude} [rad] + * waypoint_0: Dict, waypoint {lat, lon} [rad] + * waypoint_1: Dict, waypoint {lat, lon} [rad] Returns ------- * cog: Ship cog [rad] """ - n_0, e_0, _ = llh2flat(pos_0.latitude, pos_0.longitude, lat_lon0.latitude, lat_lon0.longitude) - n_1, e_1, _ = llh2flat(pos_1.latitude, pos_1.longitude, lat_lon0.latitude, lat_lon0.longitude) + n_0, e_0, _ = llh2flat(pos_0.lat, pos_0.lon, lat_lon0.lat, lat_lon0.lon) + n_1, e_1, _ = llh2flat(pos_1.lat, pos_1.lon, lat_lon0.lat, lat_lon0.lon) cog: float = np.arctan2(e_1 - e_0, n_1 - n_0) if cog < 0.0: diff --git a/src/trafficgen/marine_system_simulator.py b/src/trafficgen/marine_system_simulator.py index 91438fd..136ef56 100644 --- a/src/trafficgen/marine_system_simulator.py +++ b/src/trafficgen/marine_system_simulator.py @@ -25,20 +25,20 @@ def flat2llh( height_ref: float = 0.0, ) -> Tuple[float, float, float]: """ - Compute longitude lon (rad), latitude lat (rad) and height h (m) for the + Compute lon lon (rad), lat lat (rad) and height h (m) for the NED coordinates (xn,yn,zn). Method taken from the MSS (Marine System Simulator) toolbox which is a Matlab/Simulink library for marine systems. - The method computes longitude lon (rad), latitude lat (rad) and height h (m) for the + The method computes lon lon (rad), lat lat (rad) and height h (m) for the NED coordinates (xn,yn,zn) using a flat Earth coordinate system defined by the WGS-84 ellipsoid. The flat Earth coordinate origin is located at (lon_0, lat_0) with reference height h_ref in meters above the surface of the ellipsoid. Both height and h_ref are positive upwards, while zn is positive downwards (NED). Author: Thor I. Fossen Date: 20 July 2018 - Revisions: 2023-02-04 updates the formulas for latitude and longitude + Revisions: 2023-02-04 updates the formulas for lat and lon Params: * xn: Ship position, north [m] @@ -50,8 +50,8 @@ def flat2llh( Returns ------- - * lat: Latitude [rad] - * lon: Longitude [rad] + * lat: lat [rad] + * lon: lon [rad] * h: Height [m] """ @@ -63,8 +63,8 @@ def flat2llh( r_n = a_radius / np.sqrt(1 - e_eccentricity**2 * np.sin(lat_0) ** 2) r_m = r_n * ((1 - e_eccentricity**2) / (1 - e_eccentricity**2 * np.sin(lat_0) ** 2)) - d_lat = x_n / (r_m + height_ref) # delta latitude dmu = mu - mu0 - d_lon = y_n / ((r_n + height_ref) * np.cos(lat_0)) # delta longitude dl = l - l0 + d_lat = x_n / (r_m + height_ref) # delta lat dmu = mu - mu0 + d_lon = y_n / ((r_n + height_ref) * np.cos(lat_0)) # delta lon dl = l - l0 lat = ssa(lat_0 + d_lat) lon = ssa(lon_0 + d_lon) @@ -82,22 +82,22 @@ def llh2flat( height_ref: float = 0.0, ) -> Tuple[float, float, float]: """ - Compute (north, east) for a flat Earth coordinate system from longitude - lon (rad) and latitude lat (rad). + Compute (north, east) for a flat Earth coordinate system from lon + lon (rad) and lat lat (rad). Method taken from the MSS (Marine System Simulator) toolbox which is a Matlab/Simulink library for marine systems. - The method computes (north, east) for a flat Earth coordinate system from longitude - lon (rad) and latitude lat (rad) of the WGS-84 elipsoid. The flat Earth coordinate + The method computes (north, east) for a flat Earth coordinate system from lon + lon (rad) and lat lat (rad) of the WGS-84 elipsoid. The flat Earth coordinate origin is located at (lon_0, lat_0). Author: Thor I. Fossen Date: 20 July 2018 - Revisions: 2023-02-04 updates the formulas for latitude and longitude + Revisions: 2023-02-04 updates the formulas for lat and lon Params: - * lat: Ship position in latitude [rad] - * lon: Ship position in longitude [rad] + * lat: Ship position in lat [rad] + * lon: Ship position in lon [rad] * h=0.0: Ship height in meters above the surface of the ellipsoid * lat_0, lon_0: Flat earth coordinate located at (lon_0, lat_0) * h_ref=0.0: Flat earth coordinate with reference h_ref in meters above diff --git a/src/trafficgen/plot_traffic_situation.py b/src/trafficgen/plot_traffic_situation.py index db45ccd..e8fc2c3 100644 --- a/src/trafficgen/plot_traffic_situation.py +++ b/src/trafficgen/plot_traffic_situation.py @@ -1,32 +1,32 @@ # The matplotlib package is unfortunately not fully typed. Hence the following pyright exemption. # pyright: reportUnknownMemberType=false """Functions to prepare and plot traffic situations.""" + import math from typing import List, Optional, Tuple, Union import matplotlib.pyplot as plt import numpy as np from folium import Map, Polygon -from maritime_schema.types.caga import Position, Ship, TargetShip, TrafficSituation from matplotlib.axes import Axes as Axes from matplotlib.patches import Circle from trafficgen.marine_system_simulator import flat2llh, llh2flat -from trafficgen.types import EncounterSettings +from trafficgen.types import EncounterSettings, GeoPosition, Ship, TargetShip, TrafficSituation from trafficgen.utils import m_2_nm, rad_2_deg def calculate_vector_arrow( - position: Position, + position: GeoPosition, direction: float, vector_length: float, - lat_lon0: Position, + lat_lon0: GeoPosition, ) -> List[Tuple[float, float]]: """ Calculate the arrow with length vector pointing in the direction of ship course. Params: - * position: {latitude}, {longitude} position of the ship [rad] + * position: {lat}, {lon} position of the ship [rad] * direction: direction the arrow is pointing [rad] * vector_length: length of vector [m] * lat_lon0: Reference point, latitudinal [rad] and longitudinal [rad] @@ -35,9 +35,7 @@ def calculate_vector_arrow( ------- * arrow_points: Polygon points to draw the arrow [deg] """ - north_start, east_start, _ = llh2flat( - position.latitude, position.longitude, lat_lon0.latitude, lat_lon0.longitude - ) + north_start, east_start, _ = llh2flat(position.lat, position.lon, lat_lon0.lat, lat_lon0.lon) side_length = vector_length / 10 sides_angle = 25 @@ -50,13 +48,13 @@ def calculate_vector_arrow( north_arrow_side_2 = north_end + side_length * np.cos(direction + np.pi + sides_angle) east_arrow_side_2 = east_end + side_length * np.sin(direction + np.pi + sides_angle) - lat_start, lon_start, _ = flat2llh(north_start, east_start, lat_lon0.latitude, lat_lon0.longitude) - lat_end, lon_end, _ = flat2llh(north_end, east_end, lat_lon0.latitude, lat_lon0.longitude) + lat_start, lon_start, _ = flat2llh(north_start, east_start, lat_lon0.lat, lat_lon0.lon) + lat_end, lon_end, _ = flat2llh(north_end, east_end, lat_lon0.lat, lat_lon0.lon) lat_arrow_side_1, lon_arrow_side_1, _ = flat2llh( - north_arrow_side_1, east_arrow_side_1, lat_lon0.latitude, lat_lon0.longitude + north_arrow_side_1, east_arrow_side_1, lat_lon0.lat, lat_lon0.lon ) lat_arrow_side_2, lon_arrow_side_2, _ = flat2llh( - north_arrow_side_2, east_arrow_side_2, lat_lon0.latitude, lat_lon0.longitude + north_arrow_side_2, east_arrow_side_2, lat_lon0.lat, lat_lon0.lon ) point_1 = (rad_2_deg(lat_start), rad_2_deg(lon_start)) @@ -68,9 +66,9 @@ def calculate_vector_arrow( def calculate_ship_outline( - position: Position, + position: GeoPosition, course: float, - lat_lon0: Position, + lat_lon0: GeoPosition, ship_length: float = 100.0, ship_width: float = 15.0, ) -> List[Tuple[float, float]]: @@ -78,7 +76,7 @@ def calculate_ship_outline( Calculate the outline of the ship pointing in the direction of ship course. Params: - * position: {latitude}, {longitude} position of the ship [rad] + * position: {lat}, {lon} position of the ship [rad] * course: course of the ship [rad] * lat_lon0: Reference point, latitudinal [rad] and longitudinal [rad] * ship_length: Ship length. If not given, ship length is set to 100 @@ -88,9 +86,7 @@ def calculate_ship_outline( ------- * ship_outline_points: Polygon points to draw the ship [deg] """ - north_start, east_start, _ = llh2flat( - position.latitude, position.longitude, lat_lon0.latitude, lat_lon0.longitude - ) + north_start, east_start, _ = llh2flat(position.lat, position.lon, lat_lon0.lat, lat_lon0.lon) # increase size for visualizing ship_length *= 10 @@ -98,7 +94,7 @@ def calculate_ship_outline( north_pos1 = north_start + np.cos(course) * (-ship_length / 2) - np.sin(course) * ship_width / 2 east_pos1 = east_start + np.sin(course) * (-ship_length / 2) + np.cos(course) * ship_width / 2 - lat_pos1, lon_pos1, _ = flat2llh(north_pos1, east_pos1, lat_lon0.latitude, lat_lon0.longitude) + lat_pos1, lon_pos1, _ = flat2llh(north_pos1, east_pos1, lat_lon0.lat, lat_lon0.lon) north_pos2 = ( north_start @@ -110,11 +106,11 @@ def calculate_ship_outline( + np.sin(course) * (ship_length / 2 - ship_length * 0.1) + np.cos(course) * ship_width / 2 ) - lat_pos2, lon_pos2, _ = flat2llh(north_pos2, east_pos2, lat_lon0.latitude, lat_lon0.longitude) + lat_pos2, lon_pos2, _ = flat2llh(north_pos2, east_pos2, lat_lon0.lat, lat_lon0.lon) north_pos3 = north_start + np.cos(course) * (ship_length / 2) east_pos3 = east_start + np.sin(course) * (ship_length / 2) - lat_pos3, lon_pos3, _ = flat2llh(north_pos3, east_pos3, lat_lon0.latitude, lat_lon0.longitude) + lat_pos3, lon_pos3, _ = flat2llh(north_pos3, east_pos3, lat_lon0.lat, lat_lon0.lon) north_pos4 = ( north_start @@ -126,11 +122,11 @@ def calculate_ship_outline( + np.sin(course) * (ship_length / 2 - ship_length * 0.1) + np.cos(course) * (-ship_width / 2) ) - lat_pos4, lon_pos4, _ = flat2llh(north_pos4, east_pos4, lat_lon0.latitude, lat_lon0.longitude) + lat_pos4, lon_pos4, _ = flat2llh(north_pos4, east_pos4, lat_lon0.lat, lat_lon0.lon) north_pos5 = north_start + np.cos(course) * (-ship_length / 2) - np.sin(course) * (-ship_width / 2) east_pos5 = east_start + np.sin(course) * (-ship_length / 2) + np.cos(course) * (-ship_width / 2) - lat_pos5, lon_pos5, _ = flat2llh(north_pos5, east_pos5, lat_lon0.latitude, lat_lon0.longitude) + lat_pos5, lon_pos5, _ = flat2llh(north_pos5, east_pos5, lat_lon0.lat, lat_lon0.lon) point_1 = (rad_2_deg(lat_pos1), rad_2_deg(lon_pos1)) point_2 = (rad_2_deg(lat_pos2), rad_2_deg(lon_pos2)) @@ -168,7 +164,7 @@ def plot_specific_traffic_situation( lat_lon0 = situation.own_ship.initial.position - map_plot = Map(location=(rad_2_deg(lat_lon0.latitude), rad_2_deg(lat_lon0.longitude)), zoom_start=10) + map_plot = Map(location=(rad_2_deg(lat_lon0.lat), rad_2_deg(lat_lon0.lon)), zoom_start=10) map_plot = add_ship_to_map( situation.own_ship, encounter_settings.common_vector, @@ -193,7 +189,7 @@ def plot_specific_traffic_situation( def add_ship_to_map( ship: Ship, vector_time: float, - lat_lon0: Position, + lat_lon0: GeoPosition, map_plot: Optional[Map], color: str = "black", ) -> Map: @@ -212,9 +208,7 @@ def add_ship_to_map( * m: Updated instance of Map. """ if map_plot is None: - map_plot = Map( - location=(rad_2_deg(lat_lon0.latitude), rad_2_deg(lat_lon0.longitude)), zoom_start=10 - ) + map_plot = Map(location=(rad_2_deg(lat_lon0.lat), rad_2_deg(lat_lon0.lon)), zoom_start=10) assert ship.initial is not None vector_length = vector_time * ship.initial.sog @@ -289,7 +283,7 @@ def plot_traffic_situations( xlabel="[nm]", ylabel="[nm]", ) - _ = axes.set_title(situation.title) + _ = axes.set_title(str(situation.title)) assert situation.own_ship is not None assert situation.own_ship.initial assert encounter_settings.common_vector is not None @@ -322,7 +316,7 @@ def plot_traffic_situations( def find_max_value_for_plot( ship: Ship, max_value: float, - lat_lon0: Position, + lat_lon0: GeoPosition, ) -> float: """ Find the maximum deviation from the Reference point in north and east direction. @@ -339,10 +333,10 @@ def find_max_value_for_plot( assert ship.initial is not None north, east, _ = llh2flat( - ship.initial.position.latitude, - ship.initial.position.longitude, - lat_lon0.latitude, - lat_lon0.longitude, + ship.initial.position.lat, + ship.initial.position.lon, + lat_lon0.lat, + lat_lon0.lon, ) max_value = np.max( [ @@ -357,7 +351,7 @@ def find_max_value_for_plot( def add_ship_to_plot( ship: Ship, vector_time: float, - lat_lon0: Position, + lat_lon0: GeoPosition, axes: Optional[Axes], color: str = "black", ): @@ -376,10 +370,10 @@ def add_ship_to_plot( assert ship.initial is not None pos_0_north, pos_0_east, _ = llh2flat( - ship.initial.position.latitude, - ship.initial.position.longitude, - lat_lon0.latitude, - lat_lon0.longitude, + ship.initial.position.lat, + ship.initial.position.lon, + lat_lon0.lat, + lat_lon0.lon, ) pos_0_north = m_2_nm(pos_0_north) pos_0_east = m_2_nm(pos_0_east) diff --git a/src/trafficgen/read_files.py b/src/trafficgen/read_files.py index 29a90cb..9035a63 100644 --- a/src/trafficgen/read_files.py +++ b/src/trafficgen/read_files.py @@ -6,12 +6,7 @@ from typing import Any, Dict, List, Union, cast from uuid import UUID, uuid4 -from maritime_schema.types.caga import ( - ShipStatic, - TrafficSituation, -) - -from trafficgen.types import EncounterSettings, SituationInput +from trafficgen.types import EncounterSettings, ShipStatic, SituationInput, TrafficSituation from trafficgen.utils import deg_2_rad, knot_2_m_pr_s, min_2_s, nm_2_m @@ -81,24 +76,32 @@ def convert_situation_data_from_maritime_to_si_units(situation: SituationInput) """ assert situation.own_ship is not None assert situation.own_ship.initial is not None - situation.own_ship.initial.position.longitude = deg_2_rad( - situation.own_ship.initial.position.longitude - ) - situation.own_ship.initial.position.latitude = deg_2_rad( - situation.own_ship.initial.position.latitude - ) + assert situation.own_ship.initial.heading is not None + situation.own_ship.initial.position.lon = deg_2_rad(situation.own_ship.initial.position.lon) + situation.own_ship.initial.position.lat = deg_2_rad(situation.own_ship.initial.position.lat) situation.own_ship.initial.cog = deg_2_rad(situation.own_ship.initial.cog) situation.own_ship.initial.heading = deg_2_rad(situation.own_ship.initial.heading) situation.own_ship.initial.sog = knot_2_m_pr_s(situation.own_ship.initial.sog) if situation.own_ship.waypoints is not None: for waypoint in situation.own_ship.waypoints: - waypoint.position.latitude = deg_2_rad(waypoint.position.latitude) - waypoint.position.longitude = deg_2_rad(waypoint.position.longitude) - if waypoint.data is not None: - assert waypoint.data.model_extra - if waypoint.data.model_extra.get("sog") is not None: - waypoint.data.model_extra["sog"]["value"] = knot_2_m_pr_s(waypoint.data.model_extra["sog"]["value"]) # type: ignore + waypoint.position.lat = deg_2_rad(waypoint.position.lat) + waypoint.position.lon = deg_2_rad(waypoint.position.lon) + if waypoint.turn_radius is not None: + waypoint.turn_radius = nm_2_m(waypoint.turn_radius) + if waypoint.leg is not None: + if waypoint.leg.starboard_xtd is not None: + waypoint.leg.starboard_xtd = nm_2_m(waypoint.leg.starboard_xtd) + if waypoint.leg.portside_xtd is not None: + waypoint.leg.portside_xtd = nm_2_m(waypoint.leg.portside_xtd) + if waypoint.leg.data is not None: + if waypoint.leg.data.sog is not None: + assert waypoint.leg.data.sog.value is not None + assert waypoint.leg.data.sog.interp_start is not None + assert waypoint.leg.data.sog.interp_end is not None + waypoint.leg.data.sog.value = knot_2_m_pr_s(waypoint.leg.data.sog.value) + waypoint.leg.data.sog.interp_start = nm_2_m(waypoint.leg.data.sog.interp_start) + waypoint.leg.data.sog.interp_end = nm_2_m(waypoint.leg.data.sog.interp_end) assert situation.encounters is not None for encounter in situation.encounters: @@ -133,7 +136,7 @@ def read_own_ship_static_file(own_ship_static_file: Path) -> ShipStatic: data = convert_keys_to_snake_case(data) if "id" not in data: - ship_id: UUID = uuid4() + ship_id: int = 0 data.update({"id": ship_id}) ship_static: ShipStatic = ShipStatic(**data) @@ -162,7 +165,7 @@ def read_target_ship_static_files(target_ship_folder: Path) -> List[ShipStatic]: data = convert_keys_to_snake_case(data) if "id" not in data: - ship_id: UUID = uuid4() + ship_id: int = 10 + i data.update({"id": ship_id}) target_ship_static: ShipStatic = ShipStatic(**data) diff --git a/src/trafficgen/ship_traffic_generator.py b/src/trafficgen/ship_traffic_generator.py index e4bcaf4..1032559 100644 --- a/src/trafficgen/ship_traffic_generator.py +++ b/src/trafficgen/ship_traffic_generator.py @@ -1,16 +1,9 @@ """Functions to generate traffic situations.""" +from importlib.metadata import PackageNotFoundError, version from pathlib import Path from typing import List, Union -from maritime_schema.types.caga import ( - OwnShip, - Position, - ShipStatic, - TargetShip, - TrafficSituation, -) - from trafficgen.encounter import ( define_own_ship, generate_encounter, @@ -21,7 +14,21 @@ read_situation_files, read_target_ship_static_files, ) -from trafficgen.types import EncounterSettings, EncounterType, SituationInput +from trafficgen.types import ( + EncounterSettings, + EncounterType, + GeoPosition, + OwnShip, + ShipStatic, + SituationInput, + TargetShip, + TrafficSituation, +) + +try: + project_version = version("trafficgen") +except PackageNotFoundError: + project_version = "Not found" def generate_traffic_situations( @@ -59,7 +66,7 @@ def generate_traffic_situations( assert desired_traffic_situation.own_ship is not None assert desired_traffic_situation.encounters is not None - lat_lon0: Position = desired_traffic_situation.own_ship.initial.position + lat_lon0: GeoPosition = desired_traffic_situation.own_ship.initial.position own_ship: OwnShip = define_own_ship( desired_traffic_situation, own_ship_static, encounter_settings, lat_lon0 @@ -86,12 +93,12 @@ def generate_traffic_situations( target_ships.append(target_ship.model_copy(deep=True)) traffic_situation: TrafficSituation = TrafficSituation( + version=project_version, title=desired_traffic_situation.title, description=desired_traffic_situation.description, own_ship=own_ship.model_copy(deep=True), target_ships=target_ships, start_time=None, - environment=None, ) traffic_situations.append(traffic_situation) return traffic_situations diff --git a/src/trafficgen/types.py b/src/trafficgen/types.py index 97d00d3..4706810 100644 --- a/src/trafficgen/types.py +++ b/src/trafficgen/types.py @@ -1,11 +1,18 @@ """Domain specific data types used in trafficgen.""" +from datetime import datetime from enum import Enum -from typing import List, Optional, Union +from importlib.metadata import PackageNotFoundError, version +from typing import Annotated, Any, List, Optional, Type, Union -from maritime_schema.types.caga import Initial, Waypoint -from pydantic import BaseModel +from pydantic import BaseModel, ConfigDict from pydantic.fields import Field +from pyproj import Geod + +try: + project_version = version("trafficgen") +except PackageNotFoundError: + project_version = None def to_camel(string: str) -> str: @@ -15,6 +22,553 @@ def to_camel(string: str) -> str: return words[0] + "".join(word.capitalize() for word in words[1:]) +class BaseModelConfig(BaseModel): + """Enables the alias_generator for all cases.""" + + model_config = ConfigDict(alias_generator=to_camel, populate_by_name=True) + + +class StringIntEnumMixin(str, Enum): + """ + A mixin class for Enums that allows both integers and strings to specify a type. + + This class supports the following input formats: + - Integer: 1 + - Integer in string form: "1" + - Case-insensitive string value: "underway using engine" + - String value with underscores: "underway_using_engine" + """ + + def __new__(cls: Type["StringIntEnumMixin"], str_value: str, num_value: int) -> "StringIntEnumMixin": + obj = str.__new__(cls, str_value) + obj._value_ = str_value # Assign the string value + obj.num_value = num_value # type: ignore + return obj + + @classmethod + def _missing_(cls: Type["StringIntEnumMixin"], value: object) -> Optional["StringIntEnumMixin"]: + # Handle case-insensitive string matching and underscores + if isinstance(value, str): + value_str = value.replace("_", " ").lower() + for member in cls: + if member.value.lower() == value_str: + return member + # Handle numeric values disguised as strings + if value.isdigit(): + value = int(value) + # Handle numeric values + if isinstance(value, int): + for member in cls: + if member.num_value == value: # type: ignore + return member + return None + + +class AisShipType(StringIntEnumMixin): + """ + AIS Ship Type (not including cargo type). + Source: https://www.itu.int/dms_pubrec/itu-r/rec/m/R-REC-M.1371-5-201402-I!!PDF-E.pdf#page=116. + """ + + NOT_AVAILABLE = ("Not available", 0) + WING_IN_GROUND = ("Wing in ground", 20) + FISHING = ("Fishing", 30) + TOWING = ("Towing", 31) + TOWING_LARGE = ("Towing large", 32) # exceeds 200m length or 25m breadth + DREDGING_OR_UNDERWATER_OPS = ("Dredging or underwater operations", 33) + DIVING_OPS = ("Diving operations", 34) + MILITARY_OPS = ("Military operations", 35) + SAILING = ("Sailing", 36) + PLEASURE_CRAFT = ("Pleasure craft", 37) + HIGH_SPEED_CRAFT = ("High speed craft", 40) + PILOT_VESSEL = ("Pilot vessel", 50) + SEARCH_AND_RESCUE_VESSEL = ("Search and rescue vessel", 51) + TUG = ("Tug", 52) + PORT_TENDER = ("Port tender", 53) + ANTI_POLLUTION_EQUIPMENT = ("Anti-pollution equipment", 54) + LAW_ENFORCEMENT = ("Law enforcement", 55) + MEDICAL_TRANSPORT = ("Medical transport", 58) + NONCOMBATANT = ("Noncombatant", 59) + PASSENGER = ("Passenger", 60) + CARGO = ("Cargo", 70) + TANKER = ("Tanker", 80) + OTHER = ("Other", 90) + + +class AisNavStatus(StringIntEnumMixin): + """ + AIS Navigational Status. + Source: https://www.itu.int/dms_pubrec/itu-r/rec/m/R-REC-M.1371-5-201402-I!!PDF-E.pdf#page=113. + """ + + UNDER_WAY_USING_ENGINE = ("Under way using engine", 0) + AT_ANCHOR = ("At anchor", 1) + NOT_UNDER_COMMAND = ("Not under command", 2) + RESTRICTED_MANEUVERABILITY = ("Restricted maneuverability", 3) + CONSTRAINED_BY_HER_DRAUGHT = ("Constrained by her draught", 4) + MOORED = ("Moored", 5) + AGROUND = ("Aground", 6) + ENGAGED_IN_FISHING = ("Engaged in fishing", 7) + UNDER_WAY_SAILING = ("Under way sailing", 8) + RESERVED_FOR_FUTURE_AMENDMENT_DG_HS_MP_C_HSC = ( + "Reserved for future amendment DG, HS, MP, C, HSC", + 9, + ) + RESERVED_FOR_FUTURE_AMENDMENT_DG_HS_MP_A_WIG = ( + "Reserved for future amendment DG, HS, MP, A, WIG", + 10, + ) + POWER_DRIVEN_VESSEL_TOWING_ASTERN = ("Power-driven vessel towing astern", 11) + POWER_DRIVEN_VESSEL_PUSHING_AHEAD_OR_TOWING_ALONGSIDE = ( + "Power-driven vessel pushing ahead or towing alongside", + 12, + ) + RESERVED_FOR_FUTURE_USE = ("Reserved for future use", 13) + AIS_SART_ACTIVE = ("AIS-SART (active)", 14) + UNDEFINED = ("Undefined (default)", 15) + + +class PathType(str, Enum): + """Specifies the control-point model used to define the path for the ship to follow.""" + + RTZ = "rtz" + BEZIER = "bezier" + LINEAR = "linear" + + +class InterpolationMethod(str, Enum): + """Specifies the interpolation method used to interpolate between two values.""" + + LINEAR = "linear" + COSINE = "cosine" + SMOOTHSTEP = "smoothstep" + ACCELERATE = "accelerate" + DECELERATE = "decelerate" + ORDINAL = "ordinal" + + +class Dimensions(BaseModelConfig): + """ + Key Ship Dimensions. + + Bow + (a) + ^ + /┆\ + / ┆ \ + / ┆ \ + / ┆ \ + / ┆ \ + │ ┆ │ + │ ┆ │ + │ ┆ │ + │ ┆ │ + Port (c) │╌╌╌╌╌♦╌╌╌╌╌│ (d) Starboard + │ ┆ │ + │ ┆ │ + │ ┆ │ + └─────┴─────┘ + (b) + Stern + + ♦ = CCRP + + """ + + length: Optional[ + Annotated[float, Field(gt=0, description="Width of the ship in meters", examples=[130.0])] + ] = None + width: Optional[ + Annotated[float, Field(gt=0, description="Width of the ship in meters", examples=[30.0])] + ] = None + height: Optional[ + Annotated[float, Field(gt=0, description="Height of the ship in meters", examples=[15.0])] + ] = None + draught: Optional[ + Annotated[float, Field(gt=0, description="Draught of the ship in meters", examples=[15.0])] + ] = None + + a: Optional[ + Annotated[float, Field(gt=0, description="Distance in meters from CCRP to Bow", examples=[80])] + ] = None + b: Optional[ + Annotated[float, Field(gt=0, description="Distance in meters from CCRP to Stern", examples=[20])] + ] = None + c: Optional[ + Annotated[float, Field(gt=0, description="Distance in meters from CCRP to Port", examples=[20])] + ] = None + d: Optional[ + Annotated[ + float, Field(gt=0, description="Distance in meters from CCRP to Starboard", examples=[20]) + ] + ] = None + + def __init__(self, **data: Any): + super().__init__(**data) + """If length and width are given, and not a, b, c, d, calculate them, and vice-versa""" + if self.length and self.width: + if not self.a and not self.b and not self.c and not self.d: + self.a = self.length / 2 + self.b = self.length / 2 + self.c = self.width / 2 + self.d = self.width / 2 + if self.a and self.b and self.c and self.d: + self.length = self.a + self.b + self.width = self.c + self.d + + +class ShipStatic(BaseModelConfig): + """Static ship data that will not change during the scenario.""" + + id: Annotated[int, Field(ge=0, le=2**32, description="Ship Identifier", examples=[1])] + mmsi: Optional[ + Annotated[ + int, + Field( + ge=100000000, + le=999999999, + description="Maritime Mobile Service Identity (MMSI)", + examples=[123456789], + ), + ] + ] = None + imo: Optional[ + Annotated[int, Field(ge=1000000, le=9999999, description="IMO Number", examples=[1234567])] + ] = None + name: Optional[Annotated[str, Field(description="Ship name", examples=["RMS Titanic"])]] = None + + dimensions: Optional[Annotated[Dimensions, Field(description="Key ship dimensions")]] = None + + ship_type: Optional[Annotated[AisShipType, Field(description="General ship type, based on AIS")]] = ( + None + ) + + path_type: Optional[ + Annotated[ + PathType, + Field( + default=PathType.RTZ, + description="Specifies the control-point model (e.g., Bezier, RTZ) used to define the path for the ship to follow.", + ), + ] + ] = None + + sog_min: Optional[ + Annotated[ + float, Field(ge=0, description="Minimum ship speed over ground in knots", examples=[5.0]) + ] + ] = None + sog_max: Optional[ + Annotated[ + float, Field(ge=0, description="Maximum ship speed over ground in knots", examples=[15.0]) + ] + ] = None + + model_config = ConfigDict(extra="allow") + + +class GeoPosition(BaseModelConfig): + """Data type for a geographical position.""" + + lon: Annotated[float, Field(ge=-180, le=180, description="WGS-84 lon", examples=[51.2131])] + lat: Annotated[float, Field(ge=-90, le=90, description="WGS-84 lat", examples=[51.2131])] + model_config = ConfigDict(extra="allow") + + +class Position(BaseModelConfig): + """Data type for ship position.""" + + x: Annotated[float, Field(description="x-coordinate. East is positive", examples=[1123])] + y: Annotated[float, Field(description="y-coordinate. Noth is positive", examples=[231])] + + +def create_position_example(): + """Create a position class.""" + return GeoPosition(lon=57.2343, lat=10.3432) + + +class Initial(BaseModelConfig): + """Data type for initial data for a ship .""" + + position: Annotated[ + GeoPosition, + Field( + description="Initial lon and lat of the ship.", + examples=[create_position_example()], + ), + ] + sog: Annotated[ + float, Field(ge=0, description="Initial ship (SOG) ground in knots", examples=[10.0]) + ] + cog: Annotated[ + float, + Field( + ge=0, le=360, description="Initial ship course over ground (COG) in degrees", examples=[45.0] + ), + ] + heading: Optional[ + Annotated[ + float, Field(ge=0, le=360, description="Initial ship heading in degrees", examples=[45.2]) + ] + ] = None + nav_status: Optional[Annotated[AisNavStatus, Field(description="AIS Navigational Status")]] = None + + +class DataPoint(BaseModelConfig): + """Data type for storing data which is numerical and continuos.""" + + value: Optional[ + Annotated[ + float, Field(description="the value of the data at the current waypoint", examples=[12.3]) + ] + ] = None + interp_start: Optional[ + Annotated[ + float, + Field( + description="distance before start of the next leg (NM), to start interpolating to the next leg's value", + examples=[10], + ), + ] + ] = None + interp_end: Optional[ + Annotated[ + float, + Field( + description="distance after the start of the next leg (NM), to finish interpolating to the next leg's value", + examples=[10], + ), + ] + ] = None + interp_method: Optional[ + Annotated[InterpolationMethod | str, Field(description="Method used for interpolation")] + ] = None + + +data_description = """The `data` field can be used to store data, which is numerical and continuous. One such example is the vessels speed over ground (SOG). Every `data` object, can have the 4 following attributes: +\n`value`: This is the value of the data over the current leg. +\n`interpStart`: This is the distance (in NM) before the leg change, where the value will start changing (via interpolation) to the new value in the next leg. +\n`interpEnd`: This is the distance (in NM) after the leg change, where the value will finish changing (via interpolation) to the new value in the next leg. +\n`interpMethod`: This sets the interpolation (linear, cosine, smoothstep, etc.) that will be used to perform the interpolation.""" + + +class RouteData(BaseModelConfig): + """Data type for data along a route.""" + + sog: Optional[Annotated[DataPoint, Field(description=data_description)]] = None + + +class Leg(BaseModelConfig): + """Data type for a leg.""" + + starboard_xtd: Optional[ + Annotated[float, Field(description="Starboard XTD in NM as defined in RTZ.")] + ] = None + portside_xtd: Optional[ + Annotated[float, Field(description="Starboard XTD in NM as defined in RTZ.")] + ] = None + data: Optional[Annotated[RouteData, Field(description=data_description)]] = None + + +class Waypoint(BaseModelConfig): + """Data type for a waypoint.""" + + position: Annotated[ + GeoPosition, + Field( + description="A geographical coordinate.", examples=[GeoPosition(lon=11.2313, lat=51.2123)] + ), + ] + turn_radius: Optional[ + Annotated[ + float, + Field( + description="Orthodrome turn radius in nautical miles as defined in RTZ.", examples=[200] + ), + ] + ] = None + leg: Optional[Annotated[Leg, Field(description="Current Leg information.")]] = None + + +def create_ship_static_example(): + """Create a ShipStatic class.""" + return ShipStatic( + id=1, + dimensions=Dimensions(a=50, b=50, c=10, d=10), + sog_max=20.0, + mmsi=123456789, + name="RMS Titanic", + ship_type=AisShipType.FISHING, + imo=1000001, + ) + + +def create_initial_example(): + """Create a (Ship) Initial class.""" + return Initial( + position=create_position_example(), + sog=12.3, + cog=284.2, + heading=283.1, + nav_status=AisNavStatus.UNDER_WAY_USING_ENGINE, + ) + + +def create_data_point_example(): + """Create a DataPoint class.""" + return DataPoint( + value=12.3, interp_start=100, interp_end=100, interp_method=InterpolationMethod.LINEAR + ) + + +def create_waypoint_example(): + """Create a Waypoint class.""" + return Waypoint( + position=create_position_example(), + turn_radius=1.0, + data=RouteData(sog=create_data_point_example()), # type:ignore + ) + + +static_description = "Static ship information which does not change during a scenario." +initial_description = "Initial pose of the ship. If `waypoints` are provided, then these should correspond to the pose of the ship at the starting waypoint" +waypoints_description = "An array of `Waypoint` objects. Each waypoint object must have a `position` property. If no turn radius is provided, it will be assumed to be `0`. Additional data can be added to each waypoint leg." + + +class Ship(BaseModelConfig): + """Data type for a ship.""" + + initial: Optional[ + Annotated[Initial, Field(description=initial_description, examples=[create_initial_example()])] + ] = None + waypoints: Optional[ + Annotated[ + List[Waypoint], + Field(description=waypoints_description, examples=[create_waypoint_example()]), + ] + ] = None + + def __init__(self, **data: Any): + super().__init__(**data) + if not self.waypoints: + self.waypoints = self._generate_waypoints() + + def _generate_waypoints(self) -> Union[List[Waypoint], None]: + """Generate waypoints if they don't exist.""" + waypoints = [] + + if self.initial: + # Create waypoints from initial position + g = Geod(ellps="WGS84") + lon, lat, _ = g.fwd( + self.initial.position.lon, + self.initial.position.lat, + self.initial.cog, + self.initial.sog * 0.51444 * 3600 * 3, + ) + position1 = GeoPosition(lat=lat, lon=lon) + waypoint1 = Waypoint(position=position1) + + position0 = GeoPosition( + lat=self.initial.position.lat, + lon=self.initial.position.lon, + ) + waypoint0 = Waypoint(position=position0) + + waypoints = [waypoint0, waypoint1] + return waypoints + + else: + return None + + +class OwnShip(Ship): + """Data type for the own ship.""" + + static: Annotated[ + ShipStatic, Field(description=static_description, examples=[create_ship_static_example()]) + ] + + def __init__(self, **data: Any): + super().__init__(**data) + if not self.static.name: + self.static.name = "OS" + + +class TargetShip(Ship): + """Data type for the target ship.""" + + static: Annotated[ + ShipStatic, Field(description=static_description, examples=[create_ship_static_example()]) + ] + + def __init__(self, **data: Any): + super().__init__(**data) + if not self.static.name: + self.static.name = f"TGT {self.static.id}" + + +def create_ship_example(): + """Create a Ship class.""" + return Ship( + static=create_ship_static_example(), + initial=create_initial_example(), + waypoints=[create_waypoint_example()], + ) + + +def create_own_ship_example(): + """Create a OwnShip class.""" + return OwnShip(static=create_ship_static_example(), initial=create_initial_example(), waypoints=None) + + +def create_target_example(): + """Create a TargetShip class.""" + return TargetShip( + static=create_ship_static_example(), initial=create_initial_example(), waypoints=None + ) + + +class TrafficSituation(BaseModelConfig): + """Data type for a traffic situation.""" + + version: Annotated[ + str, Field(description="Ship traffic generator version number", examples=[project_version]) + ] + title: Optional[ + Annotated[ + str, Field(description="The title of the traffic situation", examples=["overtaking_18"]) + ] + ] = None + description: Optional[ + Annotated[ + str, + Field( + description="A description of the traffic situation", + examples=["Crossing situation with 3 target vessels in the Oslo fjord"], + ), + ] + ] = None + start_time: Optional[ + Annotated[ + datetime, + Field( + description="Starting time of the situation in `ISO 8601` format `YYYY-MM-DDThh:mm:ssZ`", + examples=[datetime(2025, 1, 1, 0, 0, 0)], + ), + ] + ] = None + own_ship: Annotated[ + OwnShip, Field(description="Own Ship (OS) data", examples=[create_ship_example()]) + ] + target_ships: Optional[ + Annotated[ + List[TargetShip], + Field(description="Target Ship (TGT) data", examples=[[create_ship_example()]]), + ] + ] = None + + class EncounterType(Enum): """Enumeration of encounter types.""" @@ -26,7 +580,7 @@ class EncounterType(Enum): NO_RISK_COLLISION = "noRiskCollision" -class Encounter(BaseModel): +class Encounter(BaseModelConfig): """Data type for an encounter.""" desired_encounter_type: EncounterType @@ -34,14 +588,10 @@ class Encounter(BaseModel): relative_speed: Union[float, None] = None vector_time: Union[float, None] = None - class Config: - """For converting parameters written to file from snake to camel case.""" - - alias_generator = to_camel - populate_by_name = True + model_config = ConfigDict(extra="allow") -class EncounterClassification(BaseModel): +class EncounterClassification(BaseModelConfig): """Data type for the encounter classification.""" theta13_criteria: float @@ -49,14 +599,10 @@ class EncounterClassification(BaseModel): theta15_criteria: float theta15: List[float] - class Config: - """For converting parameters written to file from snake to camel case.""" + model_config = ConfigDict(extra="allow") - alias_generator = to_camel - populate_by_name = True - -class EncounterRelativeSpeed(BaseModel): +class EncounterRelativeSpeed(BaseModelConfig): """Data type for relative speed between two ships in an encounter.""" overtaking_stand_on: List[float] @@ -65,14 +611,10 @@ class EncounterRelativeSpeed(BaseModel): crossing_give_way: List[float] crossing_stand_on: List[float] - class Config: - """For converting parameters written to file from snake to camel case.""" - - alias_generator = to_camel - populate_by_name = True + model_config = ConfigDict(extra="allow") -class EncounterSettings(BaseModel): +class EncounterSettings(BaseModelConfig): """Data type for encounter settings.""" classification: EncounterClassification @@ -84,21 +626,17 @@ class EncounterSettings(BaseModel): evolve_time: float disable_land_check: bool - class Config: - """For converting parameters written to file from snake to camel case.""" + model_config = ConfigDict(extra="allow") - alias_generator = to_camel - populate_by_name = True - -class OwnShipInitial(BaseModel): +class OwnShipInitial(BaseModelConfig): """Data type for initial data for the own ship used for generating a situation.""" initial: Initial waypoints: Optional[List[Waypoint]] = Field(None, description="An array of `Waypoint` objects.") -class SituationInput(BaseModel): +class SituationInput(BaseModelConfig): """Data type for inputs needed for generating a situations.""" title: str @@ -107,8 +645,4 @@ class SituationInput(BaseModel): own_ship: OwnShipInitial encounters: List[Encounter] - class Config: - """For converting parameters written to file from snake to camel case.""" - - alias_generator = to_camel - populate_by_name = True + model_config = ConfigDict(extra="allow") diff --git a/src/trafficgen/utils.py b/src/trafficgen/utils.py index 08710eb..aa2a9bb 100644 --- a/src/trafficgen/utils.py +++ b/src/trafficgen/utils.py @@ -3,9 +3,9 @@ from typing import List import numpy as np -from maritime_schema.types.caga import Position, Waypoint from trafficgen.marine_system_simulator import flat2llh, llh2flat +from trafficgen.types import GeoPosition, Waypoint def knot_2_m_pr_s(speed_in_knot: float) -> float: @@ -154,50 +154,48 @@ def convert_angle_0_to_2_pi_to_minus_pi_to_pi(angle_2_pi: float) -> float: def calculate_position_at_certain_time( - position: Position, - lat_lon0: Position, + position: GeoPosition, + lat_lon0: GeoPosition, speed: float, course: float, delta_time: float, -) -> Position: +) -> GeoPosition: """ Calculate the position of the ship at a given time based on initial position and delta time, and constant speed and course. Params: - * position{latitude, longitude}: Initial ship position [rad] + * position{lat, lon}: Initial ship position [rad] * speed: Ship speed [m/s] * course: Ship course [rad] * delta_time: Delta time from now to the time new position is being calculated [minutes] Returns ------- - * position{latitude, longitude}: Estimated ship position in delta time minutes [rad] + * position{lat, lon}: Estimated ship position in delta time minutes [rad] """ - north, east, _ = llh2flat( - position.latitude, position.longitude, lat_lon0.latitude, lat_lon0.longitude - ) + north, east, _ = llh2flat(position.lat, position.lon, lat_lon0.lat, lat_lon0.lon) north = north + speed * delta_time * np.cos(course) east = east + speed * delta_time * np.sin(course) - lat_future, lon_future, _ = flat2llh(north, east, lat_lon0.latitude, lat_lon0.longitude) + lat_future, lon_future, _ = flat2llh(north, east, lat_lon0.lat, lat_lon0.lon) - position_future: Position = Position( - latitude=lat_future, - longitude=lon_future, + position_future: GeoPosition = GeoPosition( + lat=lat_future, + lon=lon_future, ) return position_future -def calculate_distance(position_prev: Position, position_next: Position) -> float: +def calculate_distance(position_prev: GeoPosition, position_next: GeoPosition) -> float: """ Calculate the distance in meter between two waypoints. Params: - * position_prev{latitude, longitude}: Previous waypoint [rad] - * position_next{latitude, longitude}: Next waypoint [rad] + * position_prev{lat, lon}: Previous waypoint [rad] + * position_next{lat, lon}: Next waypoint [rad] Returns ------- @@ -205,7 +203,7 @@ def calculate_distance(position_prev: Position, position_next: Position) -> floa """ # Using position of previous waypoint as reference point north_next, east_next, _ = llh2flat( - position_next.latitude, position_next.longitude, position_prev.latitude, position_prev.longitude + position_next.lat, position_next.lon, position_prev.lat, position_prev.lon ) distance: float = np.sqrt(north_next**2 + east_next**2) @@ -217,27 +215,27 @@ def calculate_position_along_track_using_waypoints( waypoints: List[Waypoint], inital_speed: float, vector_time: float, -) -> Position: +) -> GeoPosition: """ Calculate the position of the ship at a given time based on initial position and delta time, and constant speed and course. Params: - * position{latitude, longitude}: Initial ship position [rad] + * position{lat, lon}: Initial ship position [rad] * speed: Ship speed [m/s] * course: Ship course [rad] * delta_time: Delta time from now to the time new position is being calculated [sec] Returns ------- - * position{latitude, longitude}: Estimated ship position in delta time minutes [rad] + * position{lat, lon}: Estimated ship position in delta time minutes [rad] """ time_in_transit: float = 0 for i in range(1, len(waypoints)): ship_speed: float = inital_speed - if waypoints[i].data is not None and waypoints[i].data.model_extra["sog"] is not None: # type: ignore - ship_speed = waypoints[i].data.model_extra["sog"]["value"] # type: ignore + if waypoints[i].leg is not None and waypoints[i].leg.data.sog is not None: # type: ignore + ship_speed = waypoints[i].leg.data.sog # type: ignore dist_between_waypoints = calculate_distance(waypoints[i - 1].position, waypoints[i].position) @@ -259,13 +257,13 @@ def calculate_position_along_track_using_waypoints( return waypoints[-1].position -def calculate_bearing_between_waypoints(position_prev: Position, position_next: Position) -> float: +def calculate_bearing_between_waypoints(position_prev: GeoPosition, position_next: GeoPosition) -> float: """ Calculate the bearing in rad between two waypoints. Params: - * position_prev{latitude, longitude}: Previous waypoint [rad] - * position_next{latitude, longitude}: Next waypoint [rad] + * position_prev{lat, lon}: Previous waypoint [rad] + * position_next{lat, lon}: Next waypoint [rad] Returns ------- @@ -273,7 +271,7 @@ def calculate_bearing_between_waypoints(position_prev: Position, position_next: """ # Using position of previous waypoint as reference point north_next, east_next, _ = llh2flat( - position_next.latitude, position_next.longitude, position_prev.latitude, position_prev.longitude + position_next.lat, position_next.lon, position_prev.lat, position_prev.lon ) bearing: float = convert_angle_minus_pi_to_pi_to_0_to_2_pi(np.arctan2(east_next, north_next)) @@ -282,24 +280,24 @@ def calculate_bearing_between_waypoints(position_prev: Position, position_next: def calculate_destination_along_track( - position_prev: Position, distance: float, bearing: float -) -> Position: + position_prev: GeoPosition, distance: float, bearing: float +) -> GeoPosition: """ Calculate the destination along the track between two waypoints when distance along the track is given. Params: - * position_prev{latitude, longitude}: Previous waypoint [rad] + * position_prev{lat, lon}: Previous waypoint [rad] * distance: Distance to travel [m] * bearing: Bearing from previous waypoint to next waypoint [rad] Returns ------- - * destination{latitude, longitude}: Destination along the track [rad] + * destination{lat, lon}: Destination along the track [rad] """ north = distance * np.cos(bearing) east = distance * np.sin(bearing) - lat, lon, _ = flat2llh(north, east, position_prev.latitude, position_prev.longitude) - destination = Position(latitude=lat, longitude=lon) + lat, lon, _ = flat2llh(north, east, position_prev.lat, position_prev.lon) + destination = GeoPosition(lat=lat, lon=lon) return destination diff --git a/src/trafficgen/write_traffic_situation_to_file.py b/src/trafficgen/write_traffic_situation_to_file.py index 8201875..66fedd0 100644 --- a/src/trafficgen/write_traffic_situation_to_file.py +++ b/src/trafficgen/write_traffic_situation_to_file.py @@ -3,9 +3,8 @@ from pathlib import Path from typing import List, TypeVar -from maritime_schema.types.caga import OwnShip, Ship, TargetShip, TrafficSituation - -from trafficgen.utils import m_pr_s_2_knot, rad_2_deg +from trafficgen.types import OwnShip, Ship, TargetShip, TrafficSituation +from trafficgen.utils import m_2_nm, m_pr_s_2_knot, rad_2_deg T_ship = TypeVar("T_ship", Ship, OwnShip, TargetShip) @@ -64,22 +63,37 @@ def convert_ship_data_from_si_units_to_maritime(ship: T_ship) -> T_ship: * ship: Converted ship data """ assert ship.initial is not None - ship.initial.position.longitude = round(rad_2_deg(ship.initial.position.longitude), 8) - ship.initial.position.latitude = round(rad_2_deg(ship.initial.position.latitude), 8) + assert ship.initial.heading is not None + ship.initial.position.lon = round(rad_2_deg(ship.initial.position.lon), 8) + ship.initial.position.lat = round(rad_2_deg(ship.initial.position.lat), 8) ship.initial.cog = round(rad_2_deg(ship.initial.cog), 2) ship.initial.sog = round(m_pr_s_2_knot(ship.initial.sog), 1) ship.initial.heading = round(rad_2_deg(ship.initial.heading), 2) if ship.waypoints is not None: for waypoint in ship.waypoints: - waypoint.position.latitude = round(rad_2_deg(waypoint.position.latitude), 8) - waypoint.position.longitude = round(rad_2_deg(waypoint.position.longitude), 8) - if not waypoint.data: - continue - assert waypoint.data.model_extra - if waypoint.data.model_extra.get("sog") is not None: - waypoint.data.model_extra["sog"]["value"] = round(m_pr_s_2_knot(waypoint.data.model_extra["sog"]["value"]), 1) # type: ignore - if waypoint.data.model_extra.get("heading") is not None: - waypoint.data.model_extra["heading"]["value"] = round(m_pr_s_2_knot(waypoint.data.model_extra["heading"]["value"]), 2) # type: ignore + waypoint.position.lat = round(rad_2_deg(waypoint.position.lat), 8) + waypoint.position.lon = round(rad_2_deg(waypoint.position.lon), 8) + if waypoint.turn_radius is not None: + waypoint.turn_radius = round(m_2_nm(waypoint.turn_radius), 2) + if waypoint.leg is not None: + if waypoint.leg.starboard_xtd is not None: + waypoint.leg.starboard_xtd = round(m_2_nm(waypoint.leg.starboard_xtd), 2) + if waypoint.leg.portside_xtd is not None: + waypoint.leg.portside_xtd = round(m_2_nm(waypoint.leg.portside_xtd), 2) + if waypoint.leg.data is not None: + if waypoint.leg.data.sog is not None: + assert waypoint.leg.data.sog.value is not None + assert waypoint.leg.data.sog.interp_start is not None + assert waypoint.leg.data.sog.interp_end is not None + waypoint.leg.data.sog.value = round( + m_pr_s_2_knot(waypoint.leg.data.sog.value), 2 + ) + waypoint.leg.data.sog.interp_start = round( + m_2_nm(waypoint.leg.data.sog.interp_start), 2 + ) + waypoint.leg.data.sog.interp_end = round( + m_2_nm(waypoint.leg.data.sog.interp_end), 2 + ) return ship diff --git a/tests/data/test_01/test_01_1.json b/tests/data/test_01/test_01_1.json index 7e76eb4..c795629 100644 --- a/tests/data/test_01/test_01_1.json +++ b/tests/data/test_01/test_01_1.json @@ -4,8 +4,8 @@ "ownShip": { "initial": { "position": { - "latitude": 58.763449, - "longitude": 10.490654 + "lat": 58.763449, + "lon": 10.490654 }, "sog": 10.0, "cog": 270.0, @@ -20,4 +20,4 @@ "vectorTime": 20.0 } ] -} \ No newline at end of file +} diff --git a/tests/data/test_01/test_01_2.json b/tests/data/test_01/test_01_2.json index 9cd1eff..385d5a0 100644 --- a/tests/data/test_01/test_01_2.json +++ b/tests/data/test_01/test_01_2.json @@ -4,8 +4,8 @@ "ownShip": { "initial": { "position": { - "latitude": 58.763449, - "longitude": 10.490654 + "lat": 58.763449, + "lon": 10.490654 }, "sog": 12.0, "cog": 0.0, @@ -20,4 +20,4 @@ "vectorTime": 25.0 } ] -} \ No newline at end of file +} diff --git a/tests/data/test_01/test_01_3.json b/tests/data/test_01/test_01_3.json index 47540a5..5a0423b 100644 --- a/tests/data/test_01/test_01_3.json +++ b/tests/data/test_01/test_01_3.json @@ -4,8 +4,8 @@ "ownShip": { "initial": { "position": { - "latitude": 58.763449, - "longitude": 10.490654 + "lat": 58.763449, + "lon": 10.490654 }, "sog": 8.0, "cog": 110.0, @@ -20,4 +20,4 @@ "vectorTime": 20.0 } ] -} \ No newline at end of file +} diff --git a/tests/data/test_01/test_01_4.json b/tests/data/test_01/test_01_4.json index 1126787..c283d30 100644 --- a/tests/data/test_01/test_01_4.json +++ b/tests/data/test_01/test_01_4.json @@ -4,8 +4,8 @@ "ownShip": { "initial": { "position": { - "latitude": 58.763449, - "longitude": 10.490654 + "lat": 58.763449, + "lon": 10.490654 }, "sog": 8.0, "cog": 0.0, @@ -20,4 +20,4 @@ "vectorTime": 20.0 } ] -} \ No newline at end of file +} diff --git a/tests/data/test_01/test_01_5.json b/tests/data/test_01/test_01_5.json index 929e2cd..be62724 100644 --- a/tests/data/test_01/test_01_5.json +++ b/tests/data/test_01/test_01_5.json @@ -4,8 +4,8 @@ "ownShip": { "initial": { "position": { - "latitude": 58.763449, - "longitude": 10.490654 + "lat": 58.763449, + "lon": 10.490654 }, "sog": 11.0, "cog": 45.0, @@ -20,4 +20,4 @@ "vectorTime": 20.0 } ] -} \ No newline at end of file +} diff --git a/tests/data/test_02/test_02_1.json b/tests/data/test_02/test_02_1.json index 6730018..283f702 100644 --- a/tests/data/test_02/test_02_1.json +++ b/tests/data/test_02/test_02_1.json @@ -4,8 +4,8 @@ "ownShip": { "initial": { "position": { - "latitude": 58.763449, - "longitude": 10.490654 + "lat": 58.763449, + "lon": 10.490654 }, "sog": 10.0, "cog": 270.0, @@ -19,4 +19,4 @@ "vectorTime": 15.0 } ] -} \ No newline at end of file +} diff --git a/tests/data/test_02/test_02_2.json b/tests/data/test_02/test_02_2.json index b44a6e5..5168cad 100644 --- a/tests/data/test_02/test_02_2.json +++ b/tests/data/test_02/test_02_2.json @@ -4,8 +4,8 @@ "ownShip": { "initial": { "position": { - "latitude": 58.763449, - "longitude": 10.490654 + "lat": 58.763449, + "lon": 10.490654 }, "sog": 8.0, "cog": 0.0, @@ -19,4 +19,4 @@ "relativeSpeed": 0.6 } ] -} \ No newline at end of file +} diff --git a/tests/data/test_03/test_03_1.json b/tests/data/test_03/test_03_1.json index 4d10903..31765e1 100644 --- a/tests/data/test_03/test_03_1.json +++ b/tests/data/test_03/test_03_1.json @@ -4,8 +4,8 @@ "ownShip": { "initial": { "position": { - "latitude": 58.763449, - "longitude": 10.490654 + "lat": 58.763449, + "lon": 10.490654 }, "sog": 8.0, "cog": 0.0, @@ -18,4 +18,4 @@ "desiredEncounterType": "overtaking-give-way" } ] -} \ No newline at end of file +} diff --git a/tests/data/test_03/test_03_2.json b/tests/data/test_03/test_03_2.json index 286ad87..2bef70d 100644 --- a/tests/data/test_03/test_03_2.json +++ b/tests/data/test_03/test_03_2.json @@ -4,8 +4,8 @@ "ownShip": { "initial": { "position": { - "latitude": 58.763449, - "longitude": 10.490654 + "lat": 58.763449, + "lon": 10.490654 }, "sog": 12.0, "cog": 230.0, @@ -18,4 +18,4 @@ "desiredEncounterType": "crossing-stand-on" } ] -} \ No newline at end of file +} diff --git a/tests/data/test_04/test_04_1.json b/tests/data/test_04/test_04_1.json index 1390687..fb264c0 100644 --- a/tests/data/test_04/test_04_1.json +++ b/tests/data/test_04/test_04_1.json @@ -4,8 +4,8 @@ "ownShip": { "initial": { "position": { - "latitude": 58.763449, - "longitude": 10.490654 + "lat": 58.763449, + "lon": 10.490654 }, "sog": 8.0, "cog": 0.0, @@ -22,4 +22,4 @@ "desiredEncounterType": "head-on" } ] -} \ No newline at end of file +} diff --git a/tests/data/test_05/test_05_1.json b/tests/data/test_05/test_05_1.json index fb6788e..c773518 100644 --- a/tests/data/test_05/test_05_1.json +++ b/tests/data/test_05/test_05_1.json @@ -4,8 +4,8 @@ "ownShip": { "initial": { "position": { - "latitude": 58.763449, - "longitude": 10.490654 + "lat": 58.763449, + "lon": 10.490654 }, "sog": 8.0, "cog": 0.0, @@ -19,4 +19,4 @@ "desiredEncounterType": "crossing-give-way" } ] -} \ No newline at end of file +} diff --git a/tests/data/test_05/test_05_2.json b/tests/data/test_05/test_05_2.json index b141aa8..26948fd 100644 --- a/tests/data/test_05/test_05_2.json +++ b/tests/data/test_05/test_05_2.json @@ -4,8 +4,8 @@ "ownShip": { "initial": { "position": { - "latitude": 58.763449, - "longitude": 10.490654 + "lat": 58.763449, + "lon": 10.490654 }, "sog": 8.0, "cog": 0.0, @@ -22,4 +22,4 @@ "desiredEncounterType": "overtaking-give-way" } ] -} \ No newline at end of file +} diff --git a/tests/data/test_05/test_05_3.json b/tests/data/test_05/test_05_3.json index c6752e4..8f6004c 100644 --- a/tests/data/test_05/test_05_3.json +++ b/tests/data/test_05/test_05_3.json @@ -4,8 +4,8 @@ "ownShip": { "initial": { "position": { - "latitude": 58.763449, - "longitude": 10.490654 + "lat": 58.763449, + "lon": 10.490654 }, "sog": 8.0, "cog": 270.0, @@ -24,4 +24,4 @@ "desiredEncounterType": "head-on" } ] -} \ No newline at end of file +} diff --git a/tests/data/test_06/test_06_1.json b/tests/data/test_06/test_06_1.json index 6fb6bde..7e0d30c 100644 --- a/tests/data/test_06/test_06_1.json +++ b/tests/data/test_06/test_06_1.json @@ -4,8 +4,8 @@ "ownShip": { "initial": { "position": { - "latitude": 58.763449, - "longitude": 10.490654 + "lat": 58.763449, + "lon": 10.490654 }, "sog": 8.0, "cog": 0.0, @@ -26,4 +26,4 @@ "vectorTime": 15.0 } ] -} \ No newline at end of file +} diff --git a/tests/data/test_06/test_06_2.json b/tests/data/test_06/test_06_2.json index 9df0882..505dbe8 100644 --- a/tests/data/test_06/test_06_2.json +++ b/tests/data/test_06/test_06_2.json @@ -4,8 +4,8 @@ "ownShip": { "initial": { "position": { - "latitude": 58.763449, - "longitude": 10.490654 + "lat": 58.763449, + "lon": 10.490654 }, "sog": 8.0, "cog": 0.0, @@ -20,4 +20,4 @@ "vectorTime": 20.0 } ] -} \ No newline at end of file +} diff --git a/tests/data/test_07/test_07_1.json b/tests/data/test_07/test_07_1.json index f60c8ed..f7207a6 100644 --- a/tests/data/test_07/test_07_1.json +++ b/tests/data/test_07/test_07_1.json @@ -4,8 +4,8 @@ "ownShip": { "initial": { "position": { - "latitude": 58.763449, - "longitude": 10.490654 + "lat": 58.763449, + "lon": 10.490654 }, "sog": 10.0, "cog": 270.0, @@ -19,4 +19,4 @@ "beta": 7.0 } ] -} \ No newline at end of file +} diff --git a/tests/data/test_07/test_07_2.json b/tests/data/test_07/test_07_2.json index 54959ce..089e374 100644 --- a/tests/data/test_07/test_07_2.json +++ b/tests/data/test_07/test_07_2.json @@ -4,8 +4,8 @@ "ownShip": { "initial": { "position": { - "latitude": 58.763449, - "longitude": 10.490654 + "lat": 58.763449, + "lon": 10.490654 }, "sog": 8.0, "cog": 0.0, @@ -19,4 +19,4 @@ "beta": 90.0 } ] -} \ No newline at end of file +} diff --git a/tests/data/test_07/test_07_3.json b/tests/data/test_07/test_07_3.json index fe3c978..7109263 100644 --- a/tests/data/test_07/test_07_3.json +++ b/tests/data/test_07/test_07_3.json @@ -4,8 +4,8 @@ "ownShip": { "initial": { "position": { - "latitude": 58.763449, - "longitude": 10.490654 + "lat": 58.763449, + "lon": 10.490654 }, "sog": 8.0, "cog": 110.0, @@ -19,4 +19,4 @@ "beta": -12.0 } ] -} \ No newline at end of file +} diff --git a/tests/data/test_07/test_07_4.json b/tests/data/test_07/test_07_4.json index a40c518..ab79c35 100644 --- a/tests/data/test_07/test_07_4.json +++ b/tests/data/test_07/test_07_4.json @@ -4,8 +4,8 @@ "ownShip": { "initial": { "position": { - "latitude": 58.763449, - "longitude": 10.490654 + "lat": 58.763449, + "lon": 10.490654 }, "sog": 8.0, "cog": 0.0, @@ -19,4 +19,4 @@ "beta": 320.0 } ] -} \ No newline at end of file +} diff --git a/tests/data/test_07/test_07_5.json b/tests/data/test_07/test_07_5.json index f0ecbf3..119f15d 100644 --- a/tests/data/test_07/test_07_5.json +++ b/tests/data/test_07/test_07_5.json @@ -4,8 +4,8 @@ "ownShip": { "initial": { "position": { - "latitude": 58.763449, - "longitude": 10.490654 + "lat": 58.763449, + "lon": 10.490654 }, "sog": 11.0, "cog": 45.0, @@ -19,4 +19,4 @@ "beta": 15.0 } ] -} \ No newline at end of file +} diff --git a/tests/data/test_08/test_08_1.json b/tests/data/test_08/test_08_1.json index 50b6e73..4f520af 100644 --- a/tests/data/test_08/test_08_1.json +++ b/tests/data/test_08/test_08_1.json @@ -4,8 +4,8 @@ "ownShip": { "initial": { "position": { - "latitude": 58.763449, - "longitude": 10.490654 + "lat": 58.763449, + "lon": 10.490654 }, "sog": 8.0, "cog": 0.0, diff --git a/tests/test_read_files.py b/tests/test_read_files.py index b4ddb93..330a22b 100644 --- a/tests/test_read_files.py +++ b/tests/test_read_files.py @@ -3,18 +3,19 @@ from pathlib import Path from typing import List, Set -from maritime_schema.types.caga import ( - GeneralShipType, - ShipStatic, -) - from trafficgen.read_files import ( read_encounter_settings_file, read_own_ship_static_file, read_situation_files, read_target_ship_static_files, ) -from trafficgen.types import EncounterSettings, EncounterType, SituationInput +from trafficgen.types import ( + AisShipType, + EncounterSettings, + EncounterType, + ShipStatic, + SituationInput, +) def test_read_situations_1_ts_full_spec(situations_folder_test_01: Path): @@ -152,11 +153,12 @@ def test_read_own_ship(own_ship_file: Path): Test reading own ship file. """ own_ship_static: ShipStatic = read_own_ship_static_file(own_ship_file) - assert own_ship_static.length is not None - assert own_ship_static.width is not None - assert own_ship_static.speed_max is not None + assert own_ship_static.dimensions is not None + assert own_ship_static.dimensions.length is not None + assert own_ship_static.dimensions.width is not None + assert own_ship_static.sog_max is not None assert own_ship_static.mmsi is not None - assert own_ship_static.ship_type is GeneralShipType.PASSENGER + assert own_ship_static.ship_type is AisShipType.PASSENGER def test_read_target_ships(target_ships_folder: Path): @@ -167,9 +169,10 @@ def test_read_target_ships(target_ships_folder: Path): # sourcery skip: no-loop-in-tests for target_ship_static in target_ships_static: - assert target_ship_static.length is not None - assert target_ship_static.width is not None - assert target_ship_static.speed_max is not None + assert target_ship_static.dimensions is not None + assert target_ship_static.dimensions.length is not None + assert target_ship_static.dimensions.width is not None + assert target_ship_static.sog_max is not None def test_read_encounter_settings_file(settings_file: Path): diff --git a/tests/test_trafficgen.py b/tests/test_trafficgen.py index 18da62a..d887476 100644 --- a/tests/test_trafficgen.py +++ b/tests/test_trafficgen.py @@ -5,15 +5,15 @@ import pytest from click.testing import CliRunner -from maritime_schema.types.caga import ( - TrafficSituation, -) from trafficgen import cli from trafficgen.read_files import ( read_generated_situation_files, ) from trafficgen.ship_traffic_generator import generate_traffic_situations +from trafficgen.types import ( + TrafficSituation, +) @pytest.fixture diff --git a/tests/test_write_files.py b/tests/test_write_files.py index c992355..a5d5195 100644 --- a/tests/test_write_files.py +++ b/tests/test_write_files.py @@ -3,14 +3,13 @@ from pathlib import Path from typing import List -from maritime_schema.types.caga import ( - TrafficSituation, -) - from trafficgen.read_files import ( read_generated_situation_files, ) from trafficgen.ship_traffic_generator import generate_traffic_situations +from trafficgen.types import ( + TrafficSituation, +) from trafficgen.write_traffic_situation_to_file import write_traffic_situations_to_json_file