{"id":"v001","input":{"lat":40.0,"lon":-70.0,"speed":"20 kt","target_lat":40.1665,"target_lon":-70.0,"target_course":"90 deg","target_speed":"12 kt"},"expect":{"result.course.value":36.869957888744516,"result.time.value":37.4342296427156,"result.distance.value":23109.3977661031,"result.meet_lat.value":40.16638559261859,"result.meet_lon.value":-69.83723137200228,"ok":true},"source":"GeographicLib IntersectTool, GeodSolve, and RhumbSolve (tools/vectors/gen_intersect.py)","sourceVersion":"GeodSolve: GeographicLib version 2.7","tolerance":{"result.course.value":{"rel":0,"abs":1e-06},"result.time.value":{"rel":0,"abs":1e-05},"result.distance.value":{"rel":0,"abs":0.01},"result.meet_lat.value":{"rel":0,"abs":1e-06},"result.meet_lon.value":{"rel":0,"abs":1e-06}}}
{"id":"v002","input":{"lat":36.0,"lon":-5.0,"speed":"15 kt","target_lat":36.3,"target_lon":-4.5,"target_course":"200 deg","target_speed":"10 kt"},"expect":{"result.course.value":75.03996739195429,"result.time.value":81.45056408241811,"result.distance.value":37711.6111701592,"result.meet_lat.value":36.087053317871266,"result.meet_lon.value":-4.595473092891879,"ok":true},"source":"GeographicLib IntersectTool, GeodSolve, and RhumbSolve (tools/vectors/gen_intersect.py)","sourceVersion":"GeodSolve: GeographicLib version 2.7","tolerance":{"result.course.value":{"rel":0,"abs":1e-06},"result.time.value":{"rel":0,"abs":1e-05},"result.distance.value":{"rel":0,"abs":0.01},"result.meet_lat.value":{"rel":0,"abs":1e-06},"result.meet_lon.value":{"rel":0,"abs":1e-06}}}
{"id":"v003","input":{"lat":0.0,"lon":0.0,"speed":"30 kt","target_lat":0.5,"target_lon":0.5,"target_course":"315 deg","target_speed":"25 kt"},"expect":{"result.course.value":348.7469595858429,"result.time.value":152.47815170062853,"result.distance.value":141194.768474782,"result.meet_lat.value":1.252367537679885,"result.meet_lon.value":-0.24755270314028,"ok":true},"source":"GeographicLib IntersectTool, GeodSolve, and RhumbSolve (tools/vectors/gen_intersect.py)","sourceVersion":"GeodSolve: GeographicLib version 2.7","tolerance":{"result.course.value":{"rel":0,"abs":1e-06},"result.time.value":{"rel":0,"abs":1e-05},"result.distance.value":{"rel":0,"abs":0.01},"result.meet_lat.value":{"rel":0,"abs":1e-06},"result.meet_lon.value":{"rel":0,"abs":1e-06}}}
{"id":"v004","input":{"lat":55.0,"lon":10.0,"speed":"8 kt","target_lat":55.05,"target_lon":10.05,"target_course":"0 deg","target_speed":"0 kt"},"expect":{"result.course.value":29.856382164463863,"result.time.value":25.996259289345836,"result.distance.value":6419.3429605158,"result.meet_lat.value":55.05,"result.meet_lon.value":10.05,"ok":true},"source":"GeographicLib IntersectTool, GeodSolve, and RhumbSolve (tools/vectors/gen_intersect.py)","sourceVersion":"GeodSolve: GeographicLib version 2.7","tolerance":{"result.course.value":{"rel":0,"abs":1e-06},"result.time.value":{"rel":0,"abs":1e-05},"result.distance.value":{"rel":0,"abs":0.01},"result.meet_lat.value":{"rel":0,"abs":1e-06},"result.meet_lon.value":{"rel":0,"abs":1e-06}}}
{"id":"v005","input":{"lat":40.0,"lon":-70.0,"speed":"10 kt","target_lat":40.1665,"target_lon":-70.0,"target_course":"0 deg","target_speed":"12 kt"},"expect":{"ok":false,"error.code":"NO_SOLUTION"},"source":"add-navigation-and-geometry route-geometry scenarios (unreachable: the target opens faster than the pursuer closes)","sourceVersion":"GeodSolve: GeographicLib version 2.7","tolerance":{}}
{"id": "v006", "input": {"lat": 40.0, "lon": -70.0, "speed": "25 kt", "target_lat": 40.3, "target_lon": -70.0, "target_course": "90 deg", "target_speed": "12 kt"}, "expect": {"ok": true, "result.course.value": 28.68554469719432, "result.time.value": 49.207141198225145, "result.distance.value": 37971.5106246289, "result.meet_lat.value": 40.299801385527104, "result.meet_lon.value": -69.7856209383503}, "source": "GeographicLib's GeodSolve: the intercept time found by bracketing and bisecting range(t) - v.t (tools/vectors/gen_nav_route.py)", "sourceVersion": "GeographicLib 2.7", "tolerance": {"result.course.value": {"abs": 1e-06}, "result.time.value": {"abs": 1e-05}, "result.distance.value": {"abs": 0.01}, "result.meet_lat.value": {"abs": 1e-08}, "result.meet_lon.value": {"abs": 1e-08}}}
{"id": "v007", "input": {"lat": 36.0, "lon": -5.0, "speed": "18 kt", "target_lat": 36.3, "target_lon": -4.5, "target_course": "200 deg", "target_speed": "10 kt"}, "expect": {"ok": true, "result.course.value": 71.28954250083248, "result.time.value": 71.2510297175977, "result.distance.value": 39587.0721115985, "result.meet_lat.value": 36.11372385161553, "result.meet_lon.value": -4.58354587875632}, "source": "GeographicLib's GeodSolve: the intercept time found by bracketing and bisecting range(t) - v.t (tools/vectors/gen_nav_route.py)", "sourceVersion": "GeographicLib 2.7", "tolerance": {"result.course.value": {"abs": 1e-06}, "result.time.value": {"abs": 1e-05}, "result.distance.value": {"abs": 0.01}, "result.meet_lat.value": {"abs": 1e-08}, "result.meet_lon.value": {"abs": 1e-08}}}
{"id": "v008", "input": {"lat": 0.0, "lon": 0.0, "speed": "30 kt", "target_lat": 0.5, "target_lon": 0.5, "target_course": "45 deg", "target_speed": "15 kt"}, "expect": {"ok": true, "result.course.value": 45.094565680086916, "result.time.value": 169.44065724392567, "result.distance.value": 156902.0486078773, "result.meet_lat.value": 1.001656846103838, "result.meet_lon.value": 0.998394021455742}, "source": "GeographicLib's GeodSolve: the intercept time found by bracketing and bisecting range(t) - v.t (tools/vectors/gen_nav_route.py)", "sourceVersion": "GeographicLib 2.7", "tolerance": {"result.course.value": {"abs": 1e-06}, "result.time.value": {"abs": 1e-05}, "result.distance.value": {"abs": 0.01}, "result.meet_lat.value": {"abs": 1e-08}, "result.meet_lon.value": {"abs": 1e-08}}}
{"id": "v009", "input": {"lat": 50.0, "lon": -1.0, "speed": "22 kt", "target_lat": 50.2, "target_lon": -0.5, "target_course": "270 deg", "target_speed": "8 kt"}, "expect": {"ok": true, "result.course.value": 46.921578864059924, "result.time.value": 48.0511746064949, "result.distance.value": 32629.9509694488, "result.meet_lat.value": 50.19988114512402, "result.meet_lon.value": -0.666187230076638}, "source": "GeographicLib's GeodSolve: the intercept time found by bracketing and bisecting range(t) - v.t (tools/vectors/gen_nav_route.py)", "sourceVersion": "GeographicLib 2.7", "tolerance": {"result.course.value": {"abs": 1e-06}, "result.time.value": {"abs": 1e-05}, "result.distance.value": {"abs": 0.01}, "result.meet_lat.value": {"abs": 1e-08}, "result.meet_lon.value": {"abs": 1e-08}}}
{"id": "v010", "input": {"lat": -33.0, "lon": 151.5, "speed": "28 kt", "target_lat": -33.4, "target_lon": 152.0, "target_course": "315 deg", "target_speed": "14 kt"}, "expect": {"ok": true, "result.course.value": 132.9359764969865, "result.time.value": 49.65057183520548, "result.distance.value": 42911.3342181024, "result.meet_lat.value": -33.26310296981433, "result.meet_lon.value": 151.83717238979267}, "source": "GeographicLib's GeodSolve: the intercept time found by bracketing and bisecting range(t) - v.t (tools/vectors/gen_nav_route.py)", "sourceVersion": "GeographicLib 2.7", "tolerance": {"result.course.value": {"abs": 1e-06}, "result.time.value": {"abs": 1e-05}, "result.distance.value": {"abs": 0.01}, "result.meet_lat.value": {"abs": 1e-08}, "result.meet_lon.value": {"abs": 1e-08}}}
{"id": "v011", "input": {"lat": 35.0, "lon": 139.8, "speed": "40 kt", "target_lat": 35.3, "target_lon": 140.2, "target_course": "180 deg", "target_speed": "20 kt"}, "expect": {"ok": true, "result.course.value": 69.19379574507651, "result.time.value": 31.590269036278187, "result.distance.value": 39003.452170129, "result.meet_lat.value": 35.12422082753492, "result.meet_lon.value": 140.2}, "source": "GeographicLib's GeodSolve: the intercept time found by bracketing and bisecting range(t) - v.t (tools/vectors/gen_nav_route.py)", "sourceVersion": "GeographicLib 2.7", "tolerance": {"result.course.value": {"abs": 1e-06}, "result.time.value": {"abs": 1e-05}, "result.distance.value": {"abs": 0.01}, "result.meet_lat.value": {"abs": 1e-08}, "result.meet_lon.value": {"abs": 1e-08}}}
{"id": "v012", "input": {"lat": 25.0, "lon": -80.0, "speed": "35 kt", "target_lat": 25.5, "target_lon": -79.5, "target_course": "135 deg", "target_speed": "18 kt"}, "expect": {"ok": true, "result.course.value": 73.09319355529202, "result.time.value": 78.63030563556094, "result.distance.value": 84946.9401882793, "result.meet_lat.value": 25.220822272966785, "result.meet_lon.value": -79.19344437415262}, "source": "GeographicLib's GeodSolve: the intercept time found by bracketing and bisecting range(t) - v.t (tools/vectors/gen_nav_route.py)", "sourceVersion": "GeographicLib 2.7", "tolerance": {"result.course.value": {"abs": 1e-06}, "result.time.value": {"abs": 1e-05}, "result.distance.value": {"abs": 0.01}, "result.meet_lat.value": {"abs": 1e-08}, "result.meet_lon.value": {"abs": 1e-08}}}
{"id": "v013", "input": {"lat": 60.0, "lon": 5.0, "speed": "16 kt", "target_lat": 60.2, "target_lon": 5.5, "target_course": "225 deg", "target_speed": "6 kt"}, "expect": {"ok": true, "result.course.value": 53.52593378900278, "result.time.value": 52.61165361795429, "result.distance.value": 25983.1420001173, "result.meet_lat.value": 60.13810277663221, "result.meet_lon.value": 5.376009325218353}, "source": "GeographicLib's GeodSolve: the intercept time found by bracketing and bisecting range(t) - v.t (tools/vectors/gen_nav_route.py)", "sourceVersion": "GeographicLib 2.7", "tolerance": {"result.course.value": {"abs": 1e-06}, "result.time.value": {"abs": 1e-05}, "result.distance.value": {"abs": 0.01}, "result.meet_lat.value": {"abs": 1e-08}, "result.meet_lon.value": {"abs": 1e-08}}}
{"id": "v014", "input": {"lat": -20.0, "lon": 57.5, "speed": "24 kt", "target_lat": -19.7, "target_lon": 58.0, "target_course": "250 deg", "target_speed": "11 kt"}, "expect": {"ok": true, "result.course.value": 52.0283073979186, "result.time.value": 58.02862755936076, "result.distance.value": 42987.6072959694, "result.meet_lat.value": -19.760786052851667, "result.meet_lon.value": 57.823342694587346}, "source": "GeographicLib's GeodSolve: the intercept time found by bracketing and bisecting range(t) - v.t (tools/vectors/gen_nav_route.py)", "sourceVersion": "GeographicLib 2.7", "tolerance": {"result.course.value": {"abs": 1e-06}, "result.time.value": {"abs": 1e-05}, "result.distance.value": {"abs": 0.01}, "result.meet_lat.value": {"abs": 1e-08}, "result.meet_lon.value": {"abs": 1e-08}}}
{"id": "v015", "input": {"lat": 45.0, "lon": -125.0, "speed": "32 kt", "target_lat": 45.4, "target_lon": -124.5, "target_course": "160 deg", "target_speed": "16 kt"}, "expect": {"ok": true, "result.course.value": 67.39622986055491, "result.time.value": 52.89740556359902, "result.distance.value": 52248.5307220164, "result.meet_lat.value": 45.17905660338668, "result.meet_lon.value": -124.38632433733733}, "source": "GeographicLib's GeodSolve: the intercept time found by bracketing and bisecting range(t) - v.t (tools/vectors/gen_nav_route.py)", "sourceVersion": "GeographicLib 2.7", "tolerance": {"result.course.value": {"abs": 1e-06}, "result.time.value": {"abs": 1e-05}, "result.distance.value": {"abs": 0.01}, "result.meet_lat.value": {"abs": 1e-08}, "result.meet_lon.value": {"abs": 1e-08}}}
{"id": "v016", "input": {"lat": 10.0, "lon": 100.0, "speed": "20 kt", "target_lat": 10.2, "target_lon": 100.4, "target_course": "300 deg", "target_speed": "9 kt"}, "expect": {"ok": true, "result.course.value": 41.08698047123175, "result.time.value": 67.79727314657794, "result.distance.value": 41853.516622487, "result.meet_lat.value": 10.28510378322738, "result.meet_lon.value": 100.25110074022686}, "source": "GeographicLib's GeodSolve: the intercept time found by bracketing and bisecting range(t) - v.t (tools/vectors/gen_nav_route.py)", "sourceVersion": "GeographicLib 2.7", "tolerance": {"result.course.value": {"abs": 1e-06}, "result.time.value": {"abs": 1e-05}, "result.distance.value": {"abs": 0.01}, "result.meet_lat.value": {"abs": 1e-08}, "result.meet_lon.value": {"abs": 1e-08}}}
{"id": "v017", "input": {"lat": -45.0, "lon": 170.0, "speed": "26 kt", "target_lat": -44.7, "target_lon": 170.5, "target_course": "30 deg", "target_speed": "13 kt"}, "expect": {"ok": true, "result.course.value": 40.33727022274893, "result.time.value": 125.12815013061481, "result.distance.value": 100419.5114181546, "result.meet_lat.value": -44.30825701950705, "result.meet_lon.value": 170.81463616051906}, "source": "GeographicLib's GeodSolve: the intercept time found by bracketing and bisecting range(t) - v.t (tools/vectors/gen_nav_route.py)", "sourceVersion": "GeographicLib 2.7", "tolerance": {"result.course.value": {"abs": 1e-06}, "result.time.value": {"abs": 1e-05}, "result.distance.value": {"abs": 0.01}, "result.meet_lat.value": {"abs": 1e-08}, "result.meet_lon.value": {"abs": 1e-08}}}
