{"id":"v001","input":{"lat":39.8617,"lon":-104.6731,"radii":[{"radius":"18520.0 m"},{"radius":"46300.0 m"},{"radius":"92600.0 m"}],"points":144},"expect":{"result.ring_count":3,"result.summary.0.area.value":1077.1934850568,"result.summary.1.area.value":6732.4344886178,"result.summary.2.area.value":26929.383771258,"ok":true},"source":"Ring points by GeodSolve and areas by Planimeter (GeographicLib, C++), via tools/vectors/gen_rings.py","sourceVersion":"GeodSolve: GeographicLib version 2.7","tolerance":{"result.ring_count":{"rel":1e-09,"abs":1e-09},"result.summary.0.area.value":{"rel":1e-09,"abs":1e-09},"result.summary.1.area.value":{"rel":1e-09,"abs":1e-09},"result.summary.2.area.value":{"rel":1e-09,"abs":1e-09}}}
{"id":"v002","input":{"lat":51.47,"lon":-0.4543,"radii":[{"radius":"5000 m"},{"radius":"20000 m"}],"points":90},"expect":{"result.ring_count":2,"result.summary.0.area.value":78.4760289786,"result.summary.1.area.value":1255.6155075967,"ok":true},"source":"Ring points by GeodSolve and areas by Planimeter (GeographicLib, C++), via tools/vectors/gen_rings.py","sourceVersion":"GeodSolve: GeographicLib version 2.7","tolerance":{"result.ring_count":{"rel":1e-09,"abs":1e-09},"result.summary.0.area.value":{"rel":1e-09,"abs":1e-09},"result.summary.1.area.value":{"rel":1e-09,"abs":1e-09}}}
{"id":"v003","input":{"lat":-33.9461,"lon":151.1772,"radii":[{"radius":"100000 m"}],"points":180},"expect":{"result.ring_count":1,"result.summary.0.area.value":31408.9031642068,"ok":true},"source":"Ring points by GeodSolve and areas by Planimeter (GeographicLib, C++), via tools/vectors/gen_rings.py","sourceVersion":"GeodSolve: GeographicLib version 2.7","tolerance":{"result.ring_count":{"rel":1e-09,"abs":1e-09},"result.summary.0.area.value":{"rel":1e-09,"abs":1e-09}}}
{"id":"v004","input":{"lat":0.0,"lon":179.5,"radii":[{"radius":"150000 m"}],"points":120},"expect":{"result.ring_count":1,"result.summary.0.area.value":70650.276047388,"ok":true},"source":"Ring points by GeodSolve and areas by Planimeter (GeographicLib, C++), via tools/vectors/gen_rings.py","sourceVersion":"GeodSolve: GeographicLib version 2.7","tolerance":{"result.ring_count":{"rel":1e-09,"abs":1e-09},"result.summary.0.area.value":{"rel":1e-09,"abs":1e-09}}}
{"id":"v005","input":{"lat":85.0,"lon":30.0,"radii":[{"radius":"1500000 m"}],"points":360},"expect":{"result.ring_count":1,"result.summary.0.area.value":7035930.468137656,"ok":true},"source":"Ring points by GeodSolve and areas by Planimeter (GeographicLib, C++), via tools/vectors/gen_rings.py","sourceVersion":"GeodSolve: GeographicLib version 2.7","tolerance":{"result.ring_count":{"rel":1e-09,"abs":1e-09},"result.summary.0.area.value":{"rel":1e-09,"abs":1e-09}}}
{"id":"v006","input":{"lat":-89.0,"lon":0.0,"radii":[{"radius":"300000 m"}],"points":72},"expect":{"result.ring_count":1,"result.summary.0.area.value":282333.4869664688,"ok":true},"source":"Ring points by GeodSolve and areas by Planimeter (GeographicLib, C++), via tools/vectors/gen_rings.py","sourceVersion":"GeodSolve: GeographicLib version 2.7","tolerance":{"result.ring_count":{"rel":1e-09,"abs":1e-09},"result.summary.0.area.value":{"rel":1e-09,"abs":1e-09}}}
{"id":"v007","input":{"lat":64.8,"lon":-147.9,"radii":[{"radius":"250000 m"},{"radius":"750000 m"}],"points":240},"expect":{"result.ring_count":2,"result.summary.0.area.value":196302.1107258703,"result.summary.1.area.value":1764919.652301313,"ok":true},"source":"Ring points by GeodSolve and areas by Planimeter (GeographicLib, C++), via tools/vectors/gen_rings.py","sourceVersion":"GeodSolve: GeographicLib version 2.7","tolerance":{"result.ring_count":{"rel":1e-09,"abs":1e-09},"result.summary.0.area.value":{"rel":1e-09,"abs":1e-09},"result.summary.1.area.value":{"rel":1e-09,"abs":1e-09}}}
{"id":"v008","input":{"lat":85,"lon":30,"radii":[{"radius":"1500 km"}]},"expect":{"result.summary.0.pole":"north","meta.warnings.1.code":"POLE_ENCLOSED","ok":true},"source":"add-navigation-and-geometry scenarios","sourceVersion":"2026","tolerance":{},"supersededBy":"v018","reason":"dropping EXPERIMENTAL_TOOL on promotion shifted the warning index; the expectation now names the code instead of its position"}
{"id":"v009","input":{"lat":0,"lon":179.5,"radii":[{"radius":"150 km"}]},"expect":{"result.summary.0.crosses_antimeridian":"yes","result.summary.0.pole":"none","ok":true},"source":"add-navigation-and-geometry scenarios","sourceVersion":"2026","tolerance":{}}
{"id":"v010","input":{"lat":40,"lon":-105,"radii":[{"radius":"0 m"}]},"expect":{"ok":false,"error.code":"OUT_OF_DOMAIN"},"source":"add-navigation-and-geometry scenarios","sourceVersion":"2026","tolerance":{}}
{"id":"v011","input":{"lat":40,"lon":-105,"radii":[{"radius":"20000 km"}]},"expect":{"ok":false,"error.code":"OUT_OF_DOMAIN"},"source":"add-navigation-and-geometry scenarios","sourceVersion":"2026","tolerance":{}}
{"id":"v018","input":{"lat":85,"lon":30,"radii":[{"radius":"1500 km"}]},"expect":{"result.summary.0.pole":"north","ok":true,"meta.warnings.*.code":"POLE_ENCLOSED"},"source":"add-navigation-and-geometry scenarios","sourceVersion":"2026","tolerance":{}}
{"id":"v012","input":{"lat":40.6413,"lon":-73.7781,"radii":[{"radius":"100000.0 m"}],"points":144},"expect":{"ok":true,"result.ring_count":1.0,"result.summary.0.area.value":31405.3167408},"source":"GeographicLib's GeodSolve, called per quantity (tools/vectors/gen_nav_geodesic.py)","sourceVersion":"GeographicLib 2.7","tolerance":{"result.ring_count":{"abs":0},"result.summary.0.area.value":{"rel":1e-06}}}
{"id":"v013","input":{"lat":0.0,"lon":0.0,"radii":[{"radius":"1000000.0 m"},{"radius":"2000000.0 m"}],"points":144},"expect":{"ok":true,"result.ring_count":2.0,"result.summary.0.area.value":3134142.98979,"result.summary.1.area.value":12459395.927913401},"source":"GeographicLib's GeodSolve, called per quantity (tools/vectors/gen_nav_geodesic.py)","sourceVersion":"GeographicLib 2.7","tolerance":{"result.ring_count":{"abs":0},"result.summary.0.area.value":{"rel":1e-06},"result.summary.1.area.value":{"rel":1e-06}}}
{"id":"v014","input":{"lat":-33.8688,"lon":151.2093,"radii":[{"radius":"50000.0 m"},{"radius":"100000.0 m"},{"radius":"200000.0 m"}],"points":144},"expect":{"ok":true,"result.ring_count":3.0,"result.summary.0.area.value":7851.4495291,"result.summary.1.area.value":31405.3157606,"result.summary.2.area.value":125613.54558139999},"source":"GeographicLib's GeodSolve, called per quantity (tools/vectors/gen_nav_geodesic.py)","sourceVersion":"GeographicLib 2.7","tolerance":{"result.ring_count":{"abs":0},"result.summary.0.area.value":{"rel":1e-06},"result.summary.1.area.value":{"rel":1e-06},"result.summary.2.area.value":{"rel":1e-06}}}
{"id":"v015","input":{"lat":89.0,"lon":0.0,"radii":[{"radius":"100000.0 m"}],"points":144},"expect":{"ok":true,"result.ring_count":1.0,"result.summary.0.area.value":31405.3216927},"source":"GeographicLib's GeodSolve, called per quantity (tools/vectors/gen_nav_geodesic.py)","sourceVersion":"GeographicLib 2.7","tolerance":{"result.ring_count":{"abs":0},"result.summary.0.area.value":{"rel":1e-06}}}
{"id":"v016","input":{"lat":51.5074,"lon":-0.1278,"radii":[{"radius":"46300.0 m"}],"points":144},"expect":{"ok":true,"result.ring_count":1.0,"result.summary.0.area.value":6732.4345685},"source":"GeographicLib's GeodSolve, called per quantity (tools/vectors/gen_nav_geodesic.py)","sourceVersion":"GeographicLib 2.7","tolerance":{"result.ring_count":{"abs":0},"result.summary.0.area.value":{"rel":1e-06}}}
{"id":"v017","input":{"lat":-60.0,"lon":-60.0,"radii":[{"radius":"25000.0 m"},{"radius":"75000.0 m"}],"points":144},"expect":{"ok":true,"result.ring_count":2.0,"result.summary.0.area.value":1962.8699339000002,"result.summary.1.area.value":17665.649585900002},"source":"GeographicLib's GeodSolve, called per quantity (tools/vectors/gen_nav_geodesic.py)","sourceVersion":"GeographicLib 2.7","tolerance":{"result.ring_count":{"abs":0},"result.summary.0.area.value":{"rel":1e-06},"result.summary.1.area.value":{"rel":1e-06}}}
{"id": "v019", "input": {"lat": 19.4326, "lon": -99.1332, "radii": [{"radius": "10000.0 m"}], "points": 144}, "expect": {"ok": true, "result.ring_count": 1.0, "result.summary.0.area.value": 314.0595245}, "source": "GeographicLib's GeodSolve, called per quantity (tools/vectors/gen_nav_geodesic.py)", "sourceVersion": "GeographicLib 2.7", "tolerance": {"result.ring_count": {"abs": 0}, "result.summary.0.area.value": {"rel": 1e-06}}}
{"id": "v020", "input": {"lat": 78.2232, "lon": 15.6267, "radii": [{"radius": "300000.0 m"}], "points": 144}, "expect": {"ok": true, "result.ring_count": 1.0, "result.summary.0.area.value": 282601.9903432}, "source": "GeographicLib's GeodSolve, called per quantity (tools/vectors/gen_nav_geodesic.py)", "sourceVersion": "GeographicLib 2.7", "tolerance": {"result.ring_count": {"abs": 0}, "result.summary.0.area.value": {"rel": 1e-06}}}
{"id": "v021", "input": {"lat": -41.2865, "lon": 174.7762, "radii": [{"radius": "150000.0 m"}, {"radius": "400000.0 m"}], "points": 144}, "expect": {"ok": true, "result.ring_count": 2.0, "result.summary.0.area.value": 70660.1571041, "result.summary.1.area.value": 502330.99296420004}, "source": "GeographicLib's GeodSolve, called per quantity (tools/vectors/gen_nav_geodesic.py)", "sourceVersion": "GeographicLib 2.7", "tolerance": {"result.ring_count": {"abs": 0}, "result.summary.0.area.value": {"rel": 1e-06}, "result.summary.1.area.value": {"rel": 1e-06}}}
{"id": "v022", "input": {"lat": 0.0, "lon": 179.5, "radii": [{"radius": "80000.0 m"}], "points": 144}, "expect": {"ok": true, "result.ring_count": 1.0, "result.summary.0.area.value": 20099.5491673}, "source": "GeographicLib's GeodSolve, called per quantity (tools/vectors/gen_nav_geodesic.py)", "sourceVersion": "GeographicLib 2.7", "tolerance": {"result.ring_count": {"abs": 0}, "result.summary.0.area.value": {"rel": 1e-06}}}
