{"id":"v001","input":{"text":"40°26'46\"N 79°58'56\"W"},"expect":{"result.lat.value":40.44611111111111,"result.lon.value":-79.98222222222222,"result.notation":"DMS","ok":true},"source":"add-geodesy-suite scenarios (GeographicLib values)","sourceVersion":"GeographicLib 2.x","tolerance":{"result.lat.value":{"abs":1e-12},"result.lon.value":{"abs":1e-12}}}
{"id":"v002","input":{"text":"402646N0795856W"},"expect":{"result.lat.value":40.44611111111111,"result.lon.value":-79.98222222222222,"result.notation":"packed","ok":true},"source":"add-geodesy-suite scenarios (GeographicLib values)","sourceVersion":"GeographicLib 2.x","tolerance":{"result.lat.value":{"abs":1e-12},"result.lon.value":{"abs":1e-12}}}
{"id":"v003","input":{"text":"lon: -79.98, lat: 40.45"},"expect":{"result.lat.value":40.45,"result.lon.value":-79.98,"ok":true},"source":"add-geodesy-suite scenarios (GeographicLib values)","sourceVersion":"GeographicLib 2.x","tolerance":{"result.lat.value":{"abs":1e-12},"result.lon.value":{"abs":1e-12}}}
{"id":"v004","input":{"text":"-105.27, 40.01"},"expect":{"result.lat.value":40.01,"result.lon.value":-105.27,"meta.warnings.0.code":"AMBIGUOUS_INPUT","ok":true},"source":"add-geodesy-suite scenarios (GeographicLib values)","sourceVersion":"GeographicLib 2.x","tolerance":{"result.lat.value":{"abs":1e-12},"result.lon.value":{"abs":1e-12}}}
{"id":"v005","input":{"text":"40°26'60\"N 79°58'56\"W"},"expect":{"ok":false,"error.code":"INVALID_INPUT"},"source":"add-geodesy-suite scenarios (GeographicLib values)","sourceVersion":"GeographicLib 2.x","tolerance":{}}
{"id":"v006","input":{"text":"-40.5N, 79.9W"},"expect":{"ok":false,"error.code":"INVALID_INPUT"},"source":"add-geodesy-suite scenarios (GeographicLib values)","sourceVersion":"GeographicLib 2.x","tolerance":{}}
{"id":"v007","input":{"text":"40 26.767N 79 58.933W"},"expect":{"result.lat.value":40.44611666666667,"result.notation":"DDM","ok":true},"source":"Exact arithmetic","sourceVersion":"definition","tolerance":{"result.lat.value":{"abs":1e-12}}}
{"id":"v008","input":{"text":"38° 53′ 23″ N, 77° 00′ 32″ W"},"expect":{"result.lat.value":38.8897,"result.lon.value":-77.0089,"ok":true},"source":"Wikipedia, Decimal degrees (worked example)","sourceVersion":"retrieved 2026-09-19","tolerance":{"result.lat.value":{"abs":5e-05},"result.lon.value":{"abs":5e-05}}}
{"id":"v009","input":{"text":"21°4'34.13\" -139°35'55.91\""},"expect":{"result.lat.value":21.07614722222222,"result.lon.value":-139.5988638888889,"ok":true},"source":"Regressions found by core/crates/gp-geodesy/tests/parse_parity.rs (tools/vectors/gen_parse_diff.py)","sourceVersion":"2026-09-19","tolerance":{"result.lat.value":{"abs":1e-09},"result.lon.value":{"abs":1e-09}}}
{"id":"v010","input":{"text":"30 34 14.3 N 1 25 23.9 E"},"expect":{"result.lat.value":30.57063888888889,"result.lon.value":1.4233055555555556,"ok":true},"source":"Regressions found by core/crates/gp-geodesy/tests/parse_parity.rs (tools/vectors/gen_parse_diff.py)","sourceVersion":"2026-09-19","tolerance":{"result.lat.value":{"abs":1e-09},"result.lon.value":{"abs":1e-09}}}
{"id":"v011","input":{"text":"3 41 7.5 S 151 22 45.1 W"},"expect":{"result.lat.value":-3.685416666666667,"result.lon.value":-151.37919444444444,"ok":true},"source":"Regressions found by core/crates/gp-geodesy/tests/parse_parity.rs (tools/vectors/gen_parse_diff.py)","sourceVersion":"2026-09-19","tolerance":{"result.lat.value":{"abs":1e-09},"result.lon.value":{"abs":1e-09}}}
{"id":"v012","input":{"text":"5.12345N 7.54321E"},"expect":{"result.lat.value":5.12345,"result.lon.value":7.54321,"ok":true},"source":"Regressions found by core/crates/gp-geodesy/tests/parse_parity.rs (tools/vectors/gen_parse_diff.py)","sourceVersion":"2026-09-19","tolerance":{"result.lat.value":{"abs":1e-09},"result.lon.value":{"abs":1e-09}}}
{"id":"v013","input":{"text":"-16.445249, 15.101529"},"expect":{"result.lat.value":-16.445249,"result.lon.value":15.101529,"ok":true},"source":"Strings written by tools/vectors/gen_parse_diff.py from integer degrees, minutes, and seconds","sourceVersion":"seed 44","tolerance":{"result.lat.value":{"abs":1e-09},"result.lon.value":{"abs":1e-09}}}
{"id":"v014","input":{"text":"-61.284063, -164.777364"},"expect":{"result.lat.value":-61.284063,"result.lon.value":-164.777364,"ok":true},"source":"Strings written by tools/vectors/gen_parse_diff.py from integer degrees, minutes, and seconds","sourceVersion":"seed 44","tolerance":{"result.lat.value":{"abs":1e-09},"result.lon.value":{"abs":1e-09}}}
{"id":"v015","input":{"text":"-55.316822, 34.529017"},"expect":{"result.lat.value":-55.316822,"result.lon.value":34.529017,"ok":true},"source":"Strings written by tools/vectors/gen_parse_diff.py from integer degrees, minutes, and seconds","sourceVersion":"seed 44","tolerance":{"result.lat.value":{"abs":1e-09},"result.lon.value":{"abs":1e-09}}}
{"id":"v016","input":{"text":"8.944648, -85.555968"},"expect":{"result.lat.value":8.944648,"result.lon.value":-85.555968,"ok":true},"source":"Strings written by tools/vectors/gen_parse_diff.py from integer degrees, minutes, and seconds","sourceVersion":"seed 44","tolerance":{"result.lat.value":{"abs":1e-09},"result.lon.value":{"abs":1e-09}}}
{"id":"v017","input":{"text":"30.087928, -179.187704"},"expect":{"result.lat.value":30.087928,"result.lon.value":-179.187704,"ok":true},"source":"Strings written by tools/vectors/gen_parse_diff.py from integer degrees, minutes, and seconds","sourceVersion":"seed 44","tolerance":{"result.lat.value":{"abs":1e-09},"result.lon.value":{"abs":1e-09}}}
{"id":"v018","input":{"text":"-7.808266, -7.734403"},"expect":{"result.lat.value":-7.808266,"result.lon.value":-7.734403,"ok":true},"source":"Strings written by tools/vectors/gen_parse_diff.py from integer degrees, minutes, and seconds","sourceVersion":"seed 44","tolerance":{"result.lat.value":{"abs":1e-09},"result.lon.value":{"abs":1e-09}}}
{"id":"v019","input":{"text":"12.428934, -107.206301"},"expect":{"result.lat.value":12.428934,"result.lon.value":-107.206301,"ok":true},"source":"Strings written by tools/vectors/gen_parse_diff.py from integer degrees, minutes, and seconds","sourceVersion":"seed 44","tolerance":{"result.lat.value":{"abs":1e-09},"result.lon.value":{"abs":1e-09}}}
{"id":"v020","input":{"text":"83.940685, 67.883410"},"expect":{"result.lat.value":83.940685,"result.lon.value":67.88341,"ok":true},"source":"Strings written by tools/vectors/gen_parse_diff.py from integer degrees, minutes, and seconds","sourceVersion":"seed 44","tolerance":{"result.lat.value":{"abs":1e-09},"result.lon.value":{"abs":1e-09}}}
{"id":"v021","input":{"text":"-72.734216, -122.583368"},"expect":{"result.lat.value":-72.734216,"result.lon.value":-122.583368,"ok":true},"source":"Strings written by tools/vectors/gen_parse_diff.py from integer degrees, minutes, and seconds","sourceVersion":"seed 44","tolerance":{"result.lat.value":{"abs":1e-09},"result.lon.value":{"abs":1e-09}}}
{"id":"v022","input":{"text":"20.642458, 134.953136"},"expect":{"result.lat.value":20.642458,"result.lon.value":134.953136,"ok":true},"source":"Strings written by tools/vectors/gen_parse_diff.py from integer degrees, minutes, and seconds","sourceVersion":"seed 44","tolerance":{"result.lat.value":{"abs":1e-09},"result.lon.value":{"abs":1e-09}}}
